|
|
UDI_BUF_DUP(3udi)
Copy a logical buffer in its entirety
#include <udi.h>#define \ UDI_BUF_DUP( \ callback, gcb, src_buf, path_handle) \ udi_buf_copy(callback, gcb, src_buf, \ 0, (src_buf)->buf_size, \ NULL, 0, 0, path_handle)ARGUMENTS callback, gcb are standard arguments described in the "Asynchronous Service Calls" section of "Calling Sequence and Naming Conventions".
src_buf is a handle to the logical buffer to copy.
path_handle is the handle identifying the intended use and dispatching of this buffer. Path handle usage is determined by the driver, but by associating the use of a specific path_handle with buffers allocated for a specific purpose, the driver allows the environment to predict and optimize the allocated buffer requirements.
DESCRIPTION UDI_BUF_DUP makes a logical copy of src_buf and passes the new buffer to the driver with a callback.
The macro UDI_BUF_DUP must be called as if it had the following functional interface, as can be derived from the above macro definition and the definition of udi_buf_copy:
void UDI_BUF_DUP ( udi_buf_copy_call_t *callback, udi_cb_t *gcb, udi_buf_t *src_buf, udi_buf_path_t path_handle ); typedef void udi_buf_copy_call_t ( udi_cb_t *gcb, udi_buf_t *new_dst_buf );