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// +build ignore
6
7// +godefs map struct_in_addr [4]byte /* in_addr */
8
9package ipv4
10
11/*
12#include <sys/socket.h>
13
14#include <netinet/in.h>
15*/
16import "C"
17
18const (
19	sysIP_OPTIONS     = C.IP_OPTIONS
20	sysIP_HDRINCL     = C.IP_HDRINCL
21	sysIP_TOS         = C.IP_TOS
22	sysIP_TTL         = C.IP_TTL
23	sysIP_RECVOPTS    = C.IP_RECVOPTS
24	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
25	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
26	sysIP_SENDSRCADDR = C.IP_SENDSRCADDR
27	sysIP_RETOPTS     = C.IP_RETOPTS
28	sysIP_RECVIF      = C.IP_RECVIF
29	sysIP_ONESBCAST   = C.IP_ONESBCAST
30	sysIP_BINDANY     = C.IP_BINDANY
31	sysIP_RECVTTL     = C.IP_RECVTTL
32	sysIP_MINTTL      = C.IP_MINTTL
33	sysIP_DONTFRAG    = C.IP_DONTFRAG
34	sysIP_RECVTOS     = C.IP_RECVTOS
35
36	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
37	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
38	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
39	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
40	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
41	sysIP_MULTICAST_VIF          = C.IP_MULTICAST_VIF
42	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
43	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
44	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
45	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
46	sysMCAST_JOIN_GROUP          = C.MCAST_JOIN_GROUP
47	sysMCAST_LEAVE_GROUP         = C.MCAST_LEAVE_GROUP
48	sysMCAST_JOIN_SOURCE_GROUP   = C.MCAST_JOIN_SOURCE_GROUP
49	sysMCAST_LEAVE_SOURCE_GROUP  = C.MCAST_LEAVE_SOURCE_GROUP
50	sysMCAST_BLOCK_SOURCE        = C.MCAST_BLOCK_SOURCE
51	sysMCAST_UNBLOCK_SOURCE      = C.MCAST_UNBLOCK_SOURCE
52
53	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
54	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
55
56	sizeofIPMreq         = C.sizeof_struct_ip_mreq
57	sizeofIPMreqn        = C.sizeof_struct_ip_mreqn
58	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
59	sizeofGroupReq       = C.sizeof_struct_group_req
60	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
61)
62
63type sockaddrStorage C.struct_sockaddr_storage
64
65type sockaddrInet C.struct_sockaddr_in
66
67type ipMreq C.struct_ip_mreq
68
69type ipMreqn C.struct_ip_mreqn
70
71type ipMreqSource C.struct_ip_mreq_source
72
73type groupReq C.struct_group_req
74
75type groupSourceReq C.struct_group_source_req
76