1/*
2 * Copyright (C) 1999 Yasuhiro Ohara
3 *
4 * This file is part of GNU Zebra.
5 *
6 * GNU Zebra is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
9 * later version.
10 *
11 * GNU Zebra is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with GNU Zebra; see the file COPYING.  If not, write to the
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 */
21
22#ifndef OSPF6_NETWORK_H
23#define OSPF6_NETWORK_H
24
25
26
27/* Function Prototypes */
28void iov_clear (struct iovec *, size_t);
29int iov_count (struct iovec *);
30int iov_totallen (struct iovec *);
31void *iov_prepend (int, struct iovec *, size_t);
32void *iov_append (int, struct iovec *, size_t);
33void *iov_attach_last (struct iovec *, void *, size_t);
34void *iov_detach_first (struct iovec *);
35int iov_free (int, struct iovec *, u_int, u_int);
36void iov_trim_head (int, struct iovec *);
37void iov_free_all (int, struct iovec *);
38void iov_copy_all (struct iovec *, struct iovec *, size_t);
39
40int ospf6_serv_sock ();
41int ospf6_join_allspfrouters (u_int);
42void ospf6_leave_allspfrouters (u_int);
43void ospf6_join_alldrouters (u_int);
44void ospf6_leave_alldrouters (u_int);
45void ospf6_set_reuseaddr ();
46void ospf6_reset_mcastloop ();
47void ospf6_set_pktinfo ();
48void ospf6_set_checksum ();
49
50void ospf6_sendmsg (struct in6_addr *, struct in6_addr *,
51                    unsigned int *, struct iovec *);
52void ospf6_recvmsg (struct in6_addr *, struct in6_addr *,
53                    unsigned int *, struct iovec *);
54void ospf6_recvmsg_peek (struct in6_addr *, struct in6_addr *,
55                         unsigned int *, struct iovec *);
56
57#endif /* OSPF6_NETWORK_H */
58
59