source: svn/trunk/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/bits/msq.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 2.8 KB
Line 
1/* Copyright (C) 2002 Free Software Foundation, Inc.
2   This file is part of the GNU C Library.
3
4   The GNU C Library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   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.  */
33typedef unsigned long int msgqnum_t;
34typedef unsigned long int msglen_t;
35
36
37/* Structure of record for one message inside the kernel.
38   The type `struct msg' is opaque.  */
39struct msqid_ds
40{
41  struct ipc_perm msg_perm;     /* structure describing operation permission */
42#if (__WORDSIZE == 32) && !defined(__MIPSEL__)
43        unsigned long   __unused1;
44#endif
45  __time_t msg_stime;           /* time of last msgsnd command */
46#if (__WORDSIZE == 32) && defined(__MIPSEL__)
47        unsigned long   __unused1;
48#endif
49#if (__WORDSIZE == 32) && !defined(__MIPSEL__)
50        unsigned long   __unused2;
51#endif
52  __time_t msg_rtime;           /* time of last msgrcv command */
53#if (__WORDSIZE == 32) && defined(__MIPSEL__)
54        unsigned long   __unused2;
55#endif
56#if (__WORDSIZE == 32) && !defined(__MIPSEL__)
57        unsigned long   __unused3;
58#endif
59  __time_t msg_ctime;           /* time of last change */
60#if (__WORDSIZE == 32) && defined(__MIPSEL__)
61        unsigned long   __unused3;
62#endif
63  unsigned long int __msg_cbytes; /* current number of bytes on queue */
64  msgqnum_t msg_qnum;           /* number of messages currently on queue */
65  msglen_t msg_qbytes;          /* max number of bytes allowed on queue */
66  __pid_t msg_lspid;            /* pid of last msgsnd() */
67  __pid_t msg_lrpid;            /* pid of last msgrcv() */
68  unsigned long int __unused4;
69  unsigned long int __unused5;
70};
71
72#ifdef __USE_MISC
73
74# define msg_cbytes     __msg_cbytes
75
76/* ipcs ctl commands */
77# define MSG_STAT 11
78# define MSG_INFO 12
79
80/* buffer for msgctl calls IPC_INFO, MSG_INFO */
81struct msginfo
82  {
83    int msgpool;
84    int msgmap;
85    int msgmax;
86    int msgmnb;
87    int msgmni;
88    int msgssz;
89    int msgtql;
90    unsigned short int msgseg;
91  };
92
93#endif /* __USE_MISC */
Note: See TracBrowser for help on using the repository browser.