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