esballoc man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

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-sup‐
       plied 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  mem‐
       ber  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)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net