home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilss / sockets / include / sys / h / ipc < prev    next >
Encoding:
Text File  |  1995-01-11  |  1.7 KB  |  57 lines

  1. /*
  2.  * $Header: /ax/networking:include/sys/ipc.h:networking  1.1  $
  3.  * $Source: /ax/networking:include/sys/ipc.h: $
  4.  *
  5.  * Copyright (c) 1988 Acorn Computers Ltd., Cambridge, England
  6.  *
  7.  * $Log:    ipc.h,v $
  8.  * Revision 1.1  95/01/11  10:19:19  kwelton
  9.  * Initial revision
  10.  * 
  11.  * Revision 1.3  88/06/17  20:19:28  beta
  12.  * Acorn Unix initial beta version
  13.  * 
  14.  */
  15. #ifndef _IPC_
  16. #define _IPC_
  17.  
  18. /* Common IPC Access Structure */
  19. struct ipc_perm {
  20.     ushort    uid;    /* owner's user id */
  21.     ushort    gid;    /* owner's group id */
  22.     ushort    cuid;    /* creator's user id */
  23.     ushort    cgid;    /* creator's group id */
  24.     ushort    mode;    /* access modes */
  25.     ushort    seq;    /* slot usage sequence number */
  26.     key_t    key;    /* key */
  27. };
  28.  
  29. /* Common IPC Definitions. */
  30. /* Mode bits. */
  31. #define    IPC_ALLOC    0100000        /* entry currently allocated */
  32. #define    IPC_CREAT    0001000        /* create entry if key doesn't exist */
  33. #define    IPC_EXCL    0002000        /* fail if key exists */
  34. #define    IPC_NOWAIT    0004000        /* error if request must wait */
  35. #define IPC_MODEMASK    0000777        /* for mode field of ipc_perm */
  36. #define IPC_USERMODE    0000600        /* user mode bits */
  37. #define IPC_GROUPMODE    0000060        /* group mode bits */
  38. #define IPC_OTHERMODE    0000006        /* other mode bits */
  39. #define IPC_UREAD    0000400        /* read by user */
  40. #define IPC_UWRITE    0000200        /* write by user */
  41. #define IPC_GREAD    0000040        /* read by group */
  42. #define IPC_GWRITE    0000020        /* write by group */
  43. #define IPC_OREAD    0000004        /* read by others */
  44. #define IPC_OWRITE    0000002        /* write by others */
  45.  
  46. /* Keys. */
  47. #define    IPC_PRIVATE    (key_t)0    /* private key */
  48.  
  49. /* Control Commands. */
  50. #define    IPC_RMID    0    /* remove identifier */
  51. #define    IPC_SET        1    /* set options */
  52. #define    IPC_STAT    2    /* get options */
  53.  
  54. #endif _IPC_
  55.  
  56. /* EOF ipc.h */
  57.