(linenum→info "unix/slp.c:2238")

glibc/2.7/bits/ipc.h

    1: /* Copyright (C) 1995, 1996, 1997, 1999 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_IPC_H
   20: # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
   21: #endif
   22: 
   23: #include <bits/types.h>
   24: 
   25: /* Mode bits for `msgget', `semget', and `shmget'.  */
   26: #define IPC_CREAT       01000         /* create key if key does not exist */
   27: #define IPC_EXCL        02000          /* fail if key exists */
   28: #define IPC_NOWAIT      04000                /* return error on wait */
   29: 
   30: /* Control commands for `msgctl', `semctl', and `shmctl'.  */
   31: #define IPC_RMID        0              /* remove identifier */
   32: #define IPC_SET         1              /* set `ipc_perm' options */
   33: #define IPC_STAT        2              /* get `ipc_perm' options */
   34: 
   35: /* Special key values.  */
   36: #define IPC_PRIVATE     ((key_t) 0) /* private key */
   37: 
   38: 
   39: /* Data structure used to pass permission information to IPC operations.  */
   40: struct ipc_perm
   41:   {
   42:     __uid_t uid;                        /* owner's user ID */
   43:     __gid_t gid;                        /* owner's group ID */
   44:     __uid_t cuid;                       /* creator's user ID */
   45:     __gid_t cgid;                       /* creator's group ID */
   46:     __mode_t mode;                      /* read/write permission */
   47:   };
Syntax (Markdown)