File: socket.rb.ffi

package info (click to toggle)
jruby 1.7.26-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 84,572 kB
  • sloc: ruby: 669,910; java: 253,056; xml: 35,152; ansic: 9,187; yacc: 7,267; cpp: 5,244; sh: 1,036; makefile: 345; jsp: 48; tcl: 40
file content (197 lines) | stat: -rw-r--r-- 3,886 bytes parent folder | download | duplicates (6)
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