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/net/if_srt.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 #ifndef _IF_SRT_H_1b91f8f1_
    2 #define _IF_SRT_H_1b91f8f1_
    3 
    4 /* $NetBSD: if_srt.h,v 1.4 2015/09/06 06:01:01 dholland Exp $ */
    5 
    6 /* This file is in the public domain. */
    7 
    8 #include <sys/ioccom.h> /* for _IOR etc */
    9 #include <net/if.h> /* XXX for IFNAMSIZ */
   10 #include <netinet/in.h> /* for in_addr/in6_addr */
   11 
   12 struct srt_rt {
   13         unsigned int inx;
   14         int af;
   15         union {
   16                 struct in_addr v4;
   17                 struct in6_addr v6;
   18         } srcmatch;
   19         unsigned int srcmask;
   20         union {
   21                 struct ifnet *dstifp;
   22                 char dstifn[IFNAMSIZ];
   23         } u;
   24         union {
   25                 struct sockaddr_in sin;
   26                 struct sockaddr_in6 sin6;
   27                 struct sockaddr sa;
   28         } dst;
   29 };
   30 
   31 /* Gets the number of slots in the rts array */
   32 #define SRT_GETNRT _IOR('e',0,unsigned int)
   33 
   34 /* Gets an rt entry, given the slot number in the inx field */
   35 #define SRT_GETRT  _IOWR('e',1,struct srt_rt)
   36 
   37 /* Sets an rt entry; inx must be either in the array or one past it */
   38 #define SRT_SETRT  _IOW('e',2,struct srt_rt)
   39 
   40 /* Delete an rt entry by index; shifts the rest down */
   41 #define SRT_DELRT  _IOW('e',3,unsigned int)
   42 
   43 /* Set flag bits */
   44 #define SRT_SFLAGS _IOW('e',4,unsigned int)
   45 
   46 /* Get flag bits */
   47 #define SRT_GFLAGS _IOR('e',5,unsigned int)
   48 
   49 /* Atomically replace flag bits */
   50 #define SRT_SGFLAGS _IOWR('e',6,unsigned int)
   51 
   52 /* Do debugging tasks (not documented here - see the source) */
   53 #define SRT_DEBUG _IOW('e',7,void *)
   54 
   55 /* Flag bits for SRT_*FLAGS */
   56 #define SSF_MTULOCK 0x00000001 /* don't auto-update MTU */
   57 /* Some flags are global; some are per-unit. */
   58 #define SSF_GLOBAL (0)
   59 
   60 #endif

Cache object: b36850a6549022ba664a5f57ab476537


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