UDI_BUF_DUP(3udi)


Copy a logical buffer in its entirety

SYNOPSIS

#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 );
 

REFERENCES udi_buf_copy


UDI Core Specification Contents