|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U s
Length: 3780 (0xec4)
Types: TextFile
Notes: UNIX file
Names: »slnnau_386.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
└─⟦this⟧ »kc/new/usr/include/sys/slnnau_386.h«
/*
* Copyright (c) 1984 AT&T Technologies, Inc.
* All Rights Reserved
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF
* AT&T TECHNOLOGIES, INC.
* The copyright notice above does not evidence any actual
* or intended publication of such source code.
*/
#ident "@(#)slnnau_386.h 1.2"
/*
* The Shared Memory (8K bytes) Map
*
* memory model designed as follows:
* SCB - System Contorl Block
* CMD - One Command Block (simple operation)
* TBDs - Transmit buffer descriptors (1 or 2, CHANGE)
* FDs - Frame Descriptors
* RBDs - Receive Buffer Descriptors
* RCV_BUFs - Receive buffers
* XMT_BUFs - Transmit Buffers (1 or 2)
* ISCP - Intermediate Buffer Descriptor
* SCP - System Buffer Descriptor
*
* NOTE: The ISCP and SCP areas will be reclaimed after the
* initialization of the 82586; since they are not needed.
*/
/*
* shared memory map defines
*/
#define SRAM_SIZE (8*1024) /* 8k of shared memory */
#define N_TBD 1 /* number of TBDs */
#define N_FD 10 /* number of FDs */
#define N_RBD 30 /* number of Receive Buffers */
#define RCV_BUF_SIZE 128 /* Receive Buffer size */
#define SCB_OFST 0 /* System Control Block offset */
#define CMD_OFST (SCB_OFST+sizeof(scb_t)) /* Command Block offset */
#define TBD_OFST (CMD_OFST+sizeof(cmd_t)) /* Transmit Buffer Descriptor ofst*/
#define FD_OFST (TBD_OFST+sizeof(tbd_t)*N_TBD) /* Frame Descriptor offset */
#define RBD_OFST (FD_OFST+sizeof(fd_t)*N_FD) /* Receive Buffer Dscrptr ofst */
#define RCV_BUF_OFST (RBD_OFST+sizeof(rbd_t)*N_RBD)
#define XMT_BUF_OFST (RCV_BUF_OFST+RCV_BUF_SIZE*N_RBD)
#define SCP_OFST 0x1ff6 /* SCP offset */
#define ISCP_OFST (SCP_OFST-sizeof(iscp_t)) /* ISCP offset */
/*
* shared memory pointer and offset defines
*/
#define PTR_OFST(x) (*((ushort *) &x))
#define PTR_586(x) ((caddr_t) ((long)slanmem | (long)x))
/*
* receive buffers
*/
typedef char rb_t[RCV_BUF_SIZE];
/*
* LLAI return values for the job_st->job_retcode field
* only some of these error values are currently used
*/
#define LLAI_OK 0L /* when job is completed and OK */
#define LLAI_ERR -1L /* when a firmware call fails */
#define LLAI_ERR_UNK -2L
#define LLAI_NAUTIMEOUT -3L /* job in firmware time out */
#define LLAI_JOB_UNKNOWN -4L
#define LLAI_SIZE_ERR -5L /* wrong size to write to firmware */
#define LLAI_VTOP_ERR -6L /* when the vtop() fails */
#define LLAI_PMP_NOTCOMP -7L /* when the Pump_flag is not complete */
#define LLAI_ALLOC_ERR -8L /* when an allocb() fails */
#define LLAI_NOTINIT -9L /* when firmware is not initialized */
/*
* Job Status defines for the fw_jobid member in job_st stucture
*/
#define JOBID_NEW 1 /* NEW JOB (frame) */
#define JOBID_PNDNG 2 /* frame is sent, but 82586 is not done yet */
#define fw_cmd_arg fw_retcode
/*
* Job Status defines for the fw_cmd_arg member in job_st stucture
*/
#define CA_EXTLB 0x1
#define CA_INTLB 0x2
#define CA_PROMISC 0x4
/*
* the board structure
*/
#define NAU_MAXBRD 1 /* number of boards supported */
static struct nau_board {
short nau_state; /* NAU board state (CHANGE for SRM) */
unsigned char nau_net_type; /* network type */
short nau_iobase; /* IO base port */
int nau_timeout_id; /* id of command timeout */
net_addr_t nau_src_csma; /* our net address */
scb_t *nau_scb_ptr; /* pointer to the SCB */
cmd_t *nau_cmd_ptr; /* pointer to the CB */
tbd_t *nau_tbd_ptr; /* pointer to the TBD */
fd_t *nau_fd_tl; /* FD tail, pointer to the last FD */
rbd_t *nau_rbd_hd; /* RDB head, pointer to the first RBD */
rbd_t *nau_rbd_tl; /* RBD tail, pointer to the last RBD */
struct job_st *nau_job_hd; /* job head, pointer to current job */
struct job_st *nau_job_tl; /* job tail, pointer to last job */
} ;