[BACK]Return to linux_msg.h CVS log [TXT][DIR] Up to [local] / sys / compat / linux

Annotation of sys/compat/linux/linux_msg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: linux_msg.h,v 1.2 1996/04/17 05:23:56 mickey Exp $    */
                      2: /*     $NetBSD: linux_msg.h,v 1.2 1995/08/15 21:14:34 fvdl Exp $       */
                      3:
                      4: /*
                      5:  * Copyright (c) 1995 Frank van der Linden
                      6:  * All rights reserved.
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following conditions
                     10:  * are met:
                     11:  * 1. Redistributions of source code must retain the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer.
                     13:  * 2. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. All advertising materials mentioning features or use of this software
                     17:  *    must display the following acknowledgement:
                     18:  *      This product includes software developed for the NetBSD Project
                     19:  *      by Frank van der Linden
                     20:  * 4. The name of the author may not be used to endorse or promote products
                     21:  *    derived from this software without specific prior written permission
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     24:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     25:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     26:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     27:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     28:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     29:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     30:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     31:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     32:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     33:  */
                     34:
                     35: #ifndef _LINUX_MSG_H
                     36: #define _LINUX_MSG_H
                     37:
                     38: /*
                     39:  * msq_id_ds structure. Mostly the same fields, except for some internal
                     40:  * ones.
                     41:  */
                     42: struct linux_msqid_ds {
                     43:        struct linux_ipc_perm   l_msg_perm;
                     44:        void                    *l_msg_first;
                     45:        void                    *l_msg_last;
                     46:        linux_time_t            l_msg_stime;
                     47:        linux_time_t            l_msg_rtime;
                     48:        linux_time_t            l_msg_ctime;
                     49:        void                    *l_wwait;       /* Linux internal */
                     50:        void                    *l_rwait;       /* Linux internal */
                     51:        ushort                  l_msg_cbytes;
                     52:        ushort                  l_msg_qnum;
                     53:        ushort                  l_msg_qbytes;
                     54:        ushort                  l_msg_lspid;
                     55:        ushort                  l_msg_lrpid;
                     56: };
                     57:
                     58: #define LINUX_MSG_NOERROR      0x1000
                     59: #define LINUX_MSG_EXCEPT       0x2000
                     60:
                     61: /*
                     62:  * The notorious anonymous message structure.
                     63:  */
                     64: struct linux_mymsg {
                     65:        long    l_mtype;
                     66:        char    l_mtext[1];
                     67: };
                     68:
                     69: /*
                     70:  * This kludge is used for the 6th argument to the msgrcv system
                     71:  * call, to get around the maximum of 5 arguments to a syscall in Linux.
                     72:  */
                     73: struct linux_msgrcv_msgarg {
                     74:        struct linux_mymsg *msg;
                     75:        int type;
                     76: };
                     77: /*
                     78:  * For msgctl calls.
                     79:  */
                     80: struct linux_msginfo {
                     81:        int     l_msgpool;
                     82:        int     l_msgmap;
                     83:        int     l_msgmax;
                     84:        int     l_msgmnb;
                     85:        int     l_msgmni;
                     86:        int     l_msgssz;
                     87:        int     l_msgtql;
                     88:        ushort  l_msgseg;
                     89: };
                     90:
                     91: #define LINUX_MSG_STAT 11
                     92: #define LINUX_MSG_INFO 12
                     93:
                     94: #endif /* _LINUX_MSG_H */

CVSweb