liuxiaolong
2022-06-28 37714b1093c04061e636e5b1d27179652e671c0a
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
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs defs_linux.go
 
package ipv4
 
const (
    sysIP_TOS             = 0x1
    sysIP_TTL             = 0x2
    sysIP_HDRINCL         = 0x3
    sysIP_OPTIONS         = 0x4
    sysIP_ROUTER_ALERT    = 0x5
    sysIP_RECVOPTS        = 0x6
    sysIP_RETOPTS         = 0x7
    sysIP_PKTINFO         = 0x8
    sysIP_PKTOPTIONS      = 0x9
    sysIP_MTU_DISCOVER    = 0xa
    sysIP_RECVERR         = 0xb
    sysIP_RECVTTL         = 0xc
    sysIP_RECVTOS         = 0xd
    sysIP_MTU             = 0xe
    sysIP_FREEBIND        = 0xf
    sysIP_TRANSPARENT     = 0x13
    sysIP_RECVRETOPTS     = 0x7
    sysIP_ORIGDSTADDR     = 0x14
    sysIP_RECVORIGDSTADDR = 0x14
    sysIP_MINTTL          = 0x15
    sysIP_NODEFRAG        = 0x16
    sysIP_UNICAST_IF      = 0x32
 
    sysIP_MULTICAST_IF           = 0x20
    sysIP_MULTICAST_TTL          = 0x21
    sysIP_MULTICAST_LOOP         = 0x22
    sysIP_ADD_MEMBERSHIP         = 0x23
    sysIP_DROP_MEMBERSHIP        = 0x24
    sysIP_UNBLOCK_SOURCE         = 0x25
    sysIP_BLOCK_SOURCE           = 0x26
    sysIP_ADD_SOURCE_MEMBERSHIP  = 0x27
    sysIP_DROP_SOURCE_MEMBERSHIP = 0x28
    sysIP_MSFILTER               = 0x29
    sysMCAST_JOIN_GROUP          = 0x2a
    sysMCAST_LEAVE_GROUP         = 0x2d
    sysMCAST_JOIN_SOURCE_GROUP   = 0x2e
    sysMCAST_LEAVE_SOURCE_GROUP  = 0x2f
    sysMCAST_BLOCK_SOURCE        = 0x2b
    sysMCAST_UNBLOCK_SOURCE      = 0x2c
    sysMCAST_MSFILTER            = 0x30
    sysIP_MULTICAST_ALL          = 0x31
 
    sysICMP_FILTER = 0x1
 
    sysSO_EE_ORIGIN_NONE         = 0x0
    sysSO_EE_ORIGIN_LOCAL        = 0x1
    sysSO_EE_ORIGIN_ICMP         = 0x2
    sysSO_EE_ORIGIN_ICMP6        = 0x3
    sysSO_EE_ORIGIN_TXSTATUS     = 0x4
    sysSO_EE_ORIGIN_TIMESTAMPING = 0x4
 
    sysSOL_SOCKET       = 0x1
    sysSO_ATTACH_FILTER = 0x1a
 
    sizeofKernelSockaddrStorage = 0x80
    sizeofSockaddrInet          = 0x10
    sizeofInetPktinfo           = 0xc
    sizeofSockExtendedErr       = 0x10
 
    sizeofIPMreq         = 0x8
    sizeofIPMreqn        = 0xc
    sizeofIPMreqSource   = 0xc
    sizeofGroupReq       = 0x88
    sizeofGroupSourceReq = 0x108
 
    sizeofICMPFilter = 0x4
 
    sizeofSockFprog = 0x10
)
 
type kernelSockaddrStorage struct {
    Family  uint16
    X__data [126]int8
}
 
type sockaddrInet struct {
    Family uint16
    Port   uint16
    Addr   [4]byte /* in_addr */
    X__pad [8]uint8
}
 
type inetPktinfo struct {
    Ifindex  int32
    Spec_dst [4]byte /* in_addr */
    Addr     [4]byte /* in_addr */
}
 
type sockExtendedErr struct {
    Errno  uint32
    Origin uint8
    Type   uint8
    Code   uint8
    Pad    uint8
    Info   uint32
    Data   uint32
}
 
type ipMreq struct {
    Multiaddr [4]byte /* in_addr */
    Interface [4]byte /* in_addr */
}
 
type ipMreqn struct {
    Multiaddr [4]byte /* in_addr */
    Address   [4]byte /* in_addr */
    Ifindex   int32
}
 
type ipMreqSource struct {
    Multiaddr  uint32
    Interface  uint32
    Sourceaddr uint32
}
 
type groupReq struct {
    Interface uint32
    Pad_cgo_0 [4]byte
    Group     kernelSockaddrStorage
}
 
type groupSourceReq struct {
    Interface uint32
    Pad_cgo_0 [4]byte
    Group     kernelSockaddrStorage
    Source    kernelSockaddrStorage
}
 
type icmpFilter struct {
    Data uint32
}
 
type sockFProg struct {
    Len       uint16
    Pad_cgo_0 [6]byte
    Filter    *sockFilter
}
 
type sockFilter struct {
    Code uint16
    Jt   uint8
    Jf   uint8
    K    uint32
}