]> git.proxmox.com Git - mirror_frr.git/blobdiff - babeld/kernel.h
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / babeld / kernel.h
index d9d650dc21633269a04a5ee4baabf75ab3aaa2fd..5b1437ef3e446e9d1b130aea2c23f23c2e942b18 100644 (file)
@@ -1,20 +1,4 @@
-/*  
- *  This file is free software: you may copy, redistribute and/or modify it  
- *  under the terms of the GNU General Public License as published by the  
- *  Free Software Foundation, either version 2 of the License, or (at your  
- *  option) any later version.  
- *  
- *  This file is distributed in the hope that it will be useful, but  
- *  WITHOUT ANY WARRANTY; without even the implied warranty of  
- *  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.  If not, see <http://www.gnu.org/licenses/>.  
- *  
- * This file incorporates work covered by the following copyright and  
- * permission notice:  
- *  
+/*
 Copyright (c) 2007, 2008 by Juliusz Chroboczek
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -36,47 +20,30 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 */
 
+#ifndef BABEL_KERNEL_H
+#define BABEL_KERNEL_H
+
 #include <netinet/in.h>
 #include "babel_main.h"
 #include "if.h"
 
 #define KERNEL_INFINITY 0xFFFF
 
-struct kernel_route {
-    unsigned char prefix[16];
-    int plen;
-    int metric;
-    unsigned int ifindex;
-    int proto;
-    unsigned char gw[16];
+enum babel_kernel_routes {
+    ROUTE_FLUSH,
+    ROUTE_ADD,
+    ROUTE_MODIFY,
 };
 
-#define ROUTE_FLUSH 0
-#define ROUTE_ADD 1
-#define ROUTE_MODIFY 2
-
-#define CHANGE_LINK  (1 << 0)
-#define CHANGE_ROUTE (1 << 1)
-#define CHANGE_ADDR  (1 << 2)
-
-extern int export_table, import_table;
-
-int kernel_setup(int setup);
-int kernel_setup_socket(int setup);
-int kernel_setup_interface(int setup, struct interface *interface);
 int kernel_interface_operational(struct interface *interface);
-int kernel_interface_ipv4(struct interface *interface,
-                          unsigned char *addr_r);
 int kernel_interface_mtu(struct interface *interface);
 int kernel_interface_wireless(struct interface *interface);
-int kernel_route(int operation, const unsigned char *dest, unsigned short plen,
-                 const unsigned char *gate, int ifindex, unsigned int metric,
-                 const unsigned char *newgate, int newifindex,
-                 unsigned int newmetric);
-int kernel_routes(struct kernel_route *routes, int maxroutes);
-int kernel_callback(int (*fn)(int, void*), void *closure);
-int kernel_addresses(struct interface *interface, int ll,
-                     struct kernel_route *routes, int maxroutes);
-int if_eui64(char *ifname, int ifindex, unsigned char *eui);
+int kernel_route(enum babel_kernel_routes operation, const unsigned char *dest,
+                unsigned short plen, const unsigned char *gate, int ifindex,
+                unsigned int metric, const unsigned char *newgate,
+                int newifindex, unsigned int newmetric);
+int if_eui64(int ifindex, unsigned char *eui);
 int gettime(struct timeval *tv);
 int read_random_bytes(void *buf, size_t len);
+
+#endif /* BABEL_KERNEL_H */