|
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 - download
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 */ } ;