Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
ACC Programmer's Reference Guide > Chapter 4 ZCOM C I/F Library Routines

LTQDPUT (3X)

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

ltqdput - Store data buffer in terminal data queue

SYNOPSIS

#include <zcom/zcomsys.h>
#include <zcom/zcomcall.h> /* if compiled with ANSI C (recommended) */

int32 ltqdput (zap, queue, ibuf, len)

zaddr_type *zap;
uint32 queue;
char *ibuf;
int32 len;

DESCRIPTION

Routine ltqdput stores a data message in the data queue of the logical terminal tables. It links the message to the end of the specified queue. Retrieval occurs on a First-In-First-Out basis. See the man page for ltqdget on how to retrieve a message in the data queue.

The data queue is designed to store a relatively large or unpredictable amount of terminal data in FIFO order. When compared to logical data storage (refer to zltstore and zltup), the data queues allow terminal data to be stored dynamically, that is, memory is used only when data is stored. However, it is penalized by incurring more processing overhead during data update and retrieval. In addition, access is restricted to a FIFO order.

The libraries libzcom_c.a and libpthread.a must be linked into the calling program by giving the options "-lzx25 -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.

fork unsafe

It cannot be called by a child process after fork(2) but before exec(2).

PARAMETERS

zap

ZCOM address of the terminal ZLU to store data into.

queue

Terminal data queue number (specifies which data queue is to be used):

0 - Sub-packet holding queue (reserved)
1 - Data holding queue A
2 - Data holding queue B
3 - Data holding queue C
4 - Data holding queue D

ibuf

Data buffer to be stored.

len

Length in bytes of ibuf.

NOTES

Normally, the data queue number used should be allocated by ZMON (see the man page for zltqueue on how to get a data queue number). There is no queue ownership validation within this routine; it is up to the user to make sure that the queue usage is valid and consistent.

RETURN VALUE

Routine ltqdput returns 0 if successful. Otherwise, a non-zero error code is returned. See /opt/acc/include/zcom/zcomsys.h for the list of ZCOM error codes and their meanings.

EXAMPLE

#include        <zcom/zcomsys.h>
#include <zcom/zcomcall.h>

int32 ierr;
zaddr_type zaddr;
uint32 queue;
char ibuf[size];
int32 len;

if (ierr = ltqdput (&zaddr, queue, ibuf, len)) {
/* error return code */
}
else {
/* good return code */
}

FILES

/opt/acc/include/zcom/zcomsys.h

ZCOM subsystem general include file, containing data types, data structures, constants, error codes, masks, etc. Note that this must be the first include file before any other ZCOM include files.

/opt/acc/include/zcom/zcomcall.h

ZCOM routine function prototypes (requires ANSI C compilation).

SEE ALSO

ltqdget(3X), zltqueue(3X), zltstore(3X), zltup(3X)

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2000 Hewlett-Packard Development Company, L.P.