1// Copyright 2014 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5//go:build ignore
6// +build ignore
7
8// +godefs map struct_in_addr [4]byte /* in_addr */
9
10package ipv4
11
12/*
13#include <sys/socket.h>
14
15#include <netinet/in.h>
16*/
17import "C"
18
19const (
20	sysIP_OPTIONS     = C.IP_OPTIONS
21	sysIP_HDRINCL     = C.IP_HDRINCL
22	sysIP_TOS         = C.IP_TOS
23	sysIP_TTL         = C.IP_TTL
24	sysIP_RECVOPTS    = C.IP_RECVOPTS
25	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
26	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
27	sysIP_RETOPTS     = C.IP_RETOPTS
28	sysIP_RECVIF      = C.IP_RECVIF
29	sysIP_RECVSLLA    = C.IP_RECVSLLA
30	sysIP_RECVTTL     = C.IP_RECVTTL
31
32	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
33	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
34	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
35	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
36	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
37	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
38	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
39	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
40	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
41	sysIP_NEXTHOP                = C.IP_NEXTHOP
42
43	sysIP_PKTINFO     = C.IP_PKTINFO
44	sysIP_RECVPKTINFO = C.IP_RECVPKTINFO
45	sysIP_DONTFRAG    = C.IP_DONTFRAG
46
47	sysIP_BOUND_IF      = C.IP_BOUND_IF
48	sysIP_UNSPEC_SRC    = C.IP_UNSPEC_SRC
49	sysIP_BROADCAST_TTL = C.IP_BROADCAST_TTL
50	sysIP_DHCPINIT_IF   = C.IP_DHCPINIT_IF
51
52	sysIP_REUSEADDR = C.IP_REUSEADDR
53	sysIP_DONTROUTE = C.IP_DONTROUTE
54	sysIP_BROADCAST = C.IP_BROADCAST
55
56	sysMCAST_JOIN_GROUP         = C.MCAST_JOIN_GROUP
57	sysMCAST_LEAVE_GROUP        = C.MCAST_LEAVE_GROUP
58	sysMCAST_BLOCK_SOURCE       = C.MCAST_BLOCK_SOURCE
59	sysMCAST_UNBLOCK_SOURCE     = C.MCAST_UNBLOCK_SOURCE
60	sysMCAST_JOIN_SOURCE_GROUP  = C.MCAST_JOIN_SOURCE_GROUP
61	sysMCAST_LEAVE_SOURCE_GROUP = C.MCAST_LEAVE_SOURCE_GROUP
62
63	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
64	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
65	sizeofInetPktinfo     = C.sizeof_struct_in_pktinfo
66
67	sizeofIPMreq         = C.sizeof_struct_ip_mreq
68	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
69	sizeofGroupReq       = C.sizeof_struct_group_req
70	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
71)
72
73type sockaddrStorage C.struct_sockaddr_storage
74
75type sockaddrInet C.struct_sockaddr_in
76
77type inetPktinfo C.struct_in_pktinfo
78
79type ipMreq C.struct_ip_mreq
80
81type ipMreqSource C.struct_ip_mreq_source
82
83type groupReq C.struct_group_req
84
85type groupSourceReq C.struct_group_source_req
86