35 lines
		
	
	
	
		
			936 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
	
		
			936 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef __ASM_GENERIC_IPCBUF_H
							 | 
						||
| 
								 | 
							
								#define __ASM_GENERIC_IPCBUF_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * The generic ipc64_perm structure:
							 | 
						||
| 
								 | 
							
								 * Note extra padding because this structure is passed back and forth
							 | 
						||
| 
								 | 
							
								 * between kernel and user space.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * ipc64_perm was originally meant to be architecture specific, but
							 | 
						||
| 
								 | 
							
								 * everyone just ended up making identical copies without specific
							 | 
						||
| 
								 | 
							
								 * optimizations, so we may just as well all use the same one.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Pad space is left for:
							 | 
						||
| 
								 | 
							
								 * - 32-bit mode_t on architectures that only had 16 bit
							 | 
						||
| 
								 | 
							
								 * - 32-bit seq
							 | 
						||
| 
								 | 
							
								 * - 2 miscellaneous 32-bit values
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct ipc64_perm {
							 | 
						||
| 
								 | 
							
									__kernel_key_t		key;
							 | 
						||
| 
								 | 
							
									__kernel_uid32_t	uid;
							 | 
						||
| 
								 | 
							
									__kernel_gid32_t	gid;
							 | 
						||
| 
								 | 
							
									__kernel_uid32_t	cuid;
							 | 
						||
| 
								 | 
							
									__kernel_gid32_t	cgid;
							 | 
						||
| 
								 | 
							
									__kernel_mode_t		mode;
							 | 
						||
| 
								 | 
							
												/* pad if mode_t is u16: */
							 | 
						||
| 
								 | 
							
									unsigned char		__pad1[4 - sizeof(__kernel_mode_t)];
							 | 
						||
| 
								 | 
							
									unsigned short		seq;
							 | 
						||
| 
								 | 
							
									unsigned short		__pad2;
							 | 
						||
| 
								 | 
							
									unsigned long		__unused1;
							 | 
						||
| 
								 | 
							
									unsigned long		__unused2;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __ASM_GENERIC_IPCBUF_H */
							 |