The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group


sys/sem.h - semaphore facility


#include <sys/sem.h>


The <sys/sem.h> header defines the following constants and structures.

Semaphore operation flags:

Set up adjust on exit entry.

Command definitions for the function semctl():

Get semncnt.
Get sempid.
Get semval.
Get all cases of semval.
Get semzcnt.
Set semval.
Set all cases of semval.

The structure semid_ds contains the following members:

struct ipc_perm    sem_perm  operation permission structure
unsigned short int sem_nsems number of semaphores in set
time_t             sem_otime last semop^) time
time_t             sem_ctime last time changed by semctl()

The pid_t, time_t, key_t and size_t types are defined as described in <sys/types.h>.

A semaphore is represented by an anonymous structure containing the following members:

unsigned short int semval    semaphore value
pid_t              sempid    process ID of last operation
unsigned short int semncnt   number of processes waiting for semval
                             to become greater than current value
unsigned short int semzcnt   number of processes waiting for semval
                             to become 0

The structure sembuf contains the following members:

unsigned short int sem_num   semaphore number
short int          sem_op    semaphore operation
short int          sem_flg   operation flags

The following are declared as functions and may also be defined as macros. Function prototypes must be provided for use with an ISO C compiler.

int   semctl(int, int, int, ...);
int   semget(key_t, int, int);
int   semop(int, struct sembuf *, size_t);

In addition, all of the symbols from <sys/ipc.h> will be defined when this header is included.






semctl(), semget(), semop(), <sys/types.h>.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]