Major overhaul and cleanup on read and parse functions
[olsrd.git] / lib / quagga / src / quagga.h
1
2 /***************************************************************************
3  projekt              : olsrd-quagga
4  file                 : quagga.h
5  usage                : header for quagga.c
6  copyright            : (C) 2006 by Immo 'FaUl' Wehrenberg
7  e-mail               : immo@chaostreff-dortmund.de
8  ***************************************************************************/
9
10 /***************************************************************************
11  *                                                                         *
12  *   This program is free software; you can redistribute it and/or modify  *
13  *   it under the terms of the GNU General Public License version 2 as     *
14  *   published by the Free Software Foundation.                            *
15  *                                                                         *
16  ***************************************************************************/
17
18 #include "routing_table.h"
19
20 #include <stdint.h>
21 #include <stdlib.h>
22
23 #define HAVE_SOCKLEN_T
24
25 #ifndef ZEBRA_PORT
26 #define ZEBRA_PORT 2600
27 #endif
28
29 #ifndef ZEBRA_HEADER_MARKER
30 #define ZEBRA_HEADER_MARKER 255
31 #endif
32
33 #ifndef ZSERV_VERSION
34 #define ZSERV_VERSION 1
35 #endif
36
37 struct ipv4_route {
38   unsigned char type;
39   unsigned char flags;
40   unsigned char message;
41   unsigned char prefixlen;
42   union olsr_ip_addr prefix;
43   unsigned char nh_count;
44   union olsr_ip_addr *nexthop;
45   unsigned char ind_num;
46   uint32_t *index;
47   uint32_t metric;
48   uint8_t distance;
49 };
50
51 void init_zebra(void);
52 void zebra_cleanup(void);
53 int zebra_send_command(unsigned char *);
54 void zebra_parse(void*);
55 int zebra_redistribute(unsigned char);
56 int zebra_disable_redistribute(unsigned char);
57 #if 0
58 int zebra_add_v4_route(const struct ipv4_route r);
59 int zebra_delete_v4_route(const struct ipv4_route r);
60 int zebra_parse_packet(unsigned char *, ssize_t);
61 int add_hna4_route(struct ipv4_route);
62 int delete_hna4_route(struct ipv4_route);
63 #endif
64 void *my_realloc(void *, size_t, const char *);
65 int zebra_add_route(const struct rt_entry *);
66 int zebra_del_route(const struct rt_entry *);
67 void zebra_olsr_localpref(void);
68 void zebra_olsr_distance(unsigned char);
69 void zebra_export_routes(unsigned char);
70
71 /*
72  * Local Variables:
73  * c-basic-offset: 2
74  * indent-tabs-mode: nil
75  * End:
76  */