📄 if_apxreg.h
字号:
/* * Copyright (c) 1982, 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)if_apxreg.h 8.1 (Berkeley) 6/11/93 *//* * SGS Thompson MK5205 structures and registers *//* * Device Control Ports (Multiplexed CSR's) */struct sgcp { u_short sgcp_rdp; u_short sgcp_rap;};/* * Operating Parameters for timers etc. * (Suitable for reseting by ioctl). */ struct sgop { u_short lsaddr; u_short rsaddr; u_short n1; u_short n2_scale; u_short t1; u_short t3; u_short tp;};/* * Common addressing element rife through chip */struct sgae { u_short f_hi; u_short lo;};/* * Common format for tx/rx descriptors */struct sgdx { struct sgae sgdx_ae;#define sgdx_flags sgdx_ae.f_hi#define sgdx_addr sgdx_ae.lo short sgdx_bcnt; short sgdx_mcnt;};/* * Interpretation of reported errors */struct sger { u_short sger_bad; u_short sger_t1timo; u_short sger_frmr; u_short sger_txrej; u_short sger_rxrej; u_short sger_short;};/* * Status buffer, paired bytes hi order low order */struct sgsb { u_short sgsb_vrvs; u_short sgsb_lsrs; u_short sgsb_phzva; u_short sgsb_hirxcnt; u_short sgsb_lorxcnt; u_short sgsb_hitxcnt; u_short sgsb_lotxcnt;};#define SGMTU 1032#define SGRBUF 16#define SGRBUF_LOG2 4#define SG_RLEN (SGRBUF_LOG2 << 12)#define SGTBUF 8#define SGTBUF_LOG2 3#define SG_TLEN (SGTBUF_LOG2 << 12)/* * APC-PCX RAM */struct apc_mem { /* Initialization Block */ u_short apc_mode; struct sgop apc_sgop; struct sgae apc_rxdd; struct sgae apc_txdd; struct sgdx apc_txtid; struct sgdx apc_rxtid; struct sgae apc_stdd; struct sger apc_sger; struct sgsb apc_sgsb; /* Status Buffer */ struct sgdx apc_rxmd[SGRBUF]; /* Receive Message Descriptors */ struct sgdx apc_txmd[SGTBUF]; /* Transmit Message Descriptors */ char apc_rbuf[SGRBUF][SGMTU]; /* Receive Message Buffers */ char apc_tbuf[SGTBUF][SGMTU]; /* Transmit Message Buffers */ char apc_rxidbuf[SGMTU]; char apc_txidbuf[SGMTU];};/* * APC-PCX registers */struct apc_reg { struct sgcp axr_sgcp[2]; u_char arx_pad0[4]; u_char axr_cnt0; u_char axr_cnt1; u_char axr_cnt2; u_char axr_ccr; u_char axr_mode; u_char axr_pad1; u_char axr_status; u_char axr_pad2; u_char axr_altmode; u_char axr_pad3[11];};/* * Hardware tweaking */struct apc_modes { struct sgop apm_sgop; /* tweak timers */ u_char apm_txwin; /* set parameter for transmit window */ u_char apm_apxmode; u_char apm_apxaltmode; u_char apm_iftype; /* someday indicate PPP vs X.25 */};#define SIOCSIFMODE _IOW('i', 127, struct apc_modes) /* set parameters *//* TX RX descriptor bits */#define SG_OWN 0x8000#define SG_SLF 0x2000#define SG_ELF 0x1000#define SG_TUI 0x800/* CSR0 quantities */#define SG_TDMD 0x8000#define SG_STOPPED 0x4000#define SG_DTX 0x2000#define SG_DRX 0x1000#define SG_TXON 0x800#define SG_RXON 0x400#define SG_INEA 0x200#define SG_INTR 0x100#define SG_MERR 0x80#define SG_MISS 0x40#define SG_ROR 0x20#define SG_TUR 0x10#define SG_PINT 0x8#define SG_TINT 0x4#define SG_RINT 0x2/* CSR1 quantities */#define SG_UAV 0x4000#define SG_PAV 0x40#define SG_STOP 0#define SG_INIT (2 << 8)#define SG_TRANS (3 << 8)#define SG_STAT (4 << 8)#define SG_PROM 0x400#define SG_UIE 0x200#define SG_BSWAP 0x20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -