zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

socket.h (1039B) - Raw


      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2 #ifndef _LINUX_SOCKET_H
      3 #define _LINUX_SOCKET_H
      4 
      5 /*
      6  * Desired design of maximum size and alignment (see RFC2553)
      7  */
      8 #define _K_SS_MAXSIZE	128	/* Implementation specific max size */
      9 
     10 typedef unsigned short __kernel_sa_family_t;
     11 
     12 /*
     13  * The definition uses anonymous union and struct in order to control the
     14  * default alignment.
     15  */
     16 struct __kernel_sockaddr_storage {
     17 	union {
     18 		struct {
     19 			__kernel_sa_family_t	ss_family; /* address family */
     20 			/* Following field(s) are implementation specific */
     21 			char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
     22 				/* space to achieve desired size, */
     23 				/* _SS_MAXSIZE value minus size of ss_family */
     24 		};
     25 		void *__align; /* implementation specific desired alignment */
     26 	};
     27 };
     28 
     29 #define SOCK_SNDBUF_LOCK	1
     30 #define SOCK_RCVBUF_LOCK	2
     31 
     32 #define SOCK_BUF_LOCK_MASK (SOCK_SNDBUF_LOCK | SOCK_RCVBUF_LOCK)
     33 
     34 #define SOCK_TXREHASH_DEFAULT	255
     35 #define SOCK_TXREHASH_DISABLED	0
     36 #define SOCK_TXREHASH_ENABLED	1
     37 
     38 #endif /* _LINUX_SOCKET_H */