The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/netpfil/ipfilter/netinet/ip_pool.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (C) 2012 by Darren Reed.
    3  *
    4  * See the IPFILTER.LICENCE file for details on licencing.
    5  *
    6  * $Id$
    7  */
    8 
    9 #ifndef __IP_POOL_H__
   10 #define __IP_POOL_H__
   11 
   12 #include "netinet/ip_lookup.h"
   13 #include "radix_ipf.h"
   14 
   15 #define IP_POOL_NOMATCH         0
   16 #define IP_POOL_POSITIVE        1
   17 
   18 typedef struct ip_pool_node {
   19         ipf_rdx_node_t          ipn_nodes[2];
   20         addrfamily_t            ipn_addr;
   21         addrfamily_t            ipn_mask;
   22         int                     ipn_uid;
   23         int                     ipn_info;
   24         int                     ipn_ref;
   25         char                    ipn_name[FR_GROUPLEN];
   26         U_QUAD_T                ipn_hits;
   27         U_QUAD_T                ipn_bytes;
   28         u_long                  ipn_die;
   29         struct ip_pool_node     *ipn_next, **ipn_pnext;
   30         struct ip_pool_node     *ipn_dnext, **ipn_pdnext;
   31         struct ip_pool_s        *ipn_owner;
   32 } ip_pool_node_t;
   33 
   34 
   35 typedef struct ip_pool_s {
   36         struct ip_pool_s        *ipo_next;
   37         struct ip_pool_s        **ipo_pnext;
   38         ipf_rdx_head_t          *ipo_head;
   39         ip_pool_node_t          *ipo_list;
   40         ip_pool_node_t          **ipo_tail;
   41         ip_pool_node_t          *ipo_nextaddr;
   42         void                    *ipo_radix;
   43         u_long                  ipo_hits;
   44         int                     ipo_unit;
   45         int                     ipo_flags;
   46         int                     ipo_ref;
   47         char                    ipo_name[FR_GROUPLEN];
   48 } ip_pool_t;
   49 
   50 #define IPOOL_DELETE    0x01
   51 #define IPOOL_ANON      0x02
   52 
   53 
   54 typedef struct  ipf_pool_stat   {
   55         u_long                  ipls_pools;
   56         u_long                  ipls_tables;
   57         u_long                  ipls_nodes;
   58         ip_pool_t               *ipls_list[LOOKUP_POOL_SZ];
   59 } ipf_pool_stat_t;
   60 
   61 extern  ipf_lookup_t    ipf_pool_backend;
   62 
   63 #ifndef _KERNEL
   64 extern  void    ipf_pool_dump(ipf_main_softc_t *, void *);
   65 #endif
   66 
   67 #endif /* __IP_POOL_H__ */

Cache object: e2ce81623dadbe1ac482ee55a301047b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.