|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 3.0 ! 3: * Copyright (c) 1982, 1990 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: #ifndef SHM_H ! 7: #define SHM_H ! 8: /* ! 9: ** IPC Shared Memory Facility. ! 10: */ ! 11: ! 12: #include <sys/ipc.h> ! 13: #include <sys/types.h> ! 14: ! 15: ! 16: extern int shmfd; /* file descriptor to access shared memory */ ! 17: ! 18: ! 19: /* ! 20: ** Permission Definitions. ! 21: */ ! 22: #define SHM_R 0400 /* read permission */ ! 23: #define SHM_W 0200 /* write permission */ ! 24: ! 25: /* ! 26: ** ipc_perm Mode Definitions. ! 27: */ ! 28: #define SHM_CLEAR 01000 /* clear segment on next attach */ ! 29: #define SHM_DEST 02000 /* destroy segment when # attached = 0 */ ! 30: ! 31: /* ! 32: ** Message Operations Flags. ! 33: */ ! 34: #define SHM_RDONLY 010000 /* attach read-only (else read-write) */ ! 35: ! 36: /* ! 37: ** There is a shared mem id data structure for each segment in the system. ! 38: */ ! 39: struct shmid_ds { ! 40: struct ipc_perm shm_perm; /* operation permission struct */ ! 41: int shm_segsz; /* segment size */ ! 42: #ifdef _I386 ! 43: unsigned short shm_cpid; /* pid of creator */ ! 44: unsigned short shm_lpid; /* pid of last shmop */ ! 45: #else ! 46: unsigned short shm_lpid; /* pid of last shmop */ ! 47: unsigned short shm_cpid; /* pid of creator */ ! 48: #endif ! 49: unsigned short shm_nattch; /* current # attached */ ! 50: #ifndef _I386 ! 51: unsigned short shm_cnattch; /* in memory # attached */ ! 52: #endif ! 53: time_t shm_atime; /* last shmat time */ ! 54: time_t shm_dtime; /* last shmdt time */ ! 55: time_t shm_ctime; /* last change time */ ! 56: }; ! 57: ! 58: /* ! 59: ** Ioctl Commands issued to Shared Memory Device Driver (on Coherent). ! 60: */ ! 61: #define SHMIOC ('H'<<8) ! 62: #define SHMCTL (SHMIOC+'C') ! 63: #define SHMGET (SHMIOC+'G') ! 64: #define SHMAT (SHMIOC+'A') ! 65: #define SHMDT (SHMIOC+'D') ! 66: ! 67: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.