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