1 /* 2 * netlink/fib_lookup/request.h FIB Lookup Request 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2003-2006 Thomas Graf <tgraf (at) suug.ch> 10 */ 11 12 #ifndef NETLINK_FIB_LOOKUP_REQUEST_H_ 13 #define NETLINK_FIB_LOOKUP_REQUEST_H_ 14 15 #include <netlink/netlink.h> 16 #include <netlink/addr.h> 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 struct flnl_request; 23 24 #define REQUEST_CAST(ptr) ((struct flnl_request *) (ptr)) 25 26 extern struct flnl_request * flnl_request_alloc(void); 27 28 extern void flnl_request_set_fwmark(struct flnl_request *, 29 uint64_t); 30 extern uint64_t flnl_request_get_fwmark(struct flnl_request *); 31 extern void flnl_request_set_tos(struct flnl_request *, 32 int); 33 extern int flnl_request_get_tos(struct flnl_request *); 34 extern void flnl_request_set_scope(struct flnl_request *, 35 int); 36 extern int flnl_request_get_scope(struct flnl_request *); 37 extern void flnl_request_set_table(struct flnl_request *, 38 int); 39 extern int flnl_request_get_table(struct flnl_request *); 40 extern int flnl_request_set_addr(struct flnl_request *, 41 struct nl_addr *); 42 extern struct nl_addr * flnl_request_get_addr(struct flnl_request *); 43 44 extern int flnl_request_cmp(struct flnl_request *, 45 struct flnl_request *); 46 47 #ifdef __cplusplus 48 } 49 #endif 50 51 #endif 52