]>
Commit | Line | Data |
---|---|---|
910773dc SH |
1 | #ifndef _LINUX_SOCKET_H |
2 | #define _LINUX_SOCKET_H | |
8f8a3648 SH |
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 | ||
707f612c SH |
11 | typedef unsigned short __kernel_sa_family_t; |
12 | ||
8f8a3648 | 13 | struct __kernel_sockaddr_storage { |
707f612c | 14 | __kernel_sa_family_t ss_family; /* address family */ |
8f8a3648 SH |
15 | /* Following field(s) are implementation specific */ |
16 | char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; | |
17 | /* space to achieve desired size, */ | |
18 | /* _SS_MAXSIZE value minus size of ss_family */ | |
19 | } __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */ | |
20 | ||
910773dc | 21 | #endif /* _LINUX_SOCKET_H */ |