Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


msq.h
01: /* Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
02:    This file is part of the GNU C Library.
03: 
04:    The GNU C Library is free software; you can redistribute it and/or
05:    modify it under the terms of the GNU Lesser General Public
06:    License as published by the Free Software Foundation; either
07:    version 2.1 of the License, or (at your option) any later version.
08: 
09:    The GNU C Library is distributed in the hope that it will be useful,
10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12:    Lesser General Public License for more details.
13: 
14:    You should have received a copy of the GNU Lesser General Public
15:    License along with the GNU C Library; if not, write to the Free
16:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17:    02111-1307 USA.  */
18: 
19: #ifndef _SYS_MSG_H
20: # error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21: #endif
22: 
23: #include <bits/types.h>
24: #include <bits/wordsize.h>
25: 
26: /* Define options for message queue functions.  */
27: #define MSG_NOERROR     010000  /* no error if message is too big */
28: #ifdef __USE_GNU
29: # define MSG_EXCEPT     020000  /* recv any msg except of specified type */
30: #endif
31: 
32: /* Types used in the structure definition.  */
33: typedef unsigned long int msgqnum_t;
34: typedef unsigned long int msglen_t;
35: 
36: /* Structure of record for one message inside the kernel.
37:    The type `struct msg' is opaque.  */
38: struct msqid_ds
39: {
40:   struct ipc_perm msg_perm;     /* structure describing operation permission */
41:   __time_t msg_stime;           /* time of last msgsnd command */
42: #if __WORDSIZE == 32
43:   unsigned long int __unused1;
44: #endif
45:   __time_t msg_rtime;           /* time of last msgrcv command */
46: #if __WORDSIZE == 32
47:   unsigned long int __unused2;
48: #endif
49:   __time_t msg_ctime;           /* time of last change */
50: #if __WORDSIZE == 32
51:   unsigned long int __unused3;
52: #endif
53:   unsigned long int __msg_cbytes; /* current number of bytes on queue */
54:   msgqnum_t msg_qnum;           /* number of messages currently on queue */
55:   msglen_t msg_qbytes;          /* max number of bytes allowed on queue */
56:   __pid_t msg_lspid;            /* pid of last msgsnd() */
57:   __pid_t msg_lrpid;            /* pid of last msgrcv() */
58:   unsigned long int __unused4;
59:   unsigned long int __unused5;
60: };
61: 
62: #ifdef __USE_MISC
63: 
64: # define msg_cbytes     __msg_cbytes
65: 
66: /* ipcs ctl commands */
67: # define MSG_STAT 11
68: # define MSG_INFO 12
69: 
70: /* buffer for msgctl calls IPC_INFO, MSG_INFO */
71: struct msginfo
72:   {
73:     int msgpool;
74:     int msgmap;
75:     int msgmax;
76:     int msgmnb;
77:     int msgmni;
78:     int msgssz;
79:     int msgtql;
80:     unsigned short int msgseg;
81:   };
82: 
83: #endif /* __USE_MISC */
84: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/