⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 olsr_cfg.h

📁 wifi 无线网络路由协议OLSR linux下C代码
💻 H
字号:
/* * The olsr.org Optimized Link-State Routing daemon(olsrd) * Copyright (c) 2004, Andreas T鴑nesen(andreto@olsr.org) * All rights reserved. * * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met: * * * Redistributions of source code must retain the above copyright  *   notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright  *   notice, this list of conditions and the following disclaimer in  *   the documentation and/or other materials provided with the  *   distribution. * * Neither the name of olsr.org, olsrd nor the names of its  *   contributors may be used to endorse or promote products derived  *   from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  * POSSIBILITY OF SUCH DAMAGE. * * Visit http://www.olsr.org for more information. * * If you find this software useful feel free to make a donation * to the project. For more information see the website or contact * the copyright holders. * * $Id: olsr_cfg.h,v 1.34 2007/09/16 21:20:17 bernd67 Exp $ */#ifndef _OLSRD_CFGPARSER_H#define _OLSRD_CFGPARSER_H#include "olsr_types.h"#if defined linux#  define LINUX_POLICY_ROUTING 1#else#  define LINUX_POLICY_ROUTING 0#endif/* Default values not declared in olsr_protocol.h */#define DEF_POLLRATE        0.05#define DEF_NICCHGPOLLRT    2.5#define DEF_WILL_AUTO       OLSR_TRUE#define DEF_ALLOW_NO_INTS   OLSR_TRUE#define DEF_TOS             16#define DEF_DEBUGLVL        1#define DEF_IPC_CONNECTIONS 0#define DEF_USE_HYST        OLSR_FALSE#define DEF_LQ_LEVEL        2#define DEF_LQ_FISH         0#define DEF_LQ_DIJK_LIMIT   255#define DEF_LQ_DIJK_INTER   0.0#define DEF_LQ_WSIZE        12#define DEF_CLEAR_SCREEN    OLSR_FALSE/* Bounds */#define MIN_INTERVAL        0.01#define MAX_POLLRATE        10.0#define MIN_POLLRATE        0.01#define MAX_NICCHGPOLLRT    100.0#define MIN_NICCHGPOLLRT    1.0#define MAX_DEBUGLVL        9#define MIN_DEBUGLVL        0#define MAX_TOS             16#define MIN_TOS             0#define MAX_WILLINGNESS     7#define MIN_WILLINGNESS     0#define MAX_MPR_COVERAGE    20#define MIN_MPR_COVERAGE    1#define MAX_TC_REDUNDANCY   2#define MIN_TC_REDUNDANCY   0#define MAX_HYST_PARAM      1.0#define MIN_HYST_PARAM      0.0#define MAX_LQ_LEVEL        2#define MIN_LQ_LEVEL        0#define MAX_LQ_WSIZE        128#define MIN_LQ_WSIZE        3#ifndef IPV6_ADDR_SITELOCAL#define IPV6_ADDR_SITELOCAL    0x0040U#endif#include "interfaces.h"struct olsr_msg_params{  float                    emission_interval;  float                    validity_time;};struct olsr_lq_mult{  union olsr_ip_addr addr;  float val;  struct olsr_lq_mult *next;};struct olsr_if_weight{  int        value;  olsr_bool  fixed;};struct if_config_options{  union olsr_ip_addr       ipv4_broadcast;  int                      ipv6_addrtype;  union olsr_ip_addr       ipv6_multi_site;  union olsr_ip_addr       ipv6_multi_glbl;  struct olsr_if_weight    weight;  struct olsr_msg_params   hello_params;  struct olsr_msg_params   tc_params;  struct olsr_msg_params   mid_params;  struct olsr_msg_params   hna_params;  struct olsr_lq_mult      *lq_mult;  olsr_bool                autodetect_chg;};struct olsr_if{  char                     *name;  char                     *config;  olsr_bool                configured;  olsr_bool                host_emul;  union olsr_ip_addr       hemu_ip;  struct interface         *interf;  struct if_config_options *cnf;  struct olsr_if           *next;};struct hna4_entry{  union olsr_ip_addr       net;  union olsr_ip_addr       netmask;  struct hna4_entry        *next;};struct hna6_entry{  union olsr_ip_addr       net;  olsr_u16_t               prefix_len;  struct hna6_entry        *next;};struct hyst_param{  float                    scaling;  float                    thr_high;  float                    thr_low;};struct plugin_param{  char                     *key;  char                     *value;  struct plugin_param      *next;};struct plugin_entry{  char                     *name;  struct plugin_param      *params;  struct plugin_entry      *next;};struct ipc_host{  union olsr_ip_addr       host;  struct ipc_host          *next;};struct ipc_net{  union olsr_ip_addr       net;  union olsr_ip_addr       mask;  struct ipc_net           *next;};/* * The config struct */struct olsrd_config{  int                      debug_level;  olsr_bool                no_fork;  olsr_bool                host_emul;  int                      ip_version;  olsr_bool                allow_no_interfaces;  olsr_u16_t               tos;  olsr_u8_t                rttable;  olsr_bool                willingness_auto;  olsr_u8_t                willingness;  int                      ipc_connections;  olsr_bool                open_ipc;  olsr_bool                use_hysteresis;  struct hyst_param        hysteresis_param;  float                    pollrate;  float                    nic_chgs_pollrate;  olsr_u8_t                tc_redundancy;  olsr_u8_t                mpr_coverage;  olsr_bool                clear_screen;  olsr_u8_t                lq_level;  olsr_u32_t               lq_wsize;  olsr_u8_t                lq_fish;  olsr_u8_t                lq_dlimit;  float                    lq_dinter;  struct plugin_entry      *plugins;  struct hna4_entry        *hna4_entries;  struct hna6_entry        *hna6_entries;  struct ipc_host          *ipc_hosts;  struct ipc_net           *ipc_nets;  struct olsr_if           *interfaces;  /* Stuff set by olsrd */  size_t                   ipsize;               /* Size of address */  olsr_8_t                 maxplen;              /* maximum prefix len */  olsr_u16_t               system_tick_divider;  /* Tick resolution */  olsr_bool                del_gws;              /* Delete InternetGWs at startup */  union olsr_ip_addr       main_addr;            /* Main address of this node */  float                    will_int;  float                    max_jitter;  int                      exit_value; /* Global return value for process termination */  float                    max_tc_vtime;  int                      ioctl_s;              /* Socket used for ioctl calls */#if LINUX_POLICY_ROUTING  int                      rtnl_s;               /* Socket used for rtnetlink messages */#else  int                      rts;                  /* Socket used for route changes on BSDs */#endif};#if defined __cplusplusextern "C" {#endif/* * Interface to parser */struct olsrd_config *olsrd_parse_cnf(const char *);intolsrd_sanity_check_cnf(struct olsrd_config *);voidolsrd_free_cnf(struct olsrd_config *);voidolsrd_print_cnf(struct olsrd_config *);intolsrd_write_cnf(struct olsrd_config *, const char *);intolsrd_write_cnf_buf(struct olsrd_config *, char *, olsr_u32_t);struct if_config_options *get_default_if_config(void);struct olsrd_config *olsrd_get_default_cnf(void);void *olsrd_cnf_malloc(unsigned int);voidolsrd_cnf_free(void *);#if defined __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -