osf1 man page for esballoc

Query: esballoc

OS: osf1

Section: 9r

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

esballoc(9r)															      esballoc(9r)

NAME
esballoc - STREAMS: Allocates a message block with a shared buffer
SYNOPSIS
#include <sys/stream.h> mblk_t * esballoc( unsigned char *base, int size, int pri, frtn_t *free_rtnp );
ARGUMENTS
Specifies the address of the user-supplied data buffer. Specifies the number of bytes in the data buffer. Specifies the priority of the allocation request (to be used by the allocb interface, which esballoc calls). Specifies the free interface (routine) data structure.
DESCRIPTION
The esballoc interface creates a STREAMS message and attaches a user-supplied data buffer in place of a STREAMS data buffer. The interface calls allocb to obtain a message and data block header. The user-supplied data buffer, pointed to by the base argument, is used as the data buffer for the message. The free_rtn structure is referenced by the dp_freep member of the datab structure. When the freeb interface is called to free the mes- sage, the driver's message free interface (referenced through the free_rtn structure) is called, with arguments, to free the data buffer. The free_rtn structure is defined as follows: /* Free return structure for esballoc */ typedef struct free_rtn { void (*free_func)(char *, char *); /* Interface to free buffer */ char * free_arg; /* Parameter to free_func */ } frtn_t; Instead of requiring a specific number of arguments, the free_arg member is of type char *. This way, the driver can pass a pointer to a structure if more than one argument is needed.
NOTES
The free_func interface must be defined in kernel space and should be declared void. It has no user context and must not sleep.
RETURN VALUES
Upon successful completion, the esballoc interface returns a pointer to the newly allocated message block. This message block is of type struct msgb *. The msgb data structure is defined in the /usr/sys/include/sys/stream.h file. On failure, esballoc returns a NULL pointer.
SEE ALSO
Kernel Interfaces: allocb(9r), freeb(9r) Programmer's Guide: STREAMS esballoc(9r)
Related Man Pages
esballoc(9f) - opensolaris
esballoc(9r) - osf1
esballoc(9f) - linux
esballoc(9f) - hpux
esballoc(9f) - mojave
Similar Topics in the Unix Linux Community
Throw my Toys out of the Pram!
Low Impact PHP Errors and Logging Levels
PHP Write Man Pages to MySQL DB
Denial Of Service Attack Update