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_fddi.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: if_fddi.h,v 1.9 2001/06/13 10:46:05 wiz Exp $  */
    2 
    3 /*
    4  * Copyright (c) 1995 Matt Thomas (thomas@lkg.dec.com)
    5  * All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. The name of the author may not be used to endorse or promote products
   13  *    derived from this software without specific prior written permission
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   25  *
   26  * Id: if_fddi.h,v 1.5 1997/03/21 13:46:50 thomas Exp
   27  */
   28 
   29 #ifndef _NET_IF_FDDI_H_
   30 #define _NET_IF_FDDI_H_
   31 
   32 /*
   33  * Structure of an 100Mb/s FDDI header.
   34  */
   35 struct  fddi_header {
   36         u_char  fddi_ph[3];             /* makes the FDDI header 16 bytes */
   37         u_char  fddi_fc;
   38         u_char  fddi_dhost[6];
   39         u_char  fddi_shost[6];
   40 } __attribute__((__packed__));
   41 
   42 #define FDDIIPMTU               4352
   43 #define FDDIMTU                 4470
   44 #define FDDIMIN                 3
   45 
   46 #define FDDIFC_C                0x80    /* 0b10000000 */
   47 #define FDDIFC_L                0x40    /* 0b01000000 */
   48 #define FDDIFC_F                0x30    /* 0b00110000 */
   49 #define FDDIFC_Z                0x0F    /* 0b00001111 */
   50 
   51 /*
   52  * FDDI Frame Control values. (48-bit addressing only).
   53  */
   54 #define FDDIFC_VOID             0x40            /* Void frame */
   55 #define FDDIFC_NRT              0x80            /* Nonrestricted token */
   56 #define FDDIFC_RT               0xc0            /* Restricted token */
   57 #define FDDIFC_MAC_BEACON       0xc2            /* MAC Beacon frame */
   58 #define FDDIFC_MAC_CLAIM        0xc3            /* MAC Claim frame */
   59 #define FDDIFC_LLC_ASYNC        0x50
   60 #define FDDIFC_LLC_PRIO0        0
   61 #define FDDIFC_LLC_PRIO1        1
   62 #define FDDIFC_LLC_PRIO2        2
   63 #define FDDIFC_LLC_PRIO3        3
   64 #define FDDIFC_LLC_PRIO4        4
   65 #define FDDIFC_LLC_PRIO5        5
   66 #define FDDIFC_LLC_PRIO6        6
   67 #define FDDIFC_LLC_PRIO7        7
   68 #define FDDIFC_LLC_SYNC         0xd0
   69 #define FDDIFC_IMP_ASYNC        0x60            /* Implementor Async. */
   70 #define FDDIFC_IMP_SYNC         0xe0            /* Implementor Synch. */
   71 #define FDDIFC_SMT              0x40
   72 #define FDDIFC_SMT_INFO         0x41            /* SMT Info */
   73 #define FDDIFC_SMT_NSA          0x4F            /* SMT Next station adrs */
   74 #define FDDIFC_MAC              0xc0            /* MAC frame */
   75 
   76 #define FDDIFC_CLFF             0xF0            /* Class/Length/Format bits */
   77 #define FDDIFC_ZZZZ             0x0F            /* Control bits */
   78 
   79 #if defined(KERNEL) || defined(_KERNEL)
   80 #if defined(__NetBSD__)
   81 #include <net/if_ether.h>
   82 #endif
   83 #define fddibroadcastaddr       etherbroadcastaddr
   84 #define fddi_ipmulticast_min    ether_ipmulticast_min
   85 #define fddi_ipmulticast_max    ether_ipmulticast_max
   86 #define fddi_addmulti           ether_addmulti
   87 #define fddi_delmulti           ether_delmulti
   88 #define fddi_sprintf            ether_sprintf
   89 
   90 #if defined(__NetBSD__)
   91 void    fddi_ifattach __P((struct ifnet *, caddr_t));
   92 #else
   93 void    fddi_ifattach __P((struct ifnet *));
   94 #endif
   95 #endif
   96 
   97 #endif

Cache object: b71b7d0c3fb8104225fa17063951bfba


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