16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/**************************************************************************** 26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** This header was automatically generated from a Linux kernel header 56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** of the same name, to make information necessary for userspace to 66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** call into the kernel available to libc. It contains only constants, 76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** structures, and macros generated from the original header, and thus, 86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** contains no copyrightable information. 96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/ 126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef _LINUX_SOCKET_H 136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _LINUX_SOCKET_H 146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _K_SS_MAXSIZE 128 166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *)) 176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct __kernel_sockaddr_storage { 196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short ss_family; 206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; 226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); 246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#if !defined(__GLIBC__) || __GLIBC__ < 2 266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <asm/socket.h> 286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/sockios.h> 296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/uio.h> 306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/types.h> 316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/compiler.h> 326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehtypedef unsigned short sa_family_t; 346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct sockaddr { 366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh sa_family_t sa_family; 376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh char sa_data[14]; 386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct linger { 416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int l_onoff; 426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int l_linger; 436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define sockaddr_storage __kernel_sockaddr_storage 466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct msghdr { 486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh void * msg_name; 496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int msg_namelen; 506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct iovec * msg_iov; 516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __kernel_size_t msg_iovlen; 526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh void * msg_control; 536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __kernel_size_t msg_controllen; 546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned msg_flags; 556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct cmsghdr { 586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __kernel_size_t cmsg_len; 596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int cmsg_level; 606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int cmsg_type; 616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg)) 646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) 656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) 676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) 696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) 706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) 716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? (struct cmsghdr *)(ctl) : (struct cmsghdr *)NULL) 736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) 746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char *)(cmsg) - (char *)(mhdr)->msg_control))) 756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifdef __GNUC__ 776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __KINLINE static __inline__ 786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#elif defined(__cplusplus) 796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __KINLINE static inline 806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#else 816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __KINLINE static 826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif 836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh__KINLINE struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t __size, 856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct cmsghdr *__cmsg) 866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh{ 876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct cmsghdr * __ptr; 886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) + CMSG_ALIGN(__cmsg->cmsg_len)); 906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size) 916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh return (struct cmsghdr *)0; 926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh return __ptr; 946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh} 956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh__KINLINE struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg) 976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh{ 986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg); 996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh} 1006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SCM_RIGHTS 0x01 1026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SCM_CREDENTIALS 0x02 1036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SCM_SECURITY 0x03 1046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ucred { 1066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 pid; 1076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 uid; 1086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 gid; 1096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 1106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_UNSPEC 0 1126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_UNIX 1 1136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_LOCAL 1 1146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_INET 2 1156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_AX25 3 1166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_IPX 4 1176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_APPLETALK 5 1186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_NETROM 6 1196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_BRIDGE 7 1206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ATMPVC 8 1216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_X25 9 1226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_INET6 10 1236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ROSE 11 1246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_DECnet 12 1256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_NETBEUI 13 1266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_SECURITY 14 1276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_KEY 15 1286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_NETLINK 16 1296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ROUTE AF_NETLINK 1306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_PACKET 17 1316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ASH 18 1326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ECONET 19 1336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_ATMSVC 20 1346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_SNA 22 1356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_IRDA 23 1366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_PPPOX 24 1376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_WANPIPE 25 1386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_LLC 26 1396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_TIPC 30 1406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_BLUETOOTH 31 1416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define AF_MAX 32 1426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_UNSPEC AF_UNSPEC 1446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_UNIX AF_UNIX 1456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_LOCAL AF_LOCAL 1466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_INET AF_INET 1476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_AX25 AF_AX25 1486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_IPX AF_IPX 1496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_APPLETALK AF_APPLETALK 1506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_NETROM AF_NETROM 1516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_BRIDGE AF_BRIDGE 1526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ATMPVC AF_ATMPVC 1536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_X25 AF_X25 1546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_INET6 AF_INET6 1556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ROSE AF_ROSE 1566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_DECnet AF_DECnet 1576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_NETBEUI AF_NETBEUI 1586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_SECURITY AF_SECURITY 1596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_KEY AF_KEY 1606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_NETLINK AF_NETLINK 1616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ROUTE AF_ROUTE 1626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_PACKET AF_PACKET 1636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ASH AF_ASH 1646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ECONET AF_ECONET 1656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_ATMSVC AF_ATMSVC 1666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_SNA AF_SNA 1676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_IRDA AF_IRDA 1686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_PPPOX AF_PPPOX 1696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_WANPIPE AF_WANPIPE 1706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_LLC AF_LLC 1716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_TIPC AF_TIPC 1726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_BLUETOOTH AF_BLUETOOTH 1736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PF_MAX AF_MAX 1746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOMAXCONN 128 1766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_OOB 1 1786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_PEEK 2 1796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_DONTROUTE 4 1806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_TRYHARD 4 1816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_CTRUNC 8 1826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_PROBE 0x10 1836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_TRUNC 0x20 1846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_DONTWAIT 0x40 1856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_EOR 0x80 1866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_WAITALL 0x100 1876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_FIN 0x200 1886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_SYN 0x400 1896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_CONFIRM 0x800 1906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_RST 0x1000 1916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_ERRQUEUE 0x2000 1926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_NOSIGNAL 0x4000 1936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_MORE 0x8000 1946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_EOF MSG_FIN 1966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSG_CMSG_COMPAT 0 1986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_IP 0 2006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_TCP 6 2026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_UDP 17 2036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_IPV6 41 2046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_ICMPV6 58 2056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_SCTP 132 2066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_RAW 255 2076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_IPX 256 2086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_AX25 257 2096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_ATALK 258 2106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_NETROM 259 2116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_ROSE 260 2126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_DECNET 261 2136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_X25 262 2146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_PACKET 263 2156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_ATM 264 2166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_AAL 265 2176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_IRDA 266 2186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_NETBEUI 267 2196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_LLC 268 2206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_DCCP 269 2216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_NETLINK 270 2226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SOL_TIPC 271 2236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPX_TYPE 1 2256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif 2276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif 228