#ifndef __IPC_LOADED #define __IPC_LOADED /**************************************************************************** ** ** - System V IPC system calls ** ***************************************************************************** ** ** Copyright 2009 Hewlett-Packard Development Company, L.P. ** ** Confidential computer software. Valid license from HP and/or ** its subsidiaries required for possession, use, or copying. ** ** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, ** Computer Software Documentation, and Technical Data for Commercial ** Items are licensed to the U.S. Government under vendor's standard ** commercial license. ** ** Neither HP nor any of its subsidiaries shall be liable for technical ** or editorial errors or omissions contained herein. The information ** in this document is provided "as is" without warranty of any kind and ** is subject to change without notice. The warranties for HP products ** are set forth in the express limited warranty statements accompanying ** such products. Nothing herein should be construed as constituting an ** additional warranty. ** ***************************************************************************** */ #pragma __nostandard #include #ifdef __cplusplus extern "C" { #endif #if __INITIAL_POINTER_SIZE # pragma __pointer_size __save # pragma __pointer_size 64 #endif #if !defined __KEY_T && !defined _DECC_V4_SOURCE # define __KEY_T 1 typedef __key_t key_t; #endif #if !defined __UID_T && !defined _DECC_V4_SOURCE # define __UID_T 1 typedef __uid_t uid_t; #endif #if !defined __GID_T && !defined _DECC_V4_SOURCE # define __GID_T 1 typedef __gid32_t gid_t; #endif #if !defined __MODE_T && !defined _DECC_V4_SOURCE # define __MODE_T 1 typedef __mode_t mode_t; #endif /* Mode bits for `semget' */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ #define IPC_EXCL 02000 /* Fail if key exists. */ #define IPC_NOWAIT 04000 /* Return error on wait. */ /* Control commands for `semctl' */ #define IPC_RMID 0 /* Remove identifier. */ #define IPC_SET 1 /* Set `ipc_perm' options. */ #define IPC_STAT 2 /* Get `ipc_perm' options. */ #define IPC_INFO 3 /* See ipcs. */ /* Special key values. */ #define IPC_PRIVATE ((key_t) 0) /* Private key. */ /* Data structure used to pass permission information to IPC operations. */ struct ipc_perm { __uid_t uid; /* Owner's user ID. */ __gid32_t gid; /* Owner's group ID. */ __uid_t cuid; /* Creator's user ID. */ __gid32_t cgid; /* Creator's group ID. */ __mode_t mode; /* Read/write permission. */ unsigned short int __unused1; /* Padding */ }; /* Generates key for System V style IPC. */ key_t ftok(const char *__pathname, int __proj_id); /* ** Restore the users pointer context */ #if __INITIAL_POINTER_SIZE # pragma __pointer_size __restore #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __IPC_LOADED */