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@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 19extern "C" { 20#endif 21 22struct flnl_request; 23 24#define REQUEST_CAST(ptr) ((struct flnl_request *) (ptr)) 25 26extern struct flnl_request * flnl_request_alloc(void); 27 28extern void flnl_request_set_fwmark(struct flnl_request *, 29 uint64_t); 30extern uint64_t flnl_request_get_fwmark(struct flnl_request *); 31extern void flnl_request_set_tos(struct flnl_request *, 32 int); 33extern int flnl_request_get_tos(struct flnl_request *); 34extern void flnl_request_set_scope(struct flnl_request *, 35 int); 36extern int flnl_request_get_scope(struct flnl_request *); 37extern void flnl_request_set_table(struct flnl_request *, 38 int); 39extern int flnl_request_get_table(struct flnl_request *); 40extern int flnl_request_set_addr(struct flnl_request *, 41 struct nl_addr *); 42extern struct nl_addr * flnl_request_get_addr(struct flnl_request *); 43 44extern int flnl_request_cmp(struct flnl_request *, 45 struct flnl_request *); 46 47#ifdef __cplusplus 48} 49#endif 50 51#endif 52