1// +build amd64,linux
2// Created by cgo -godefs - DO NOT EDIT
3// cgo -godefs types_linux.go
4
5package unix
6
7const (
8	sizeofPtr      = 0x8
9	sizeofShort    = 0x2
10	sizeofInt      = 0x4
11	sizeofLong     = 0x8
12	sizeofLongLong = 0x8
13	PathMax        = 0x1000
14)
15
16type (
17	_C_short     int16
18	_C_int       int32
19	_C_long      int64
20	_C_long_long int64
21)
22
23type Timespec struct {
24	Sec  int64
25	Nsec int64
26}
27
28type Timeval struct {
29	Sec  int64
30	Usec int64
31}
32
33type Timex struct {
34	Modes     uint32
35	Pad_cgo_0 [4]byte
36	Offset    int64
37	Freq      int64
38	Maxerror  int64
39	Esterror  int64
40	Status    int32
41	Pad_cgo_1 [4]byte
42	Constant  int64
43	Precision int64
44	Tolerance int64
45	Time      Timeval
46	Tick      int64
47	Ppsfreq   int64
48	Jitter    int64
49	Shift     int32
50	Pad_cgo_2 [4]byte
51	Stabil    int64
52	Jitcnt    int64
53	Calcnt    int64
54	Errcnt    int64
55	Stbcnt    int64
56	Tai       int32
57	Pad_cgo_3 [44]byte
58}
59
60type Time_t int64
61
62type Tms struct {
63	Utime  int64
64	Stime  int64
65	Cutime int64
66	Cstime int64
67}
68
69type Utimbuf struct {
70	Actime  int64
71	Modtime int64
72}
73
74type Rusage struct {
75	Utime    Timeval
76	Stime    Timeval
77	Maxrss   int64
78	Ixrss    int64
79	Idrss    int64
80	Isrss    int64
81	Minflt   int64
82	Majflt   int64
83	Nswap    int64
84	Inblock  int64
85	Oublock  int64
86	Msgsnd   int64
87	Msgrcv   int64
88	Nsignals int64
89	Nvcsw    int64
90	Nivcsw   int64
91}
92
93type Rlimit struct {
94	Cur uint64
95	Max uint64
96}
97
98type _Gid_t uint32
99
100type Stat_t struct {
101	Dev       uint64
102	Ino       uint64
103	Nlink     uint64
104	Mode      uint32
105	Uid       uint32
106	Gid       uint32
107	X__pad0   int32
108	Rdev      uint64
109	Size      int64
110	Blksize   int64
111	Blocks    int64
112	Atim      Timespec
113	Mtim      Timespec
114	Ctim      Timespec
115	X__unused [3]int64
116}
117
118type Statfs_t struct {
119	Type    int64
120	Bsize   int64
121	Blocks  uint64
122	Bfree   uint64
123	Bavail  uint64
124	Files   uint64
125	Ffree   uint64
126	Fsid    Fsid
127	Namelen int64
128	Frsize  int64
129	Flags   int64
130	Spare   [4]int64
131}
132
133type Dirent struct {
134	Ino       uint64
135	Off       int64
136	Reclen    uint16
137	Type      uint8
138	Name      [256]int8
139	Pad_cgo_0 [5]byte
140}
141
142type Fsid struct {
143	X__val [2]int32
144}
145
146type Flock_t struct {
147	Type      int16
148	Whence    int16
149	Pad_cgo_0 [4]byte
150	Start     int64
151	Len       int64
152	Pid       int32
153	Pad_cgo_1 [4]byte
154}
155
156const (
157	FADV_NORMAL     = 0x0
158	FADV_RANDOM     = 0x1
159	FADV_SEQUENTIAL = 0x2
160	FADV_WILLNEED   = 0x3
161	FADV_DONTNEED   = 0x4
162	FADV_NOREUSE    = 0x5
163)
164
165type RawSockaddrInet4 struct {
166	Family uint16
167	Port   uint16
168	Addr   [4]byte /* in_addr */
169	Zero   [8]uint8
170}
171
172type RawSockaddrInet6 struct {
173	Family   uint16
174	Port     uint16
175	Flowinfo uint32
176	Addr     [16]byte /* in6_addr */
177	Scope_id uint32
178}
179
180type RawSockaddrUnix struct {
181	Family uint16
182	Path   [108]int8
183}
184
185type RawSockaddrLinklayer struct {
186	Family   uint16
187	Protocol uint16
188	Ifindex  int32
189	Hatype   uint16
190	Pkttype  uint8
191	Halen    uint8
192	Addr     [8]uint8
193}
194
195type RawSockaddrNetlink struct {
196	Family uint16
197	Pad    uint16
198	Pid    uint32
199	Groups uint32
200}
201
202type RawSockaddrHCI struct {
203	Family  uint16
204	Dev     uint16
205	Channel uint16
206}
207
208type RawSockaddr struct {
209	Family uint16
210	Data   [14]int8
211}
212
213type RawSockaddrAny struct {
214	Addr RawSockaddr
215	Pad  [96]int8
216}
217
218type _Socklen uint32
219
220type Linger struct {
221	Onoff  int32
222	Linger int32
223}
224
225type Iovec struct {
226	Base *byte
227	Len  uint64
228}
229
230type IPMreq struct {
231	Multiaddr [4]byte /* in_addr */
232	Interface [4]byte /* in_addr */
233}
234
235type IPMreqn struct {
236	Multiaddr [4]byte /* in_addr */
237	Address   [4]byte /* in_addr */
238	Ifindex   int32
239}
240
241type IPv6Mreq struct {
242	Multiaddr [16]byte /* in6_addr */
243	Interface uint32
244}
245
246type Msghdr struct {
247	Name       *byte
248	Namelen    uint32
249	Pad_cgo_0  [4]byte
250	Iov        *Iovec
251	Iovlen     uint64
252	Control    *byte
253	Controllen uint64
254	Flags      int32
255	Pad_cgo_1  [4]byte
256}
257
258type Cmsghdr struct {
259	Len          uint64
260	Level        int32
261	Type         int32
262	X__cmsg_data [0]uint8
263}
264
265type Inet4Pktinfo struct {
266	Ifindex  int32
267	Spec_dst [4]byte /* in_addr */
268	Addr     [4]byte /* in_addr */
269}
270
271type Inet6Pktinfo struct {
272	Addr    [16]byte /* in6_addr */
273	Ifindex uint32
274}
275
276type IPv6MTUInfo struct {
277	Addr RawSockaddrInet6
278	Mtu  uint32
279}
280
281type ICMPv6Filter struct {
282	Data [8]uint32
283}
284
285type Ucred struct {
286	Pid int32
287	Uid uint32
288	Gid uint32
289}
290
291type TCPInfo struct {
292	State          uint8
293	Ca_state       uint8
294	Retransmits    uint8
295	Probes         uint8
296	Backoff        uint8
297	Options        uint8
298	Pad_cgo_0      [2]byte
299	Rto            uint32
300	Ato            uint32
301	Snd_mss        uint32
302	Rcv_mss        uint32
303	Unacked        uint32
304	Sacked         uint32
305	Lost           uint32
306	Retrans        uint32
307	Fackets        uint32
308	Last_data_sent uint32
309	Last_ack_sent  uint32
310	Last_data_recv uint32
311	Last_ack_recv  uint32
312	Pmtu           uint32
313	Rcv_ssthresh   uint32
314	Rtt            uint32
315	Rttvar         uint32
316	Snd_ssthresh   uint32
317	Snd_cwnd       uint32
318	Advmss         uint32
319	Reordering     uint32
320	Rcv_rtt        uint32
321	Rcv_space      uint32
322	Total_retrans  uint32
323}
324
325const (
326	SizeofSockaddrInet4     = 0x10
327	SizeofSockaddrInet6     = 0x1c
328	SizeofSockaddrAny       = 0x70
329	SizeofSockaddrUnix      = 0x6e
330	SizeofSockaddrLinklayer = 0x14
331	SizeofSockaddrNetlink   = 0xc
332	SizeofSockaddrHCI       = 0x6
333	SizeofLinger            = 0x8
334	SizeofIPMreq            = 0x8
335	SizeofIPMreqn           = 0xc
336	SizeofIPv6Mreq          = 0x14
337	SizeofMsghdr            = 0x38
338	SizeofCmsghdr           = 0x10
339	SizeofInet4Pktinfo      = 0xc
340	SizeofInet6Pktinfo      = 0x14
341	SizeofIPv6MTUInfo       = 0x20
342	SizeofICMPv6Filter      = 0x20
343	SizeofUcred             = 0xc
344	SizeofTCPInfo           = 0x68
345)
346
347const (
348	IFA_UNSPEC          = 0x0
349	IFA_ADDRESS         = 0x1
350	IFA_LOCAL           = 0x2
351	IFA_LABEL           = 0x3
352	IFA_BROADCAST       = 0x4
353	IFA_ANYCAST         = 0x5
354	IFA_CACHEINFO       = 0x6
355	IFA_MULTICAST       = 0x7
356	IFLA_UNSPEC         = 0x0
357	IFLA_ADDRESS        = 0x1
358	IFLA_BROADCAST      = 0x2
359	IFLA_IFNAME         = 0x3
360	IFLA_MTU            = 0x4
361	IFLA_LINK           = 0x5
362	IFLA_QDISC          = 0x6
363	IFLA_STATS          = 0x7
364	IFLA_COST           = 0x8
365	IFLA_PRIORITY       = 0x9
366	IFLA_MASTER         = 0xa
367	IFLA_WIRELESS       = 0xb
368	IFLA_PROTINFO       = 0xc
369	IFLA_TXQLEN         = 0xd
370	IFLA_MAP            = 0xe
371	IFLA_WEIGHT         = 0xf
372	IFLA_OPERSTATE      = 0x10
373	IFLA_LINKMODE       = 0x11
374	IFLA_LINKINFO       = 0x12
375	IFLA_NET_NS_PID     = 0x13
376	IFLA_IFALIAS        = 0x14
377	IFLA_MAX            = 0x1d
378	RT_SCOPE_UNIVERSE   = 0x0
379	RT_SCOPE_SITE       = 0xc8
380	RT_SCOPE_LINK       = 0xfd
381	RT_SCOPE_HOST       = 0xfe
382	RT_SCOPE_NOWHERE    = 0xff
383	RT_TABLE_UNSPEC     = 0x0
384	RT_TABLE_COMPAT     = 0xfc
385	RT_TABLE_DEFAULT    = 0xfd
386	RT_TABLE_MAIN       = 0xfe
387	RT_TABLE_LOCAL      = 0xff
388	RT_TABLE_MAX        = 0xffffffff
389	RTA_UNSPEC          = 0x0
390	RTA_DST             = 0x1
391	RTA_SRC             = 0x2
392	RTA_IIF             = 0x3
393	RTA_OIF             = 0x4
394	RTA_GATEWAY         = 0x5
395	RTA_PRIORITY        = 0x6
396	RTA_PREFSRC         = 0x7
397	RTA_METRICS         = 0x8
398	RTA_MULTIPATH       = 0x9
399	RTA_FLOW            = 0xb
400	RTA_CACHEINFO       = 0xc
401	RTA_TABLE           = 0xf
402	RTN_UNSPEC          = 0x0
403	RTN_UNICAST         = 0x1
404	RTN_LOCAL           = 0x2
405	RTN_BROADCAST       = 0x3
406	RTN_ANYCAST         = 0x4
407	RTN_MULTICAST       = 0x5
408	RTN_BLACKHOLE       = 0x6
409	RTN_UNREACHABLE     = 0x7
410	RTN_PROHIBIT        = 0x8
411	RTN_THROW           = 0x9
412	RTN_NAT             = 0xa
413	RTN_XRESOLVE        = 0xb
414	RTNLGRP_NONE        = 0x0
415	RTNLGRP_LINK        = 0x1
416	RTNLGRP_NOTIFY      = 0x2
417	RTNLGRP_NEIGH       = 0x3
418	RTNLGRP_TC          = 0x4
419	RTNLGRP_IPV4_IFADDR = 0x5
420	RTNLGRP_IPV4_MROUTE = 0x6
421	RTNLGRP_IPV4_ROUTE  = 0x7
422	RTNLGRP_IPV4_RULE   = 0x8
423	RTNLGRP_IPV6_IFADDR = 0x9
424	RTNLGRP_IPV6_MROUTE = 0xa
425	RTNLGRP_IPV6_ROUTE  = 0xb
426	RTNLGRP_IPV6_IFINFO = 0xc
427	RTNLGRP_IPV6_PREFIX = 0x12
428	RTNLGRP_IPV6_RULE   = 0x13
429	RTNLGRP_ND_USEROPT  = 0x14
430	SizeofNlMsghdr      = 0x10
431	SizeofNlMsgerr      = 0x14
432	SizeofRtGenmsg      = 0x1
433	SizeofNlAttr        = 0x4
434	SizeofRtAttr        = 0x4
435	SizeofIfInfomsg     = 0x10
436	SizeofIfAddrmsg     = 0x8
437	SizeofRtMsg         = 0xc
438	SizeofRtNexthop     = 0x8
439)
440
441type NlMsghdr struct {
442	Len   uint32
443	Type  uint16
444	Flags uint16
445	Seq   uint32
446	Pid   uint32
447}
448
449type NlMsgerr struct {
450	Error int32
451	Msg   NlMsghdr
452}
453
454type RtGenmsg struct {
455	Family uint8
456}
457
458type NlAttr struct {
459	Len  uint16
460	Type uint16
461}
462
463type RtAttr struct {
464	Len  uint16
465	Type uint16
466}
467
468type IfInfomsg struct {
469	Family     uint8
470	X__ifi_pad uint8
471	Type       uint16
472	Index      int32
473	Flags      uint32
474	Change     uint32
475}
476
477type IfAddrmsg struct {
478	Family    uint8
479	Prefixlen uint8
480	Flags     uint8
481	Scope     uint8
482	Index     uint32
483}
484
485type RtMsg struct {
486	Family   uint8
487	Dst_len  uint8
488	Src_len  uint8
489	Tos      uint8
490	Table    uint8
491	Protocol uint8
492	Scope    uint8
493	Type     uint8
494	Flags    uint32
495}
496
497type RtNexthop struct {
498	Len     uint16
499	Flags   uint8
500	Hops    uint8
501	Ifindex int32
502}
503
504const (
505	SizeofSockFilter = 0x8
506	SizeofSockFprog  = 0x10
507)
508
509type SockFilter struct {
510	Code uint16
511	Jt   uint8
512	Jf   uint8
513	K    uint32
514}
515
516type SockFprog struct {
517	Len       uint16
518	Pad_cgo_0 [6]byte
519	Filter    *SockFilter
520}
521
522type InotifyEvent struct {
523	Wd     int32
524	Mask   uint32
525	Cookie uint32
526	Len    uint32
527	Name   [0]int8
528}
529
530const SizeofInotifyEvent = 0x10
531
532type PtraceRegs struct {
533	R15      uint64
534	R14      uint64
535	R13      uint64
536	R12      uint64
537	Rbp      uint64
538	Rbx      uint64
539	R11      uint64
540	R10      uint64
541	R9       uint64
542	R8       uint64
543	Rax      uint64
544	Rcx      uint64
545	Rdx      uint64
546	Rsi      uint64
547	Rdi      uint64
548	Orig_rax uint64
549	Rip      uint64
550	Cs       uint64
551	Eflags   uint64
552	Rsp      uint64
553	Ss       uint64
554	Fs_base  uint64
555	Gs_base  uint64
556	Ds       uint64
557	Es       uint64
558	Fs       uint64
559	Gs       uint64
560}
561
562type FdSet struct {
563	Bits [16]int64
564}
565
566type Sysinfo_t struct {
567	Uptime    int64
568	Loads     [3]uint64
569	Totalram  uint64
570	Freeram   uint64
571	Sharedram uint64
572	Bufferram uint64
573	Totalswap uint64
574	Freeswap  uint64
575	Procs     uint16
576	Pad       uint16
577	Pad_cgo_0 [4]byte
578	Totalhigh uint64
579	Freehigh  uint64
580	Unit      uint32
581	X_f       [0]int8
582	Pad_cgo_1 [4]byte
583}
584
585type Utsname struct {
586	Sysname    [65]int8
587	Nodename   [65]int8
588	Release    [65]int8
589	Version    [65]int8
590	Machine    [65]int8
591	Domainname [65]int8
592}
593
594type Ustat_t struct {
595	Tfree     int32
596	Pad_cgo_0 [4]byte
597	Tinode    uint64
598	Fname     [6]int8
599	Fpack     [6]int8
600	Pad_cgo_1 [4]byte
601}
602
603type EpollEvent struct {
604	Events uint32
605	Fd     int32
606	Pad    int32
607}
608
609const (
610	AT_FDCWD            = -0x64
611	AT_REMOVEDIR        = 0x200
612	AT_SYMLINK_FOLLOW   = 0x400
613	AT_SYMLINK_NOFOLLOW = 0x100
614)
615
616type PollFd struct {
617	Fd      int32
618	Events  int16
619	Revents int16
620}
621
622const (
623	POLLIN    = 0x1
624	POLLPRI   = 0x2
625	POLLOUT   = 0x4
626	POLLRDHUP = 0x2000
627	POLLERR   = 0x8
628	POLLHUP   = 0x10
629	POLLNVAL  = 0x20
630)
631
632type Sigset_t struct {
633	X__val [16]uint64
634}
635
636type Termios struct {
637	Iflag  uint32
638	Oflag  uint32
639	Cflag  uint32
640	Lflag  uint32
641	Line   uint8
642	Cc     [19]uint8
643	Ispeed uint32
644	Ospeed uint32
645}
646