liyujie
2025-08-28 d9927380ed7c8366f762049be9f3fee225860833
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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs types_freebsd.go | go run mkpost.go
 
// +build 386,freebsd
 
package syscall
 
const (
   sizeofPtr      = 0x4
   sizeofShort    = 0x2
   sizeofInt      = 0x4
   sizeofLong     = 0x4
   sizeofLongLong = 0x8
)
 
type (
   _C_short     int16
   _C_int       int32
   _C_long      int32
   _C_long_long int64
)
 
type Timespec struct {
   Sec  int32
   Nsec int32
}
 
type Timeval struct {
   Sec  int32
   Usec int32
}
 
type Rusage struct {
   Utime    Timeval
   Stime    Timeval
   Maxrss   int32
   Ixrss    int32
   Idrss    int32
   Isrss    int32
   Minflt   int32
   Majflt   int32
   Nswap    int32
   Inblock  int32
   Oublock  int32
   Msgsnd   int32
   Msgrcv   int32
   Nsignals int32
   Nvcsw    int32
   Nivcsw   int32
}
 
type Rlimit struct {
   Cur int64
   Max int64
}
 
type _Gid_t uint32
 
const (
   S_IFMT   = 0xf000
   S_IFIFO  = 0x1000
   S_IFCHR  = 0x2000
   S_IFDIR  = 0x4000
   S_IFBLK  = 0x6000
   S_IFREG  = 0x8000
   S_IFLNK  = 0xa000
   S_IFSOCK = 0xc000
   S_ISUID  = 0x800
   S_ISGID  = 0x400
   S_ISVTX  = 0x200
   S_IRUSR  = 0x100
   S_IWUSR  = 0x80
   S_IXUSR  = 0x40
   S_IRWXG  = 0x38
   S_IRWXO  = 0x7
)
 
const (
   _statfsVersion = 0x20140518
   _dirblksiz     = 0x400
)
 
type Stat_t struct {
   Dev           uint64
   Ino           uint64
   Nlink         uint64
   Mode          uint16
   Padding0      int16
   Uid           uint32
   Gid           uint32
   Padding1      int32
   Rdev          uint64
   Atim_ext      int32
   Atimespec     Timespec
   Mtim_ext      int32
   Mtimespec     Timespec
   Ctim_ext      int32
   Ctimespec     Timespec
   Btim_ext      int32
   Birthtimespec Timespec
   Size          int64
   Blocks        int64
   Blksize       int32
   Flags         uint32
   Gen           uint64
   Spare         [10]uint64
}
 
type stat_freebsd11_t struct {
   Dev           uint32
   Ino           uint32
   Mode          uint16
   Nlink         uint16
   Uid           uint32
   Gid           uint32
   Rdev          uint32
   Atimespec     Timespec
   Mtimespec     Timespec
   Ctimespec     Timespec
   Size          int64
   Blocks        int64
   Blksize       int32
   Flags         uint32
   Gen           uint32
   Lspare        int32
   Birthtimespec Timespec
   Pad_cgo_0     [8]byte
}
 
type Statfs_t struct {
   Version     uint32
   Type        uint32
   Flags       uint64
   Bsize       uint64
   Iosize      uint64
   Blocks      uint64
   Bfree       uint64
   Bavail      int64
   Files       uint64
   Ffree       int64
   Syncwrites  uint64
   Asyncwrites uint64
   Syncreads   uint64
   Asyncreads  uint64
   Spare       [10]uint64
   Namemax     uint32
   Owner       uint32
   Fsid        Fsid
   Charspare   [80]int8
   Fstypename  [16]int8
   Mntfromname [1024]int8
   Mntonname   [1024]int8
}
 
type statfs_freebsd11_t struct {
   Version     uint32
   Type        uint32
   Flags       uint64
   Bsize       uint64
   Iosize      uint64
   Blocks      uint64
   Bfree       uint64
   Bavail      int64
   Files       uint64
   Ffree       int64
   Syncwrites  uint64
   Asyncwrites uint64
   Syncreads   uint64
   Asyncreads  uint64
   Spare       [10]uint64
   Namemax     uint32
   Owner       uint32
   Fsid        Fsid
   Charspare   [80]int8
   Fstypename  [16]int8
   Mntfromname [88]int8
   Mntonname   [88]int8
}
 
type Flock_t struct {
   Start  int64
   Len    int64
   Pid    int32
   Type   int16
   Whence int16
   Sysid  int32
}
 
type Dirent struct {
   Fileno uint64
   Off    int64
   Reclen uint16
   Type   uint8
   Pad0   uint8
   Namlen uint16
   Pad1   uint16
   Name   [256]int8
}
 
type dirent_freebsd11 struct {
   Fileno uint32
   Reclen uint16
   Type   uint8
   Namlen uint8
   Name   [256]int8
}
 
type Fsid struct {
   Val [2]int32
}
 
const (
   pathMax = 0x400
)
 
type RawSockaddrInet4 struct {
   Len    uint8
   Family uint8
   Port   uint16
   Addr   [4]byte /* in_addr */
   Zero   [8]int8
}
 
type RawSockaddrInet6 struct {
   Len      uint8
   Family   uint8
   Port     uint16
   Flowinfo uint32
   Addr     [16]byte /* in6_addr */
   Scope_id uint32
}
 
type RawSockaddrUnix struct {
   Len    uint8
   Family uint8
   Path   [104]int8
}
 
type RawSockaddrDatalink struct {
   Len    uint8
   Family uint8
   Index  uint16
   Type   uint8
   Nlen   uint8
   Alen   uint8
   Slen   uint8
   Data   [46]int8
}
 
type RawSockaddr struct {
   Len    uint8
   Family uint8
   Data   [14]int8
}
 
type RawSockaddrAny struct {
   Addr RawSockaddr
   Pad  [92]int8
}
 
type _Socklen uint32
 
type Linger struct {
   Onoff  int32
   Linger int32
}
 
type Iovec struct {
   Base *byte
   Len  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 IPv6Mreq struct {
   Multiaddr [16]byte /* in6_addr */
   Interface uint32
}
 
type Msghdr struct {
   Name       *byte
   Namelen    uint32
   Iov        *Iovec
   Iovlen     int32
   Control    *byte
   Controllen uint32
   Flags      int32
}
 
type Cmsghdr struct {
   Len   uint32
   Level int32
   Type  int32
}
 
type Inet6Pktinfo struct {
   Addr    [16]byte /* in6_addr */
   Ifindex uint32
}
 
type IPv6MTUInfo struct {
   Addr RawSockaddrInet6
   Mtu  uint32
}
 
type ICMPv6Filter struct {
   Filt [8]uint32
}
 
const (
   SizeofSockaddrInet4    = 0x10
   SizeofSockaddrInet6    = 0x1c
   SizeofSockaddrAny      = 0x6c
   SizeofSockaddrUnix     = 0x6a
   SizeofSockaddrDatalink = 0x36
   SizeofLinger           = 0x8
   SizeofIPMreq           = 0x8
   SizeofIPMreqn          = 0xc
   SizeofIPv6Mreq         = 0x14
   SizeofMsghdr           = 0x1c
   SizeofCmsghdr          = 0xc
   SizeofInet6Pktinfo     = 0x14
   SizeofIPv6MTUInfo      = 0x20
   SizeofICMPv6Filter     = 0x20
)
 
const (
   PTRACE_TRACEME = 0x0
   PTRACE_CONT    = 0x7
   PTRACE_KILL    = 0x8
)
 
type Kevent_t struct {
   Ident  uint32
   Filter int16
   Flags  uint16
   Fflags uint32
   Data   int32
   Udata  *byte
}
 
type FdSet struct {
   X__fds_bits [32]uint32
}
 
const (
   sizeofIfMsghdr         = 0x64
   SizeofIfMsghdr         = 0x60
   sizeofIfData           = 0x54
   SizeofIfData           = 0x50
   SizeofIfaMsghdr        = 0x14
   SizeofIfmaMsghdr       = 0x10
   SizeofIfAnnounceMsghdr = 0x18
   SizeofRtMsghdr         = 0x5c
   SizeofRtMetrics        = 0x38
)
 
type ifMsghdr struct {
   Msglen    uint16
   Version   uint8
   Type      uint8
   Addrs     int32
   Flags     int32
   Index     uint16
   Pad_cgo_0 [2]byte
   Data      ifData
}
 
type IfMsghdr struct {
   Msglen    uint16
   Version   uint8
   Type      uint8
   Addrs     int32
   Flags     int32
   Index     uint16
   Pad_cgo_0 [2]byte
   Data      IfData
}
 
type ifData struct {
   Type        uint8
   Physical    uint8
   Addrlen     uint8
   Hdrlen      uint8
   Link_state  uint8
   Vhid        uint8
   Baudrate_pf uint8
   Datalen     uint8
   Mtu         uint32
   Metric      uint32
   Baudrate    uint32
   Ipackets    uint32
   Ierrors     uint32
   Opackets    uint32
   Oerrors     uint32
   Collisions  uint32
   Ibytes      uint32
   Obytes      uint32
   Imcasts     uint32
   Omcasts     uint32
   Iqdrops     uint32
   Noproto     uint32
   Hwassist    uint64
   Epoch       int32
   Lastchange  Timeval
}
 
type IfData struct {
   Type        uint8
   Physical    uint8
   Addrlen     uint8
   Hdrlen      uint8
   Link_state  uint8
   Spare_char1 uint8
   Spare_char2 uint8
   Datalen     uint8
   Mtu         uint32
   Metric      uint32
   Baudrate    uint32
   Ipackets    uint32
   Ierrors     uint32
   Opackets    uint32
   Oerrors     uint32
   Collisions  uint32
   Ibytes      uint32
   Obytes      uint32
   Imcasts     uint32
   Omcasts     uint32
   Iqdrops     uint32
   Noproto     uint32
   Hwassist    uint32
   Epoch       int32
   Lastchange  Timeval
}
 
type IfaMsghdr struct {
   Msglen    uint16
   Version   uint8
   Type      uint8
   Addrs     int32
   Flags     int32
   Index     uint16
   Pad_cgo_0 [2]byte
   Metric    int32
}
 
type IfmaMsghdr struct {
   Msglen    uint16
   Version   uint8
   Type      uint8
   Addrs     int32
   Flags     int32
   Index     uint16
   Pad_cgo_0 [2]byte
}
 
type IfAnnounceMsghdr struct {
   Msglen  uint16
   Version uint8
   Type    uint8
   Index   uint16
   Name    [16]int8
   What    uint16
}
 
type RtMsghdr struct {
   Msglen    uint16
   Version   uint8
   Type      uint8
   Index     uint16
   Pad_cgo_0 [2]byte
   Flags     int32
   Addrs     int32
   Pid       int32
   Seq       int32
   Errno     int32
   Fmask     int32
   Inits     uint32
   Rmx       RtMetrics
}
 
type RtMetrics struct {
   Locks    uint32
   Mtu      uint32
   Hopcount uint32
   Expire   uint32
   Recvpipe uint32
   Sendpipe uint32
   Ssthresh uint32
   Rtt      uint32
   Rttvar   uint32
   Pksent   uint32
   Weight   uint32
   Filler   [3]uint32
}
 
const (
   SizeofBpfVersion    = 0x4
   SizeofBpfStat       = 0x8
   SizeofBpfZbuf       = 0xc
   SizeofBpfProgram    = 0x8
   SizeofBpfInsn       = 0x8
   SizeofBpfHdr        = 0x14
   SizeofBpfZbufHeader = 0x20
)
 
type BpfVersion struct {
   Major uint16
   Minor uint16
}
 
type BpfStat struct {
   Recv uint32
   Drop uint32
}
 
type BpfZbuf struct {
   Bufa   *byte
   Bufb   *byte
   Buflen uint32
}
 
type BpfProgram struct {
   Len   uint32
   Insns *BpfInsn
}
 
type BpfInsn struct {
   Code uint16
   Jt   uint8
   Jf   uint8
   K    uint32
}
 
type BpfHdr struct {
   Tstamp    Timeval
   Caplen    uint32
   Datalen   uint32
   Hdrlen    uint16
   Pad_cgo_0 [2]byte
}
 
type BpfZbufHeader struct {
   Kernel_gen uint32
   Kernel_len uint32
   User_gen   uint32
   X_bzh_pad  [5]uint32
}
 
const (
   _AT_FDCWD            = -0x64
   _AT_SYMLINK_FOLLOW   = 0x400
   _AT_SYMLINK_NOFOLLOW = 0x200
)
 
type Termios struct {
   Iflag  uint32
   Oflag  uint32
   Cflag  uint32
   Lflag  uint32
   Cc     [20]uint8
   Ispeed uint32
   Ospeed uint32
}