Home | History | Annotate | Download | only in linux
      1 #ifndef _LINUX_SOCKET_H
      2 #define _LINUX_SOCKET_H
      3 
      4 /*
      5  * Desired design of maximum size and alignment (see RFC2553)
      6  */
      7 #define _K_SS_MAXSIZE	128	/* Implementation specific max size */
      8 #define _K_SS_ALIGNSIZE	(__alignof__ (struct sockaddr *))
      9 				/* Implementation specific desired alignment */
     10 
     11 struct __kernel_sockaddr_storage {
     12 	unsigned short	ss_family;		/* address family */
     13 	/* Following field(s) are implementation specific */
     14 	char		__data[_K_SS_MAXSIZE - sizeof(unsigned short)];
     15 				/* space to achieve desired size, */
     16 				/* _SS_MAXSIZE value minus size of ss_family */
     17 } __attribute__ ((aligned(_K_SS_ALIGNSIZE)));	/* force desired alignment */
     18 
     19 #endif /* _LINUX_SOCKET_H */
     20