|
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: 6556 (0x199c) Types: TextFile Notes: UNIX file Names: »slnnau.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2 └─⟦a6ab2eb36⟧ UNIX Filesystem └─⟦this⟧ »kc/new/usr/include/sys/slnnau.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.h 1.3 -- 87/01/16" struct pmod_st { queue_t *que_ptr; unsigned short link_state; unsigned short board; unsigned char c_flag; unsigned char protocol; }; struct job_st { struct job_st *forward_link; struct pmod_st *pmod_ptr; mblk_t *bp; long pmod_ackid; long job_retcode; long job_type; long fw_jobid; long fw_retcode; long fw_jobtype; short nau_brdnum; short used; }; /* structures used by the low level nau and firmware for stats */ struct naulo_stat { unsigned long naulo_st_errors; /* low level nau errors */ unsigned long naulo_st_onerr; /* nau was on unexpectedly */ unsigned long naulo_st_phyaderr; /* nau phyad not set yet */ unsigned long naulo_st_size; /* nau size field error */ unsigned long naulo_st_addrerr; /* nau address field error */ unsigned long naulo_st_csma; /* nau csma error on xmit */ unsigned long naulo_st_crc; /* nau crc error */ unsigned long naulo_st_offerr; /* nau was off unexpectedly */ unsigned long naulo_st_ovf; /* nau internal queue overflow */ unsigned long naulo_st_fail; /* nau fw unknown error */ unsigned long naulo_st_noad; /* nau no match on logical address */ unsigned long naulo_st_adov; /* nau multicast table overflow */ }; struct naufw_stat { unsigned short crcerr; /* CRC errors */ unsigned short alnerr; /* ALN errors */ unsigned short rscerr; /* RSC errors */ unsigned short ovrnerr; /* OVRN errors */ unsigned long pktrcv; /* packets received */ unsigned long pkthost; /* packets sent to host */ unsigned long pktsize; /* packets size */ unsigned long pktdrop; /* packets dropped */ unsigned long pad; /* padding */ }; #ifdef DEBUG struct naud_stat { unsigned long d1; unsigned long d2; unsigned long d3; unsigned long d4; unsigned long d5; }; #endif /* structure for the nau stats for both streams and STARLAN */ struct nau_stat { unsigned long nau_st_fwjobs; /* count of fw jobs submitted */ unsigned long nau_st_fwqsize; /* sum of the fw queue length size */ struct naulo_stat naulo_stats; /* low level stats structure */ struct naufw_stat naufw_stats; /* firmware stats */ #ifdef DEBUG struct naud_stat d_stats; #endif }; #ifdef DEBUG #define NAU_STATS_SIZE 26 /* number of longs in the nau stats */ #else #define NAU_STATS_SIZE 21 /* number of longs in the nau stats */ #endif /******************************* defines **********************************/ #define NAU_INIT 30 #define GET 40 #define REMOVE 50 #define CLEAR 60 #define PENDING 1 #define MAX_PMOD 100 #define PHYAD_SIZE 6 /* size of the address */ #define MAX_PACKET_SIZE 1514 #define MAX_JOBST 100 #define MAX_MUXTYPE 256 #define NAUBRDMAX 4 /* max number of NAU boards in the system */ #define NAUDATAMAX 1497 /* maximum data size down-stream into the nau driver */ #ifdef u3b2 #define SPLNAU splni() #else #define SPLNAU spl5() #endif /* initialization consits */ #define STARTUP 5 #define INITIALIZED 17 #define NAUSTATE (Nau_state != INITIALIZED) /* flags */ #define C_OPEN 001 #define C_BIND 010 /* error returns */ #define NAU_NOTOPEN 0x101 #define NAU_NOTBIND 0x102 #define NAU_ISBIND 0x103 #define NAU_802_ERROR 0x104 #define NAU_BADPARA 0x105 #define NAU_NOMEM 0x106 #define NAU_DUP_MUXTYPE 0x107 #define NAU_NO_MUXTYPE 0x108 #define NAU_PACK_SIZE 0x109 #define NAU_MAX_JOBST 0x10a #define NAU_ALR_OPEN 0x10b /* macro to check the open and bind state of the protocol module */ #define OBSTATE(pmod) ((pmod->c_flag & C_OPEN) ? ((pmod->c_flag & C_BIND) ? 0 : NAU_NOTBIND) : NAU_NOTOPEN) #ifdef DEBUG /* debug values for different functions and traces */ #define NAU_D_ERROR 0x00001 /* trace all error legs of the NAU */ #define NAU_D_INFO 0x00002 /* trace of nau_info() */ #define NAU_D_NAUADM 0x00004 /* trace of nauadm() */ #define NAU_D_DEBUG 0x00008 /* trace of problems */ #define NAU_D_BIND 0x00010 /* trace of nau_bind()/nau_unbind() */ #define NAU_D_CLOSE 0x00020 /* trace of nau_close() */ #define NAU_D_LRESP 0x00040 /* trace of the nau_llc1_resp() */ #define NAU_D_OPEN 0x00080 /* trace of nau_open() */ #define NAU_D_PUMP 0x00100 /* trace of nau_pump() */ #define NAU_D_RECV 0x00200 /* trace of nau_recv() */ #define NAU_D_REPLY 0x00400 /* trace of nau_reply() */ #define NAU_D_SEND 0x00800 /* trace of nau_send() */ #define NAU_D_SRV 0x01000 /* trace of nausrv() */ #define NAU_D_TERM 0x02000 /* trace of nau_term() */ #define NAU_D_FW 0x04000 /* trace of naufw_*() */ #define NAU_D_LLC1 0x08000 /* trace of nau_llc1()_ */ #define NAULO_D_INIT 0x10000 /* trace of naulo_init() */ #define NAULO_D_INT 0x20000 /* trace of nauintr() */ #define NAULO_D_LB 0x40000 /* set the board to LOOP BACK */ #define NAULO_D_RECV 0x80000 /* trace of naulo_recv() */ #define NAULO_D_SEND 0x100000 /* trace of naulo_send() */ #define NAULO_D_TERM 0x200000 /* trace of naulo_term() */ #define NAULO_D_PEGCNT 0x400000 /* trace of naulo_pegcount() */ #define NAULO_D_XMT (NAULO_D_INT | NAULO_D_SEND) #define NAULO_D_PROM 0x800000 /* in promiscuous mode */ #define NAULO_D_QUEUE 0x1000000 /* trace job queueing and dequeueing */ #define NAULO_D_WTBSY 0x2000000 /* report wait count after RESET */ #define NAULO_D_VERBWT 0x4000000 /* comment on WAITCMD wait time */ #endif /* these are 802.1 and some 802.3 definitions for the nau */ #define DL_XID_RESP 10 /* XID packet response */ #define DL_TEST_RESP 11 /* TEST packet response */ typedef unsigned char OCTET; typedef struct { /* MAC and LLC header */ OCTET dadd[6]; OCTET sadd[6]; short length; OCTET dsap; OCTET ssap; OCTET ctrl; } LLC1_PAC_HDR; typedef struct { /* XID information */ OCTET info; OCTET llctype; OCTET windowsize; } INFO_PAC; #define INFO 0x81 #define ITYPE1 0x80 #define ITYPE2 0x40 #define IWNDOW 0x00 #define XID0 0xbf #define XID1 0xaf #define TEST0 0xf3 #define TEST1 0xd3 #define UI 0x03 #define LLC1_PAC_HDR_SIZE 17 #define INFO_PAC_SIZE 3 #define MAC_ADD_SIZE 6 /* size of a MAC address */ #define LLC_ADD_SIZE 1 /* size of a LLC address */ #define LSAP_SIZE MAC_ADD_SIZE + LLC_ADD_SIZE /* LSAP size */ #define MAC_HDR_SIZE 14 /* size of the MAC header */ #define LLC_HDR_SIZE 3 /* size of the LLC header */ typedef struct { /* a LSAP structure */ OCTET mac_add[MAC_ADD_SIZE]; OCTET llc_add[LLC_ADD_SIZE]; } LSAP;