1/* 2 * Private header file for the zebra FPM module. 3 * 4 * Copyright (C) 2012 by Open Source Routing. 5 * Copyright (C) 2012 by Internet Systems Consortium, Inc. ("ISC") 6 * 7 * This file is part of GNU Zebra. 8 * 9 * GNU Zebra is free software; you can redistribute it and/or modify it 10 * under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2, or (at your option) 12 * any later version. 13 * 14 * GNU Zebra is distributed in the hope that it will be useful, but 15 * WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with GNU Zebra; see the file COPYING. If not, write to the 21 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22 * Boston, MA 02111-1307, USA. 23 */ 24 25#ifndef _ZEBRA_FPM_PRIVATE_H 26#define _ZEBRA_FPM_PRIVATE_H 27 28#include "zebra/debug.h" 29 30#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L 31 32#define zfpm_debug(...) \ 33 do { \ 34 if (IS_ZEBRA_DEBUG_FPM) zlog_debug("FPM: " __VA_ARGS__); \ 35 } while(0) 36 37#elif defined __GNUC__ 38 39#define zfpm_debug(_args...) \ 40 do { \ 41 if (IS_ZEBRA_DEBUG_FPM) zlog_debug("FPM: " _args); \ 42 } while(0) 43 44#else 45static inline void zfpm_debug(const char *format, ...) { return; } 46#endif 47 48 49/* 50 * Externs 51 */ 52extern int 53zfpm_netlink_encode_route (int cmd, rib_dest_t *dest, struct rib *rib, 54 char *in_buf, size_t in_buf_len); 55 56#endif /* _ZEBRA_FPM_PRIVATE_H */ 57