udi_buf_tag_set(3udi)
Sets a tag for a portion of buffer data
#include <udi.h>void udi_buf_tag_set ( udi_buf_tag_set_call_t *callback, udi_cb_t *gcb, udi_buf_t *buf, udi_buf_tag *tag_array, udi_ubit16_t tag_array_length ); typedef void udi_buf_tag_set_call_t ( udi_cb_t *gcb, udi_buf_t *new_buf );ARGUMENTS callback, gcb are standard arguments described in the "Asynchronous Service Calls" section of "Calling Sequence and Naming Conventions".
buf is the buffer for which the new tag is to be set.
tag_array is a pointer to an array of udi_buf_tag_t structures that are to be set in the current buffer.
tag_array_length is the number of entries in the tag_array.
new_buf is a pointer to the buffer with the new tag value set.
DESCRIPTION The udi_buf_tag_set operation is used to set one or more tags for the associated buffer. The tags to be set are specified in the tag_array and each tag will be set individually. If a tag in the input array is not a driver-specific tag and matches an existing buffer tag of the same type, offset, and length, the tag_value from the input array replaces the current tag value and the tag is otherwise unchanged. If no exactly matching type, offset, and length tag already exists for the buffer, a new tag will be created from the information in the array element.
The range specified by the tag offset and length must consist entirely of valid data.
WARNINGS Control block usage must follow the rules described in the "Asynchronous Service Calls" section of "Calling Sequence and Naming Conventions".
On successful completion, buf will no longer be valid and new_buf must be used instead.