]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/uclibc/lib/contrib/uclibc/libc/sysdeps/linux/ia64/bits/msq.h
Inital import
[l4.git] / l4 / pkg / uclibc / lib / contrib / uclibc / libc / sysdeps / linux / ia64 / bits / msq.h
1 /* Copyright (C) 2000 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3         Contribute by David Mosberger-Tang <davidm@hpl.hp.com>
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18    02111-1307 USA.  */
19
20 #ifndef _SYS_MSG_H
21 #error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
22 #endif
23
24 #include <sys/types.h>
25
26 /* Define options for message queue functions.  */
27 #define MSG_NOERROR     010000  /* no error if message is too big */
28 #define MSG_EXCEPT      020000  /* recv any msg except of specified type */
29
30
31 /* Structure of record for one message inside the kernel.
32    The type `struct __msg' is opaque.  */
33 struct msqid_ds
34 {
35   struct ipc_perm msg_perm;     /* structure describing operation permission */
36   __time_t msg_stime;           /* time of last msgsnd command */
37   __time_t msg_rtime;           /* time of last msgrcv command */
38   __time_t msg_ctime;           /* time of last change */
39   unsigned long int __msg_cbytes;       /* current number of bytes on queue */
40   unsigned long int msg_qnum;   /* number of messages currently on queue */
41   unsigned long int msg_qbytes; /* max number of bytes allowed on queue */
42   __pid_t msg_lspid;            /* pid of last msgsnd() */
43   __pid_t msg_lrpid;            /* pid of last msgrcv() */
44   unsigned long int __unused1;
45   unsigned long int __unused2;
46 };
47
48 #ifdef __USE_MISC
49
50 # define msg_cbytes     __msg_cbytes
51
52 /* ipcs ctl commands */
53 # define MSG_STAT 11
54 # define MSG_INFO 12
55
56 /* buffer for msgctl calls IPC_INFO, MSG_INFO */
57 struct msginfo
58   {
59     int msgpool;
60     int msgmap;
61     int msgmax;
62     int msgmnb;
63     int msgmni;
64     int msgssz;
65     int msgtql;
66     unsigned short int msgseg;
67   };
68
69 #endif /* __USE_MISC */