144d362409d5469aed47d19e7908d19bd194493aThomas Graf/* 244d362409d5469aed47d19e7908d19bd194493aThomas Graf * netlink/fib_lookup/fib_lookup.h FIB Lookup 344d362409d5469aed47d19e7908d19bd194493aThomas Graf * 444d362409d5469aed47d19e7908d19bd194493aThomas Graf * This library is free software; you can redistribute it and/or 544d362409d5469aed47d19e7908d19bd194493aThomas Graf * modify it under the terms of the GNU Lesser General Public 644d362409d5469aed47d19e7908d19bd194493aThomas Graf * License as published by the Free Software Foundation version 2.1 744d362409d5469aed47d19e7908d19bd194493aThomas Graf * of the License. 844d362409d5469aed47d19e7908d19bd194493aThomas Graf * 98a3efffa5b3fde252675239914118664d36a2c24Thomas Graf * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch> 1044d362409d5469aed47d19e7908d19bd194493aThomas Graf */ 1144d362409d5469aed47d19e7908d19bd194493aThomas Graf 1244d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifndef NETLINK_FIB_LOOKUP_H_ 1344d362409d5469aed47d19e7908d19bd194493aThomas Graf#define NETLINK_FIB_LOOKUP_H_ 1444d362409d5469aed47d19e7908d19bd194493aThomas Graf 1544d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/netlink.h> 1644d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/cache.h> 1744d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/addr.h> 1844d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/fib_lookup/request.h> 1944d362409d5469aed47d19e7908d19bd194493aThomas Graf 2044d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifdef __cplusplus 2144d362409d5469aed47d19e7908d19bd194493aThomas Grafextern "C" { 2244d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif 2344d362409d5469aed47d19e7908d19bd194493aThomas Graf 2444d362409d5469aed47d19e7908d19bd194493aThomas Grafstruct flnl_result; 2544d362409d5469aed47d19e7908d19bd194493aThomas Graf 2644d362409d5469aed47d19e7908d19bd194493aThomas Grafextern struct flnl_result * flnl_result_alloc(void); 2744d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void flnl_result_put(struct flnl_result *); 2844d362409d5469aed47d19e7908d19bd194493aThomas Graf 2944d362409d5469aed47d19e7908d19bd194493aThomas Grafextern struct nl_cache * flnl_result_alloc_cache(void); 3044d362409d5469aed47d19e7908d19bd194493aThomas Graf 318a3efffa5b3fde252675239914118664d36a2c24Thomas Grafextern int flnl_lookup_build_request(struct flnl_request *, 328a3efffa5b3fde252675239914118664d36a2c24Thomas Graf int, 338a3efffa5b3fde252675239914118664d36a2c24Thomas Graf struct nl_msg **); 341155370f520cb64657e25153255cf7dc1424317fThomas Grafextern int flnl_lookup(struct nl_sock *, 3544d362409d5469aed47d19e7908d19bd194493aThomas Graf struct flnl_request *, 3644d362409d5469aed47d19e7908d19bd194493aThomas Graf struct nl_cache *); 3744d362409d5469aed47d19e7908d19bd194493aThomas Graf 3844d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifdef __cplusplus 3944d362409d5469aed47d19e7908d19bd194493aThomas Graf} 4044d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif 4144d362409d5469aed47d19e7908d19bd194493aThomas Graf 4244d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif 43