]>
Commit | Line | Data |
---|---|---|
4364b47e OF |
1 | /* |
2 | * BIRD -- OSPF | |
3 | * | |
3e2bd0f1 | 4 | * (c) 1999--2004 Ondrej Filip <feela@network.cz> |
4364b47e OF |
5 | * |
6 | * Can be freely distributed and used under the terms of the GNU GPL. | |
7 | * | |
8 | */ | |
9 | ||
10 | #ifndef _BIRD_OSPF_PACKET_H_ | |
11 | #define _BIRD_OSPF_PACKET_H_ | |
12 | ||
3e2bd0f1 OF |
13 | void ospf_pkt_fill_hdr(struct ospf_iface *ifa, void *buf, u8 h_type); |
14 | unsigned ospf_pkt_maxsize(struct ospf_iface *ifa); | |
2e10a170 OF |
15 | int ospf_rx_hook(sock * sk, int size); |
16 | void ospf_tx_hook(sock * sk); | |
17 | void ospf_err_hook(sock * sk, int err); | |
f9c799a0 OZ |
18 | void ospf_send_to_agt(struct ospf_iface *ifa, u8 state); |
19 | void ospf_send_to_bdr(struct ospf_iface *ifa); | |
20 | void ospf_send_to(struct ospf_iface *ifa, ip_addr ip); | |
98ac6176 | 21 | |
95127cbb OZ |
22 | static inline void ospf_send_to_all(struct ospf_iface *ifa) { ospf_send_to(ifa, ifa->all_routers); } |
23 | ||
e7b76b97 | 24 | static inline void * ospf_tx_buffer(struct ospf_iface *ifa) { return ifa->sk->tbuf; } |
4364b47e | 25 | |
d5356072 OZ |
26 | static inline unsigned |
27 | ospf_pkt_bufsize(struct ospf_iface *ifa) | |
28 | { | |
29 | #ifdef OSPFv2 | |
30 | unsigned headers = (ifa->autype == OSPF_AUTH_CRYPT) ? OSPF_AUTH_CRYPT_SIZE : 0; | |
31 | #else | |
32 | unsigned headers = 0; | |
33 | #endif | |
34 | ||
35 | return ifa->sk->tbsize - headers; | |
36 | } | |
37 | ||
38 | ||
4364b47e | 39 | #endif /* _BIRD_OSPF_PACKET_H_ */ |