linux/include/uapi/linux/sdla.h
<<
>>
Prefs
   1/*
   2 * INET         An implementation of the TCP/IP protocol suite for the LINUX
   3 *              operating system.  INET is implemented using the  BSD Socket
   4 *              interface as the means of communication with the user level.
   5 *
   6 *              Global definitions for the Frame relay interface.
   7 *
   8 * Version:     @(#)if_ifrad.h  0.20    13 Apr 96
   9 *
  10 * Author:      Mike McLagan <mike.mclagan@linux.org>
  11 *
  12 * Changes:
  13 *              0.15    Mike McLagan    Structure packing
  14 *
  15 *              0.20    Mike McLagan    New flags for S508 buffer handling
  16 *
  17 *              This program is free software; you can redistribute it and/or
  18 *              modify it under the terms of the GNU General Public License
  19 *              as published by the Free Software Foundation; either version
  20 *              2 of the License, or (at your option) any later version.
  21 */
  22
  23#ifndef _UAPISDLA_H
  24#define _UAPISDLA_H
  25
  26/* adapter type */
  27#define SDLA_TYPES
  28#define SDLA_S502A                      5020
  29#define SDLA_S502E                      5021
  30#define SDLA_S503                       5030
  31#define SDLA_S507                       5070
  32#define SDLA_S508                       5080
  33#define SDLA_S509                       5090
  34#define SDLA_UNKNOWN                    -1
  35
  36/* port selection flags for the S508 */
  37#define SDLA_S508_PORT_V35              0x00
  38#define SDLA_S508_PORT_RS232            0x02
  39
  40/* Z80 CPU speeds */
  41#define SDLA_CPU_3M                     0x00
  42#define SDLA_CPU_5M                     0x01
  43#define SDLA_CPU_7M                     0x02
  44#define SDLA_CPU_8M                     0x03
  45#define SDLA_CPU_10M                    0x04
  46#define SDLA_CPU_16M                    0x05
  47#define SDLA_CPU_12M                    0x06
  48
  49/* some private IOCTLs */
  50#define SDLA_IDENTIFY                   (FRAD_LAST_IOCTL + 1)
  51#define SDLA_CPUSPEED                   (FRAD_LAST_IOCTL + 2)
  52#define SDLA_PROTOCOL                   (FRAD_LAST_IOCTL + 3)
  53
  54#define SDLA_CLEARMEM                   (FRAD_LAST_IOCTL + 4)
  55#define SDLA_WRITEMEM                   (FRAD_LAST_IOCTL + 5)
  56#define SDLA_READMEM                    (FRAD_LAST_IOCTL + 6)
  57
  58struct sdla_mem {
  59   int  addr;
  60   int  len;
  61   void __user *data;
  62};
  63
  64#define SDLA_START                      (FRAD_LAST_IOCTL + 7)
  65#define SDLA_STOP                       (FRAD_LAST_IOCTL + 8)
  66
  67/* some offsets in the Z80's memory space */
  68#define SDLA_NMIADDR                    0x0000
  69#define SDLA_CONF_ADDR                  0x0010
  70#define SDLA_S502A_NMIADDR              0x0066
  71#define SDLA_CODE_BASEADDR              0x0100
  72#define SDLA_WINDOW_SIZE                0x2000
  73#define SDLA_ADDR_MASK                  0x1FFF
  74
  75/* largest handleable block of data */
  76#define SDLA_MAX_DATA                   4080
  77#define SDLA_MAX_MTU                    4072    /* MAX_DATA - sizeof(fradhdr) */
  78#define SDLA_MAX_DLCI                   24
  79
  80/* this should be the same as frad_conf */
  81struct sdla_conf {
  82   short station;
  83   short config;
  84   short kbaud;
  85   short clocking;
  86   short max_frm;
  87   short T391;
  88   short T392;
  89   short N391;
  90   short N392;
  91   short N393;
  92   short CIR_fwd;
  93   short Bc_fwd;
  94   short Be_fwd;
  95   short CIR_bwd;
  96   short Bc_bwd;
  97   short Be_bwd;
  98};
  99
 100/* this should be the same as dlci_conf */
 101struct sdla_dlci_conf {
 102   short config;
 103   short CIR_fwd;
 104   short Bc_fwd;
 105   short Be_fwd;
 106   short CIR_bwd;
 107   short Bc_bwd;
 108   short Be_bwd; 
 109   short Tc_fwd;
 110   short Tc_bwd;
 111   short Tf_max;
 112   short Tb_max;
 113};
 114
 115
 116#endif /* _UAPISDLA_H */
 117