]>
Commit | Line | Data |
---|---|---|
ca10883e DS |
1 | /* |
2 | Copyright (c) 2007, 2008 by Juliusz Chroboczek | |
3 | ||
4 | Permission is hereby granted, free of charge, to any person obtaining a copy | |
5 | of this software and associated documentation files (the "Software"), to deal | |
6 | in the Software without restriction, including without limitation the rights | |
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
8 | copies of the Software, and to permit persons to whom the Software is | |
9 | furnished to do so, subject to the following conditions: | |
10 | ||
11 | The above copyright notice and this permission notice shall be included in | |
12 | all copies or substantial portions of the Software. | |
13 | ||
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
20 | THE SOFTWARE. | |
21 | */ | |
22 | ||
23 | #ifndef BABEL_KERNEL_H | |
24 | #define BABEL_KERNEL_H | |
25 | ||
26 | #include <netinet/in.h> | |
27 | #include "babel_main.h" | |
28 | #include "if.h" | |
29 | ||
30 | #define KERNEL_INFINITY 0xFFFF | |
31 | ||
e8c8f2e0 DS |
32 | enum babel_kernel_routes { |
33 | ROUTE_FLUSH, | |
34 | ROUTE_ADD, | |
35 | ROUTE_MODIFY, | |
36 | }; | |
ca10883e DS |
37 | |
38 | int kernel_interface_operational(struct interface *interface); | |
39 | int kernel_interface_mtu(struct interface *interface); | |
40 | int kernel_interface_wireless(struct interface *interface); | |
e8c8f2e0 DS |
41 | int kernel_route(enum babel_kernel_routes operation, const unsigned char *dest, |
42 | unsigned short plen, const unsigned char *gate, int ifindex, | |
43 | unsigned int metric, const unsigned char *newgate, | |
44 | int newifindex, unsigned int newmetric); | |
edb1d4a0 | 45 | int if_eui64(int ifindex, unsigned char *eui); |
ca10883e DS |
46 | int gettime(struct timeval *tv); |
47 | int read_random_bytes(void *buf, size_t len); | |
48 | ||
49 | #endif /* BABEL_KERNEL_H */ |