linux/include/uapi/linux/llc.h
<<
>>
Prefs
   1/*
   2 * IEEE 802.2 User Interface SAPs for Linux, data structures and indicators.
   3 *
   4 * Copyright (c) 2001 by Jay Schulist <jschlst@samba.org>
   5 *
   6 * This program can be redistributed or modified under the terms of the
   7 * GNU General Public License as published by the Free Software Foundation.
   8 * This program is distributed without any warranty or implied warranty
   9 * of merchantability or fitness for a particular purpose.
  10 *
  11 * See the GNU General Public License for more details.
  12 */
  13#ifndef _UAPI__LINUX_LLC_H
  14#define _UAPI__LINUX_LLC_H
  15
  16#include <linux/socket.h>
  17
  18#define __LLC_SOCK_SIZE__ 16    /* sizeof(sockaddr_llc), word align. */
  19struct sockaddr_llc {
  20        __kernel_sa_family_t sllc_family; /* AF_LLC */
  21        __kernel_sa_family_t sllc_arphrd; /* ARPHRD_ETHER */
  22        unsigned char   sllc_test;
  23        unsigned char   sllc_xid;
  24        unsigned char   sllc_ua;        /* UA data, only for SOCK_STREAM. */
  25        unsigned char   sllc_sap;
  26        unsigned char   sllc_mac[IFHWADDRLEN];
  27        unsigned char   __pad[__LLC_SOCK_SIZE__ -
  28                              sizeof(__kernel_sa_family_t) * 2 -
  29                              sizeof(unsigned char) * 4 - IFHWADDRLEN];
  30};
  31
  32/* sockopt definitions. */
  33enum llc_sockopts {
  34        LLC_OPT_UNKNOWN = 0,
  35        LLC_OPT_RETRY,          /* max retrans attempts. */
  36        LLC_OPT_SIZE,           /* max PDU size (octets). */
  37        LLC_OPT_ACK_TMR_EXP,    /* ack expire time (secs). */
  38        LLC_OPT_P_TMR_EXP,      /* pf cycle expire time (secs). */
  39        LLC_OPT_REJ_TMR_EXP,    /* rej sent expire time (secs). */
  40        LLC_OPT_BUSY_TMR_EXP,   /* busy state expire time (secs). */
  41        LLC_OPT_TX_WIN,         /* tx window size. */
  42        LLC_OPT_RX_WIN,         /* rx window size. */
  43        LLC_OPT_PKTINFO,        /* ancillary packet information. */
  44        LLC_OPT_MAX
  45};
  46
  47#define LLC_OPT_MAX_RETRY        100
  48#define LLC_OPT_MAX_SIZE        4196
  49#define LLC_OPT_MAX_WIN          127
  50#define LLC_OPT_MAX_ACK_TMR_EXP   60
  51#define LLC_OPT_MAX_P_TMR_EXP     60
  52#define LLC_OPT_MAX_REJ_TMR_EXP   60
  53#define LLC_OPT_MAX_BUSY_TMR_EXP  60
  54
  55/* LLC SAP types. */
  56#define LLC_SAP_NULL    0x00            /* NULL SAP.                    */
  57#define LLC_SAP_LLC     0x02            /* LLC Sublayer Management.     */
  58#define LLC_SAP_SNA     0x04            /* SNA Path Control.            */
  59#define LLC_SAP_PNM     0x0E            /* Proway Network Management.   */      
  60#define LLC_SAP_IP      0x06            /* TCP/IP.                      */
  61#define LLC_SAP_BSPAN   0x42            /* Bridge Spanning Tree Proto   */
  62#define LLC_SAP_MMS     0x4E            /* Manufacturing Message Srv.   */
  63#define LLC_SAP_8208    0x7E            /* ISO 8208                     */
  64#define LLC_SAP_3COM    0x80            /* 3COM.                        */
  65#define LLC_SAP_PRO     0x8E            /* Proway Active Station List   */
  66#define LLC_SAP_SNAP    0xAA            /* SNAP.                        */
  67#define LLC_SAP_BANYAN  0xBC            /* Banyan.                      */
  68#define LLC_SAP_IPX     0xE0            /* IPX/SPX.                     */
  69#define LLC_SAP_NETBEUI 0xF0            /* NetBEUI.                     */
  70#define LLC_SAP_LANMGR  0xF4            /* LanManager.                  */
  71#define LLC_SAP_IMPL    0xF8            /* IMPL                         */
  72#define LLC_SAP_DISC    0xFC            /* Discovery                    */
  73#define LLC_SAP_OSI     0xFE            /* OSI Network Layers.          */
  74#define LLC_SAP_LAR     0xDC            /* LAN Address Resolution       */
  75#define LLC_SAP_RM      0xD4            /* Resource Management          */
  76#define LLC_SAP_GLOBAL  0xFF            /* Global SAP.                  */
  77
  78struct llc_pktinfo {
  79        int lpi_ifindex;
  80        unsigned char lpi_sap;
  81        unsigned char lpi_mac[IFHWADDRLEN];
  82};
  83
  84#endif /* _UAPI__LINUX_LLC_H */
  85