2008-01-28 21:37:16 +00:00
|
|
|
/* source: xio-ip6.h */
|
2016-07-22 06:54:31 +00:00
|
|
|
/* Copyright Gerhard Rieger and contributors (see file CHANGES) */
|
2008-01-27 12:00:08 +00:00
|
|
|
/* Published under the GNU General Public License V.2, see file COPYING */
|
|
|
|
|
|
|
|
#ifndef __xio_ip6_h_included
|
|
|
|
#define __xio_ip6_h_included 1
|
|
|
|
|
|
|
|
#if WITH_IP6
|
|
|
|
|
2020-12-31 11:06:32 +00:00
|
|
|
#ifndef INET6_ADDRSTRLEN
|
|
|
|
# define INET6_ADDRSTRLEN 46
|
|
|
|
#endif
|
|
|
|
|
2008-01-27 12:00:08 +00:00
|
|
|
extern const struct optdesc opt_ipv6_v6only;
|
|
|
|
extern const struct optdesc opt_ipv6_join_group;
|
2023-06-24 08:40:07 +00:00
|
|
|
extern const struct optdesc opt_ipv6_join_source_group;
|
2008-09-22 20:17:55 +00:00
|
|
|
extern const struct optdesc opt_ipv6_pktinfo;
|
|
|
|
extern const struct optdesc opt_ipv6_recvpktinfo;
|
|
|
|
extern const struct optdesc opt_ipv6_rthdr;
|
|
|
|
extern const struct optdesc opt_ipv6_recvrthdr;
|
|
|
|
extern const struct optdesc opt_ipv6_authhdr;
|
|
|
|
extern const struct optdesc opt_ipv6_dstopts;
|
|
|
|
extern const struct optdesc opt_ipv6_recvdstopts;
|
|
|
|
extern const struct optdesc opt_ipv6_hopopts;
|
|
|
|
extern const struct optdesc opt_ipv6_unicast_hops;
|
|
|
|
extern const struct optdesc opt_ipv6_recvhopopts;
|
|
|
|
extern const struct optdesc opt_ipv6_flowinfo;
|
|
|
|
extern const struct optdesc opt_ipv6_hoplimit;
|
|
|
|
extern const struct optdesc opt_ipv6_recvhoplimit;
|
|
|
|
extern const struct optdesc opt_ipv6_recverr;
|
|
|
|
extern const struct optdesc opt_ipv6_tclass;
|
|
|
|
extern const struct optdesc opt_ipv6_recvtclass;
|
|
|
|
extern const struct optdesc opt_ipv6_recvpathmtu;
|
2008-01-27 12:00:08 +00:00
|
|
|
|
2023-11-05 12:56:58 +00:00
|
|
|
extern int xioip6_pton(const char *src, struct in6_addr *dst, const int ai_flags[2], const unsigned long res_opts[2]);
|
|
|
|
extern int xioparsenetwork_ip6(const char *rangename, struct xiorange *range, const int ai_flags[2], const unsigned long res_opts[2]);
|
2008-08-17 21:28:11 +00:00
|
|
|
extern int xiorange_ip6andmask(struct xiorange *range);
|
2008-01-27 12:00:08 +00:00
|
|
|
|
|
|
|
extern
|
2008-08-17 21:28:11 +00:00
|
|
|
int xiocheckrange_ip6(struct sockaddr_in6 *pa, struct xiorange *range);
|
2008-09-22 20:17:55 +00:00
|
|
|
extern
|
2023-09-30 13:18:39 +00:00
|
|
|
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);
|
2008-09-22 20:17:55 +00:00
|
|
|
extern int
|
|
|
|
xiosetsockaddrenv_ip6(int idx, char *namebuff, size_t namelen,
|
|
|
|
char *valuebuff, size_t valuelen,
|
|
|
|
struct sockaddr_in6 *sa, int ipproto);
|
2023-06-24 08:21:44 +00:00
|
|
|
extern int xioapply_ipv6_join_group(xiosingle_t *xfd, struct opt *opt);
|
2008-01-27 12:00:08 +00:00
|
|
|
|
2023-06-24 08:40:07 +00:00
|
|
|
extern int xiotype_ip6_join_source_group(char* token, const struct optname *ent, struct opt *opt);
|
|
|
|
extern int xioapply_ip6_join_source_group(struct single *xfd, struct opt *opt);
|
|
|
|
|
2008-01-27 12:00:08 +00:00
|
|
|
#endif /* WITH_IP6 */
|
|
|
|
|
|
|
|
#endif /* !defined(__xio_ip6_h_included) */
|