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/netatalk/at.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) 1990,1991 Regents of The University of Michigan.
    3  * All Rights Reserved.
    4  *
    5  * Permission to use, copy, modify, and distribute this software and
    6  * its documentation for any purpose and without fee is hereby granted,
    7  * provided that the above copyright notice appears in all copies and
    8  * that both that copyright notice and this permission notice appear
    9  * in supporting documentation, and that the name of The University
   10  * of Michigan not be used in advertising or publicity pertaining to
   11  * distribution of the software without specific, written prior
   12  * permission. This software is supplied as is without expressed or
   13  * implied warranties of any kind.
   14  *
   15  *      Research Systems Unix Group
   16  *      The University of Michigan
   17  *      c/o Mike Clark
   18  *      535 W. William Street
   19  *      Ann Arbor, Michigan
   20  *      +1-313-763-0525
   21  *      netatalk@itd.umich.edu
   22  *
   23  * $FreeBSD$
   24  */
   25 
   26 #ifndef _NETATALK_AT_H_
   27 #define _NETATALK_AT_H_
   28 
   29 /*
   30  * Supported protocols
   31  */
   32 #define ATPROTO_DDP     0
   33 #define ATPROTO_AARP    254
   34 
   35 #define DDP_MAXSZ       587
   36 
   37 /*
   38  * If ATPORT_FIRST <= Port < ATPORT_RESERVED, the port was created by a
   39  * privileged process.
   40  *
   41  * If ATPORT_RESERVED <= Port < ATPORT_LAST, the port was not necessarily
   42  * created by a privileged process.
   43  */
   44 #define ATPORT_FIRST    1
   45 #define ATPORT_RESERVED 128
   46 #define ATPORT_LAST     255
   47 
   48 /*
   49  * AppleTalk address.
   50  */
   51 struct at_addr {
   52         u_short s_net;
   53         u_char  s_node;
   54 };
   55 
   56 #define ATADDR_ANYNET   (u_short)0x0000
   57 #define ATADDR_ANYNODE  (u_char)0x00
   58 #define ATADDR_ANYPORT  (u_char)0x00
   59 #define ATADDR_BCAST    (u_char)0xff    /* There is no BCAST for NET. */
   60 
   61 struct netrange {
   62         u_char  nr_phase;
   63         u_short nr_firstnet;
   64         u_short nr_lastnet;
   65 };
   66 
   67 /*
   68  * Socket address, AppleTalk style.  We keep magic information in the zero
   69  * bytes.  There are three types, NONE, CONFIG which has the phase and a net
   70  * range, and IFACE which has the network address of an interface.  IFACE may
   71  * be filled in by the client, and is filled in by the kernel.
   72  */
   73 struct sockaddr_at {
   74         u_char          sat_len;
   75         u_char          sat_family;
   76         u_char          sat_port;
   77         struct at_addr  sat_addr;
   78         union {
   79                 struct netrange r_netrange;
   80                 char            r_zero[8];      /* Hide struct netrange here. */
   81         } sat_range;
   82 };
   83 
   84 #define sat_zero        sat_range.r_zero
   85 
   86 #endif /* !_NETATALK_AT_H_ */

Cache object: 0eb17d65c0d9e3188f42d877f424f677


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