summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pim6sd/pim6_proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pim6sd/pim6_proto.h')
-rw-r--r--usr.sbin/pim6sd/pim6_proto.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/usr.sbin/pim6sd/pim6_proto.h b/usr.sbin/pim6sd/pim6_proto.h
new file mode 100644
index 0000000..a02e3d3
--- /dev/null
+++ b/usr.sbin/pim6sd/pim6_proto.h
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 1998 by the University of Southern California.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation in source and binary forms for lawful
+ * purposes and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both
+ * the copyright notice and this permission notice appear in supporting
+ * documentation, and that any documentation, advertising materials,
+ * and other materials related to such distribution and use acknowledge
+ * that the software was developed by the University of Southern
+ * California and/or Information Sciences Institute.
+ * The name of the University of Southern California may not
+ * be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THE UNIVERSITY OF SOUTHERN CALIFORNIA DOES NOT MAKE ANY REPRESENTATIONS
+ * ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE IS
+ * PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND
+ * NON-INFRINGEMENT.
+ *
+ * IN NO EVENT SHALL USC, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
+ * TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
+ * THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Other copyrights might apply to parts of this software and are so
+ * noted when applicable.
+ *
+ * $FreeBSD$
+ */
+/* Questions concerning this software should be directed to
+ * Mickael Hoerdt (hoerdt@clarinet.u-strasbg.fr) LSIIT Strasbourg.
+ *
+ */
+/*
+ * This program has been derived from pim6dd.
+ * The pim6dd program is covered by the license in the accompanying file
+ * named "LICENSE.pim6dd".
+ */
+/*
+ * This program has been derived from pimd.
+ * The pimd program is covered by the license in the accompanying file
+ * named "LICENSE.pimd".
+ *
+ */
+
+
+#ifndef PIM6_PROTO_H
+#define PIM6_PROTO_H
+#include "defs.h"
+#include "vif.h"
+#include "mrt.h"
+
+extern build_jp_message_t *build_jp_message_pool;
+extern int build_jp_message_pool_counter;
+extern struct sockaddr_in6 sockaddr6_any;
+extern struct sockaddr_in6 sockaddr6_d;
+
+extern int receive_pim6_hello __P((struct sockaddr_in6 *src,
+ char *pim_message, int datalen));
+
+extern int send_pim6_hello __P((struct uvif *v, u_int16 holdtime));
+extern void delete_pim6_nbr __P((pim_nbr_entry_t *nbr_delete));
+
+extern int receive_pim6_register __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message, int datalen));
+extern int send_pim6_null_register __P((mrtentry_t *r));
+extern int receive_pim6_register_stop __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message,
+ int datalen));
+extern int send_pim6_register __P((char *pkt));
+extern int receive_pim6_join_prune __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message, int datalen));
+extern int join_or_prune __P((mrtentry_t *mrtentry_ptr,
+ pim_nbr_entry_t *upstream_router));
+extern int receive_pim6_assert __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message, int datalen));
+extern int send_pim6_assert __P((struct sockaddr_in6 *source, struct sockaddr_in6 *group,
+ vifi_t vifi,
+ mrtentry_t *mrtentry_ptr));
+extern int send_periodic_pim6_join_prune __P((vifi_t vifi,
+ pim_nbr_entry_t *pim_nbr,
+ u_int16 holdtime));
+extern int add_jp_entry __P((pim_nbr_entry_t *pim_nbr,
+ u_int16 holdtime, struct sockaddr_in6 *group,
+ u_int8 grp_msklen, struct sockaddr_in6 *source,
+ u_int8 src_msklen,
+ u_int16 addr_flags,
+ u_int8 join_prune));
+extern void pack_and_send_jp6_message __P((pim_nbr_entry_t *pim_nbr));
+extern int receive_pim6_cand_rp_adv __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message, int datalen));
+extern int receive_pim6_bootstrap __P((struct sockaddr_in6 *src, struct sockaddr_in6 *dst,
+ char *pim_message, int datalen));
+extern int send_pim6_cand_rp_adv __P(());
+extern void send_pim6_bootstrap __P(());
+
+
+#endif
OpenPOWER on IntegriCloud