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

ZINIT (3X)

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

zinit - ZCOM routine initialization

SYNOPSIS

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

int32 zinit (sip)
zsinfo_type *sip;

DESCRIPTION

Routine zinit initializes the access to the ZCOM system and sets up the global variables for use by the other ZCOM routines. Therefore, it must be called before any other ZCOM routines are used. This routine also returns some ZCOM system information. Since not every application programs require this information, so after the zinit call the buffer may be reused for other purposes.

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:

not a cancellation point

Thread cancellation will not occur when a thread is calling this routine.

async-cancel safe

The calling thread's cancelability type may be deferred or asynchronous when calling this routine.

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).

See the NOTES section below for more information on using this routine in a multi-threaded application.

PARAMETERS

sip (Return Param) ZCOM system information data structure containing the following fields:

sizrev

ZCOM software revision code (4 digits).

sinode

ZCOM system local node number.

sinzlu

Total number of ZLU tables in the ZCOM system.

sinltt

Total number of Logical Terminal Tables in the ZCOM system.

sinptt

Total number of Physical Terminal Tables in the ZCOM system.

sinift

Total number of Interface Tables in the ZCOM system.

sintzlu

Total number of terminal ZLUs in the ZCOM system.

siszlu1

First program ZLU in the ZLU table.

sipqlim

Default program ZLU queue limit.

siltsze

Size (in bytes) of the Logical Terminal Table (LTT).

sispare

Reserved for future use.

NOTES

  1. If the calling program has already opened a primary ZLU, the primary ZLU will be reset after calling zinit: the ZLU remains open and its contents is not disturbed, but it stops being the 'primary' ZLU of the calling program. The calling program will no longer have a primary ZLU and need to call zopen to open a primary ZLU again (usually with the same name, hence the same ZLU will be opened). The other opened ZLUs are not affected by calling zinit. See zopen(3X) for more information about the primary ZLU.

  2. The zinit routine will reset the node timeouts to the default values. Hence, any user specified node timeout must be set again after calling zinit. See zrntimer(3X) for more information.

  3. In a multi-threaded application, this routine is to be called only once by any one of the threads. Once zinit returns successfully, the necessary initialization tasks are completed for all threads, and all subsequent calls to ZCOM APIs will be allowed. There is no need for the other running threads or the newly created threads to call this routine again. Usually, zinit is to be called during the main program's initialization phase, before any threads are generated.

  4. In a multi-threaded application, if this routine is called the second time by a thread while some ZCOM APIs are in-progress in the other threads, the access to the ZCOM system will be re-initialized. The in-progress APIs will detect this and 'retry' internally. This is handled automatically and is transparent to the application.

RETURN VALUE

Routine zinit 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;
zsinfo_type sip;

if (ierr = zinit (&sip)) {
/* 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

zopen(3X), zrntimer(3X).

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