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

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 __SYS_MSG_H__
        !             7: #define        __SYS_MSG_H__
        !             8: /*
        !             9: **     IPC Message Facility.
        !            10: */
        !            11: #include <sys/ipc.h>
        !            12: #include <sys/_time.h>
        !            13: 
        !            14: /*
        !            15: **     Permission Definitions.
        !            16: */
        !            17: 
        !            18: #define        MSG_R   0400            /* read permission */
        !            19: #define        MSG_W   0200            /* write permission */
        !            20: 
        !            21: /*
        !            22: **     ipc_perm Mode Definitions.
        !            23: */
        !            24: 
        !            25: #define        MSG_RWAIT       01000   /* a reader is waiting for a message */
        !            26: #define        MSG_WWAIT       02000   /* a writer is waiting to send */
        !            27: 
        !            28: /*
        !            29: **     Message Operation Flags.
        !            30: */
        !            31: 
        !            32: #define        MSG_NOERROR     010000  /* no error if big message */
        !            33: 
        !            34: /*
        !            35: **     Structure Definitions.
        !            36: */
        !            37: 
        !            38: /*
        !            39: **     There is one msg structure for each message that may be in the system.
        !            40: */
        !            41: 
        !            42: struct msg {
        !            43: 
        !            44:        struct  msg     *msg_next;      /* pointer to next message on q */
        !            45:        long            msg_type;       /* message type */
        !            46:        short           msg_ts;         /* message text size */
        !            47:        short           msg_spot;       /* message text map address */
        !            48: };
        !            49: 
        !            50: /*
        !            51: **     There is one msg queue id data structure for each q in the system.
        !            52: */
        !            53: 
        !            54: struct msqid_ds {
        !            55: 
        !            56:        struct ipc_perm msg_perm;       /* operation permission struct */
        !            57:        struct msg      *msg_first;     /* ptr to first message on q */
        !            58:        struct msg      *msg_last;      /* ptr to last message on q */
        !            59:        unsigned short  msg_cbytes;     /* current # bytes on q */
        !            60:        unsigned short  msg_qnum;       /* # of messages on q */
        !            61:        unsigned short  msg_qbytes;     /* max # of bytes on q */
        !            62:        unsigned short  msg_lspid;      /* pid of last msgsnd */
        !            63:        unsigned short  msg_lrpid;      /* pid of last msgrcv */
        !            64:        time_t          msg_stime;      /* last msgsnd time */
        !            65:        time_t          msg_rtime;      /* last msgrcv time */
        !            66:        time_t          msg_ctime;      /* last change time */
        !            67: };
        !            68: 
        !            69: /*
        !            70: **     User message buffer template for msgsnd and msgrcv system calls.
        !            71: */
        !            72: 
        !            73: struct msgbuf {
        !            74: 
        !            75:        long            mtype;          /* message type */
        !            76:        char            mtext[];        /* message text */
        !            77: };
        !            78: 
        !            79: /*
        !            80: **     Ioctl commands issued to Message device driver (Coherent specific).
        !            81: */
        !            82: 
        !            83: #define        MSGIOC          ('M'<<8)
        !            84: #define        MSGCTL          (MSGIOC|0)
        !            85: #define        MSGGET          (MSGIOC|1)
        !            86: #define        MSGSND          (MSGIOC|2)
        !            87: #define        MSGRCV          (MSGIOC|3)
        !            88: 
        !            89: #endif

unix.superglobalmegacorp.com

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