1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
|
module Platform; end
module Platform::Socket
@@@
constants do |cg|
cg.include "sys/types.h"
cg.include "sys/socket.h"
cg.include "netinet/in.h"
cg.include "netinet/icmp6.h"
cg.include "netdb.h"
%w[
SO_DEBUG
SO_ACCEPTCONN
SO_REUSEADDR
SO_KEEPALIVE
SO_DONTROUTE
SO_BROADCAST
SO_USELOOPBACK
SO_LINGER
SO_OOBINLINE
SO_REUSEPORT
SO_TIMESTAMP
SO_ACCEPTFILTER
SO_DONTTRUNC
SO_WANTMORE
SO_WANTOOBFLAG
SO_SNDBUF
SO_RCVBUF
SO_SNDLOWAT
SO_RCVLOWAT
SO_SNDTIMEO
SO_RCVTIMEO
SO_ERROR
SO_TYPE
SO_NREAD
SO_NKE
SO_NOSIGPIPE
SO_NOADDRERR
SO_NWRITE
SO_REUSESHAREUID
SO_LABEL
SO_PEERLABEL
SO_ATTACH_FILTER
SO_BINDTODEVICE
SO_DETACH_FILTER
SO_NO_CHECK
SO_PASSCRED
SO_PEERCRED
SO_PEERNAME
SO_PRIORITY
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_NETWORK
SO_SECURITY_ENCRYPTION_TRANSPORT
].each {|c| cg.const(c, "%#x", "(unsigned int)") { |v| v.hex} }
%w[
SOCK_STREAM
SOCK_DGRAM
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_MAXADDRLEN
].each {|c| cg.const c }
%w[
AF_UNSPEC
AF_LOCAL
AF_UNIX
AF_INET
AF_IMPLINK
AF_PUP
AF_CHAOS
AF_NS
AF_ISO
AF_OSI
AF_ECMA
AF_DATAKIT
AF_CCITT
AF_SNA
AF_DECnet
AF_DLI
AF_LAT
AF_HYLINK
AF_APPLETALK
AF_ROUTE
AF_LINK
pseudo_AF_XTP
AF_COIP
AF_CNT
pseudo_AF_RTIP
AF_IPX
AF_SIP
pseudo_AF_PIP
AF_NDRV
AF_ISDN
AF_E164
pseudo_AF_KEY
AF_INET6
AF_NATM
AF_SYSTEM
AF_NETBIOS
AF_PPP
AF_ATM
pseudo_AF_HDRCMPLT
AF_NETGRAPH
AF_AX25
AF_MAX
].each {|c| cg.const c }
%w[
PF_UNSPEC
PF_LOCAL
PF_UNIX
PF_INET
PF_IMPLINK
PF_PUP
PF_CHAOS
PF_NS
PF_ISO
PF_OSI
PF_ECMA
PF_DATAKIT
PF_CCITT
PF_SNA
PF_DECnet
PF_DLI
PF_LAT
PF_HYLINK
PF_APPLETALK
PF_ROUTE
PF_LINK
PF_XTP
PF_COIP
PF_CNT
PF_SIP
PF_IPX
PF_RTIP
PF_PIP
PF_NDRV
PF_ISDN
PF_KEY
PF_INET6
PF_NATM
PF_SYSTEM
PF_NETBIOS
PF_PPP
PF_ATM
PF_NETGRAPH
PF_MAX
].each {|c| cg.const c}
%w[
NI_MAXHOST
NI_MAXSERV
NI_NOFQDN
NI_NUMERICHOST
NI_NAMEREQD
NI_NUMERICSERV
NI_DGRAM
NI_WITHSCOPEID
NI_QTYPE_NOOP
NI_QTYPE_SUPTYPES
NI_QTYPE_FQDN
NI_QTYPE_DNSNAME
NI_QTYPE_NODEADDR
NI_QTYPE_IPV4ADDR
NI_SUPTYPE_FLAG_COMPRESS
NI_FQDN_FLAG_VALIDTTL
NI_SUPTYPE_FLAG_COMPRESS
NI_FQDN_FLAG_VALIDTTL
NI_NODEADDR_FLAG_LINKLOCAL
NI_NODEADDR_FLAG_SITELOCAL
NI_NODEADDR_FLAG_GLOBAL
NI_NODEADDR_FLAG_ALL
NI_NODEADDR_FLAG_TRUNCATE
NI_NODEADDR_FLAG_ANYCAST
NI_NODEADDR_FLAG_LINKLOCAL
NI_NODEADDR_FLAG_SITELOCAL
NI_NODEADDR_FLAG_GLOBAL
NI_NODEADDR_FLAG_ALL
NI_NODEADDR_FLAG_TRUNCATE
NI_NODEADDR_FLAG_ANYCAST
NI_NODEADDR_FLAG_TRUNCATE
NI_NODEADDR_FLAG_ALL
NI_NODEADDR_FLAG_COMPAT
NI_NODEADDR_FLAG_LINKLOCAL
NI_NODEADDR_FLAG_SITELOCAL
NI_NODEADDR_FLAG_GLOBAL
NI_NODEADDR_FLAG_ANYCAST
NI_NODEADDR_FLAG_TRUNCATE
NI_NODEADDR_FLAG_ALL
NI_NODEADDR_FLAG_COMPAT
NI_NODEADDR_FLAG_LINKLOCAL
NI_NODEADDR_FLAG_SITELOCAL
NI_NODEADDR_FLAG_GLOBAL
NI_NODEADDR_FLAG_ANYCAST
].each {|c| cg.const c}
end
@@@
end
|