1 /*
2   PIM for Quagga
3   Copyright (C) 2008  Everton da Silva Marques
4 
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 2 of the License, or
8   (at your option) any later version.
9 
10   This program is distributed in the hope that it will be useful, but
11   WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   General Public License for more details.
14 
15   You should have received a copy of the GNU General Public License
16   along with this program; see the file COPYING; if not, write to the
17   Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
18   MA 02110-1301 USA
19 
20   $QuaggaId: $Format:%an, %ai, %h$ $
21 */
22 
23 #ifndef PIM_SSMPINGD_H
24 #define PIM_SSMPINGD_H
25 
26 #include <zebra.h>
27 
28 #include "if.h"
29 
30 #include "pim_iface.h"
31 
32 struct ssmpingd_sock {
33   int            sock_fd;     /* socket */
34   struct thread *t_sock_read; /* thread for reading socket */
35   struct in_addr source_addr; /* source address */
36   int64_t        creation;    /* timestamp of socket creation */
37   int64_t        requests;    /* counter */
38 };
39 
40 void pim_ssmpingd_init(void);
41 void pim_ssmpingd_destroy(void);
42 int pim_ssmpingd_start(struct in_addr source_addr);
43 int pim_ssmpingd_stop(struct in_addr source_addr);
44 
45 #endif /* PIM_SSMPINGD_H */
46