File: /Users/paulross/dev/linux/linux-3.13/include/uapi/asm-generic/ipcbuf.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef __ASM_GENERIC_IPCBUF_H
       2: #define __ASM_GENERIC_IPCBUF_H
       3: 
       4: /*
       5:  * The generic ipc64_perm structure:
       6:  * Note extra padding because this structure is passed back and forth
       7:  * between kernel and user space.
       8:  *
       9:  * ipc64_perm was originally meant to be architecture specific, but
      10:  * everyone just ended up making identical copies without specific
      11:  * optimizations, so we may just as well all use the same one.
      12:  *
      13:  * Pad space is left for:
      14:  * - 32-bit mode_t on architectures that only had 16 bit
      15:  * - 32-bit seq
      16:  * - 2 miscellaneous 32-bit values
      17:  */
      18: 
      19: struct ipc64_perm {
      20:     __kernel_key_t        key;
      21:     __kernel_uid32_t    uid;
      22:     __kernel_gid32_t    gid;
      23:     __kernel_uid32_t    cuid;
      24:     __kernel_gid32_t    cgid;
      25:     __kernel_mode_t        mode;
      26:                 /* pad if mode_t is u16: */
      27:     unsigned char        __pad1[4 - sizeof(__kernel_mode_t)];
      28:     unsigned short        seq;
      29:     unsigned short        __pad2;
      30:     unsigned long        __unused1;
      31:     unsigned long        __unused2;
      32: };
      33: 
      34: #endif /* __ASM_GENERIC_IPCBUF_H */
      35: