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