Annotation of coherent/f/usr/include/sys/shm.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * /usr/include/sys/shm.h
        !             3:  *
        !             4:  * Shared memory support.
        !             5:  *
        !             6:  * Revised: Thu Jul 15 14:05:25 1993 CDT
        !             7:  */
        !             8: #ifndef __SYS_SHM_H__
        !             9: #define        __SYS_SHM_H__
        !            10: /*
        !            11: **     IPC Shared Memory Facility.
        !            12: */
        !            13: #include <sys/ipc.h>
        !            14: #include <common/_time.h>
        !            15: 
        !            16: extern int shmfd;              /* file descriptor to access shared memory */
        !            17: 
        !            18: /*
        !            19: **     Permission Definitions.
        !            20: */
        !            21: #define        SHM_R   0400            /* read permission */
        !            22: #define        SHM_W   0200            /* write permission */
        !            23: 
        !            24: /*
        !            25: **     ipc_perm Mode Definitions.
        !            26: */
        !            27: #define        SHM_CLEAR       01000   /* clear segment on next attach */
        !            28: #define        SHM_DEST        02000   /* destroy segment when # attached = 0 */
        !            29: 
        !            30: /*
        !            31: **     Message Operations Flags.
        !            32: */
        !            33: #define        SHM_RDONLY      010000  /* attach read-only (else read-write) */
        !            34: #define SHM_RND                020000  /* round attach address to SHMLBA */
        !            35: 
        !            36: /* 
        !            37:  * Shared memory control operations (are not included in iBCS2)
        !            38:  * COHERENT 4.0.x does not use a swapper.
        !            39:  */
        !            40: #define        SHM_LOCK        3       /* lock shared memory segment in core */
        !            41: #define SHM_UNLOCK     4       /* unlock shared memory segment */
        !            42: 
        !            43: #if _I386
        !            44: 
        !            45: /*
        !            46: **     There is a shared mem id data structure for each segment in the system.
        !            47: */
        !            48: struct shmid_ds {
        !            49:        struct ipc_perm shm_perm;       /* operation permission struct */
        !            50:        int             shm_segsz;      /* segment size */
        !            51:        unsigned short  shm_cpid;       /* pid of creator */
        !            52:        unsigned short  shm_lpid;       /* pid of last shmop */
        !            53:        unsigned short  shm_nattch;     /* current # attached */
        !            54:        time_t          shm_atime;      /* last shmat time */
        !            55:        time_t          shm_dtime;      /* last shmdt time */
        !            56:        time_t          shm_ctime;      /* last change time */
        !            57: };
        !            58: 
        !            59: #ifdef __KERNEL__
        !            60: 
        !            61: /* Patchable kernel values. */
        !            62: 
        !            63: extern int SHMMAX;     /* Max size in bytes of shared memory segment */
        !            64:                        /* Not more than 4 Megs, please! */
        !            65: 
        !            66: extern int SHMMNI;     /* Maximum # of shared memory segments, systemwide */
        !            67: 
        !            68: #endif
        !            69: 
        !            70: #else /* !_I386 */
        !            71: 
        !            72: struct shmid_ds {
        !            73:        struct ipc_perm shm_perm;       /* operation permission struct */
        !            74:        int             shm_segsz;      /* segment size */
        !            75:        unsigned short  shm_lpid;       /* pid of last shmop */
        !            76:        unsigned short  shm_cpid;       /* pid of creator */
        !            77:        unsigned short  shm_nattch;     /* current # attached */
        !            78:        unsigned short  shm_cnattch;    /* in memory # attached */
        !            79:        time_t          shm_atime;      /* last shmat time */
        !            80:        time_t          shm_dtime;      /* last shmdt time */
        !            81:        time_t          shm_ctime;      /* last change time */
        !            82: };
        !            83: 
        !            84: /*
        !            85: **     Ioctl Commands issued to Shared Memory Device Driver (on Coherent).
        !            86: */
        !            87: #define        SHMIOC  ('H'<<8)
        !            88: #define        SHMCTL  (SHMIOC+'C')
        !            89: #define        SHMGET  (SHMIOC+'G')
        !            90: #define        SHMAT   (SHMIOC+'A')
        !            91: #define        SHMDT   (SHMIOC+'D')
        !            92: 
        !            93: 
        !            94: #endif /* !_I386 */
        !            95: 
        !            96: #endif /* !defined(__SYS_SHM_H__) */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.