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 (at) 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 SDLA_H 24 #define SDLA_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 58 struct sdla_mem { 59 int addr; 60 int len; 61 void *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 */ 81 struct 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 */ 101 struct 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 117