Annotation of fwsync/patches/ip_fw_private_h.patch, revision 1.7

1.1       misho       1: diff --git a/sys/netpfil/ipfw/ip_fw_private.h b/sys/netpfil/ipfw/ip_fw_private.h
1.7     ! misho       2: index 1440b1a40ee..bd4cefb7fed 100644
1.1       misho       3: --- a/sys/netpfil/ipfw/ip_fw_private.h
                      4: +++ b/sys/netpfil/ipfw/ip_fw_private.h
1.6       misho       5: @@ -251,6 +251,40 @@ VNET_DECLARE(unsigned int, fw_tables_sets);
1.1       misho       6:  
                      7:  struct tables_config;
                      8:  
1.4       misho       9: +#ifndef V_hook_state
1.5       misho      10: +typedef int (*ipfw_hook_t)(const void *arg, const void *extdata);
1.1       misho      11: +/* callback hooks for notify on update of internal states and aliases */
                     12: +VNET_DECLARE(ipfw_hook_t, hook_state);
                     13: +#define V_hook_state          VNET(hook_state)
                     14: +VNET_DECLARE(ipfw_hook_t, hook_alias);
                     15: +#define V_hook_alias          VNET(hook_alias)
1.6       misho      16: +VNET_DECLARE(ipfw_hook_t, sync_state);
                     17: +#define V_sync_state          VNET(sync_state)
                     18: +VNET_DECLARE(ipfw_hook_t, sync_alias);
                     19: +#define V_sync_alias          VNET(sync_alias)
1.4       misho      20: +#endif
1.1       misho      21: +
1.5       misho      22: +struct ipfw_dyn_hook_extdata {
                     23: +      unsigned int    ruleid;
                     24: +      unsigned short  rulenum;
                     25: +      unsigned short  fibnum;
1.6       misho      26: +      unsigned short  kidx;
                     27: +      unsigned char   cmdtype;
1.5       misho      28: +};
                     29: +
1.6       misho      30: +int ipfw_dyn_install_sync_state(const struct ipfw_flow_id *pkt, void *rule, 
                     31: +              uint32_t ruleid, uint16_t rulenum, uint16_t kidx, uint8_t cmdtype);
1.5       misho      32: +
1.1       misho      33: +#define ipfw_unregister_state_hook()  V_hook_state = NULL
                     34: +#define ipfw_unregister_alias_hook()  V_hook_alias = NULL
                     35: +#define ipfw_register_state_hook(_hcb)        V_hook_state = (_hcb)
                     36: +#define ipfw_register_alias_hook(_hcb)        V_hook_alias = (_hcb)
                     37: +
1.6       misho      38: +#define ipfw_unregister_state_sync()  V_sync_state = NULL
                     39: +#define ipfw_unregister_alias_sync()  V_sync_alias = NULL
                     40: +#define ipfw_register_state_sync(_hcb)        V_sync_state = (_hcb)
                     41: +#define ipfw_register_alias_sync(_hcb)        V_sync_alias = (_hcb)
                     42: +
1.1       misho      43:  #ifdef _KERNEL
                     44:  /*
                     45:   * Here we have the structure representing an ipfw rule.
1.7     ! misho      46: @@ -295,6 +329,22 @@ struct ip_fw {
        !            47:  
        !            48:  #endif
        !            49:  
        !            50: +/* Nat configuration data struct. */
        !            51: +struct cfg_nat {
        !            52: +      /* chain of nat instances */
        !            53: +      LIST_ENTRY(cfg_nat)     _next;
        !            54: +      int                     id;             /* nat id  */
        !            55: +      struct in_addr          ip;             /* nat ip address */
        !            56: +      struct libalias         *lib;           /* libalias instance */
        !            57: +      int                     mode;           /* aliasing mode */
        !            58: +      int                     redir_cnt; /* number of entry in spool chain */
        !            59: +      /* chain of redir instances */
        !            60: +      LIST_HEAD(redir_chain, cfg_redir) redir_chain;  
        !            61: +      char                    if_name[IF_NAMESIZE];   /* interface name */
        !            62: +      u_short                 alias_port_lo;  /* low range for port aliasing */
        !            63: +      u_short                 alias_port_hi;  /* high range for port aliasing */
        !            64: +};
        !            65: +
        !            66:  struct ip_fw_chain {
        !            67:        struct ip_fw    **map;          /* array of rule ptrs to ease lookup */
        !            68:        uint32_t        id;             /* ruleset id */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>