Reference Guide

ZCOM C I/F Library Routines
ZREAD (3X)
Chapter 4296
ZREAD (3X)
NAME zread – Read from ZLU
SYNOPSIS
#include <zcom/zcomsys.h>
#include <zcom/zcomcall.h> /* if compiled with ANSI C (recommended) */
int32 zread (zap, mode, mhp, ibuf, len, rlen, rstat)
zaddr_type *zap;
uint32 mode;
zmhd_type *mhp;
char *ibuf;
int32 len;
int32 *rlen;
int32 *rstat;
DESCRIPTION Routine zread fetches the next message from the head of a program ZLU
queue. The program has the option to wait (i.e., suspend) if there is no
data on the queue specified. The actual length of the data message is
returned in rlen.
This routine is similar to zpeek(3X) except it removes the message after
fetching it.
The libraries libzcom_c.a and libpthread.a must be linked into the calling
program by giving the options “-lzcom_c -lpthread” to cc(1) or ld(1).
Threads
Considerations
This routine may be called from a multi-threaded application using the
POSIX (1003.1c) kernel threads API package. This routine has the
following characteristics when called by a multi-threaded application:
cancellation point Thread cancellation can occur when a thread
calls this routine.
async-cancel unsafe The calling thread’s cancelability type must be
PTHREAD_CANCEL_DEFERRED if
cancellation is enabled.
async-signal unsafe It cannot be called from a signal handler.