1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef __ASM_GENERIC_IPCBUF_H 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define __ASM_GENERIC_IPCBUF_H 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* 51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) * The generic ipc64_perm structure: 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) * Note extra padding because this structure is passed back and forth 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch * between kernel and user space. 8424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) * 9424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) * ipc64_perm was originally meant to be architecture specific, but 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * everyone just ended up making identical copies without specific 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * optimizations, so we may just as well all use the same one. 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * Pad space is left for: 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * - 32-bit mode_t on architectures that only had 16 bit 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * - 32-bit seq 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * - 2 miscellaneous 32-bit values 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */ 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)struct ipc64_perm { 20a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) __kernel_key_t key; 21a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) __kernel_uid32_t uid; 22a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) __kernel_gid32_t gid; 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) __kernel_uid32_t cuid; 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __kernel_gid32_t cgid; 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __kernel_mode_t mode; 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch /* pad if mode_t is u16: */ 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) unsigned char __pad1[4 - sizeof(__kernel_mode_t)]; 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) unsigned short seq; 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch unsigned short __pad2; 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch __kernel_ulong_t __unused1; 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch __kernel_ulong_t __unused2; 320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}; 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif /* __ASM_GENERIC_IPCBUF_H */ 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)