* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
+ * You should have received a copy of the GNU General Public License along
+ * with this program; see the file COPYING; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef PIM_REGISTER_H
#define PIM_REGISTER_H
#define PIM_MSG_REGISTER_LEN (8)
#define PIM_MSG_REGISTER_STOP_LEN (4)
-void pim_register_send_test_packet_start (struct in_addr source,
- struct in_addr group,
- uint32_t pps);
+int pim_register_stop_recv(struct interface *ifp, uint8_t *buf, int buf_size);
-int pim_register_recv (struct interface *ifp,
- struct in_addr dest_addr,
- struct in_addr src_addr,
- uint8_t *tlv_buf, int tlv_buf_size);
+int pim_register_recv(struct interface *ifp, struct in_addr dest_addr,
+ struct in_addr src_addr, uint8_t *tlv_buf,
+ int tlv_buf_size);
-void pim_register_send (const struct ip *msg, struct pim_rpf *rpg);
+void pim_register_send(const uint8_t *buf, int buf_size, struct in_addr src,
+ struct pim_rpf *rpg, int null_register,
+ struct pim_upstream *up);
+void pim_register_stop_send(struct interface *ifp, struct prefix_sg *sg,
+ struct in_addr src, struct in_addr originator);
+void pim_register_join(struct pim_upstream *up);
+void pim_null_register_send(struct pim_upstream *up);
#endif