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/netinet/ip_frag.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 /*      $NetBSD: ip_frag.h,v 1.19.2.1 2004/08/13 16:46:55 jmc Exp $     */
    2 
    3 /*
    4  * Copyright (C) 1993-2001 by Darren Reed.
    5  *
    6  * See the IPFILTER.LICENCE file for details on licencing.
    7  *
    8  * @(#)ip_frag.h        1.5 3/24/96
    9  * Id: ip_frag.h,v 2.23.2.1 2004/03/29 16:21:56 darrenr Exp
   10  */
   11 
   12 #ifndef _NETINET_IP_FRAG_H_
   13 #define _NETINET_IP_FRAG_H_
   14 
   15 #define IPFT_SIZE       257
   16 
   17 typedef struct  ipfr    {
   18         struct  ipfr    *ipfr_hnext, **ipfr_hprev;
   19         struct  ipfr    *ipfr_next, **ipfr_prev;
   20         void    *ipfr_data;
   21         void    *ipfr_ifp;
   22         struct  in_addr ipfr_src;
   23         struct  in_addr ipfr_dst;
   24         u_32_t  ipfr_optmsk;
   25         u_short ipfr_secmsk;
   26         u_short ipfr_auth;
   27         u_short ipfr_id;
   28         u_char  ipfr_p;
   29         u_char  ipfr_tos;
   30         u_32_t  ipfr_pass;
   31         u_short ipfr_off;
   32         u_char  ipfr_ttl;
   33         u_char  ipfr_seen0;
   34         frentry_t *ipfr_rule;
   35 } ipfr_t;
   36 
   37 
   38 typedef struct  ipfrstat {
   39         u_long  ifs_exists;     /* add & already exists */
   40         u_long  ifs_nomem;
   41         u_long  ifs_new;
   42         u_long  ifs_hits;
   43         u_long  ifs_expire;
   44         u_long  ifs_inuse;
   45         u_long  ifs_retrans0;
   46         u_long  ifs_short;
   47         struct  ipfr    **ifs_table;
   48         struct  ipfr    **ifs_nattab;
   49 } ipfrstat_t;
   50 
   51 #define IPFR_CMPSZ      (offsetof(ipfr_t, ipfr_pass) - \
   52                          offsetof(ipfr_t, ipfr_ifp))
   53 
   54 extern  int     ipfr_size;
   55 extern  int     fr_ipfrttl;
   56 extern  int     fr_frag_lock;
   57 extern  int     fr_fraginit __P((void));
   58 extern  void    fr_fragunload __P((void));
   59 extern  ipfrstat_t      *fr_fragstats __P((void));
   60 
   61 extern  int     fr_newfrag __P((fr_info_t *, u_32_t));
   62 extern  frentry_t *fr_knownfrag __P((fr_info_t *, u_32_t *));
   63 
   64 extern  int     fr_nat_newfrag __P((fr_info_t *, u_32_t, struct nat *));
   65 extern  nat_t   *fr_nat_knownfrag __P((fr_info_t *));
   66 
   67 extern  int     fr_ipid_newfrag __P((fr_info_t *, u_32_t));
   68 extern  u_32_t  fr_ipid_knownfrag __P((fr_info_t *));
   69 
   70 extern  void    fr_forget __P((void *));
   71 extern  void    fr_forgetnat __P((void *));
   72 extern  void    fr_fragclear __P((void));
   73 extern  void    fr_fragexpire __P((void));
   74 
   75 #if     defined(_KERNEL) && ((BSD >= 199306) || SOLARIS || defined(__sgi) \
   76                 || defined(__osf__) || (defined(__sgi) && (IRIX >= 60500)))
   77 # if defined(SOLARIS2) && (SOLARIS2 < 7)
   78 extern  void    fr_slowtimer __P((void));
   79 # else
   80 extern  void    fr_slowtimer __P((void *));
   81 # endif
   82 #else
   83 extern  int     fr_slowtimer __P((void));
   84 #endif
   85 
   86 #endif /* _NETINET_IP_FRAG_H_ */

Cache object: 3b7494e7c914bfedf7b318d7d3eaa7e6


[ 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.