DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦3c17987b9⟧ TextFile

    Length: 3780 (0xec4)
    Types: TextFile
    Notes: UNIX file
    Names: »slnnau_386.h«

Derivation

└─⟦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« 

TextFile

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