Version 1.8.0.0
[socat.git] / xio-ip6.h
blobdea069a50bf890c94f87003fc08e3b0b13fb5d29
1 /* source: xio-ip6.h */
2 /* Copyright Gerhard Rieger and contributors (see file CHANGES) */
3 /* Published under the GNU General Public License V.2, see file COPYING */
5 #ifndef __xio_ip6_h_included
6 #define __xio_ip6_h_included 1
8 #if WITH_IP6
10 #ifndef INET6_ADDRSTRLEN
11 # define INET6_ADDRSTRLEN 46
12 #endif
14 extern const struct optdesc opt_ipv6_v6only;
15 extern const struct optdesc opt_ipv6_join_group;
16 extern const struct optdesc opt_ipv6_join_source_group;
17 extern const struct optdesc opt_ipv6_pktinfo;
18 extern const struct optdesc opt_ipv6_recvpktinfo;
19 extern const struct optdesc opt_ipv6_rthdr;
20 extern const struct optdesc opt_ipv6_recvrthdr;
21 extern const struct optdesc opt_ipv6_authhdr;
22 extern const struct optdesc opt_ipv6_dstopts;
23 extern const struct optdesc opt_ipv6_recvdstopts;
24 extern const struct optdesc opt_ipv6_hopopts;
25 extern const struct optdesc opt_ipv6_unicast_hops;
26 extern const struct optdesc opt_ipv6_recvhopopts;
27 extern const struct optdesc opt_ipv6_flowinfo;
28 extern const struct optdesc opt_ipv6_hoplimit;
29 extern const struct optdesc opt_ipv6_recvhoplimit;
30 extern const struct optdesc opt_ipv6_recverr;
31 extern const struct optdesc opt_ipv6_tclass;
32 extern const struct optdesc opt_ipv6_recvtclass;
33 extern const struct optdesc opt_ipv6_recvpathmtu;
35 extern int xioip6_pton(const char *src, struct in6_addr *dst, const int ai_flags[2]);
36 extern int xioparsenetwork_ip6(const char *rangename, struct xiorange *range, const int ai_flags[2]);
37 extern int xiorange_ip6andmask(struct xiorange *range);
39 extern
40 int xiocheckrange_ip6(struct sockaddr_in6 *pa, struct xiorange *range);
41 extern
42 int xiolog_ancillary_ip6(struct single *sfd, struct cmsghdr *cmsg, int *num, char *typbuff, int typlen, char *nambuff, int namlen, char *envbuff, int envlen, char *valbuff, int vallen);
43 extern int
44 xiosetsockaddrenv_ip6(int idx, char *namebuff, size_t namelen,
45 char *valuebuff, size_t valuelen,
46 struct sockaddr_in6 *sa, int ipproto);
47 extern int xioapply_ipv6_join_group(xiosingle_t *xfd, struct opt *opt);
49 extern int xiotype_ip6_join_source_group(char* token, const struct optname *ent, struct opt *opt);
50 extern int xioapply_ip6_join_source_group(struct single *xfd, struct opt *opt);
52 #endif /* WITH_IP6 */
54 #endif /* !defined(__xio_ip6_h_included) */