22 lines
		
	
	
	
		
			753 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			22 lines
		
	
	
	
		
			753 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #ifndef _UAPI_LINUX_SOCKET_H
 | ||
|  | #define _UAPI_LINUX_SOCKET_H
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * Desired design of maximum size and alignment (see RFC2553) | ||
|  |  */ | ||
|  | #define _K_SS_MAXSIZE	128	/* Implementation specific max size */
 | ||
|  | #define _K_SS_ALIGNSIZE	(__alignof__ (struct sockaddr *))
 | ||
|  | 				/* Implementation specific desired alignment */ | ||
|  | 
 | ||
|  | typedef unsigned short __kernel_sa_family_t; | ||
|  | 
 | ||
|  | struct __kernel_sockaddr_storage { | ||
|  | 	__kernel_sa_family_t	ss_family;		/* address family */ | ||
|  | 	/* Following field(s) are implementation specific */ | ||
|  | 	char		__data[_K_SS_MAXSIZE - sizeof(unsigned short)]; | ||
|  | 				/* space to achieve desired size, */ | ||
|  | 				/* _SS_MAXSIZE value minus size of ss_family */ | ||
|  | } __attribute__ ((aligned(_K_SS_ALIGNSIZE)));	/* force desired alignment */ | ||
|  | 
 | ||
|  | #endif /* _UAPI_LINUX_SOCKET_H */
 |