/* /* Module: $ASNMISCDEF /* /* Version: 'X-3' /* /****************************************************************************** /** /** Copyright © 1996 Digital Equipment Corporation. /** All rights reserved. /** /** Redistribution and use in source and binary forms are permitted /** provided that the above copyright notice and this paragraph are /** duplicated in all such forms and that any documentation, /** advertising materials, and other materials related to such /** distribution and use acknowledge that the software was developed /** by Digital Equipment Corporation. The name of the /** Corporation may not be used to endorse or promote products derived /** from this software without specific prior written permission. /** THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR /** IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED /** WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. /** /****************************************************************************** /* /*++ /* /* FACILITY: OpenVMS Alpha ASNDRIVER /* /* ABSTRACT: /* /* This file contains the SDL source for the structures ASNUCB, ASNRD, /* and ASNWRT packets. /* /* AUTHOR: Forrest A. Kenney CREATION DATE: 09-January-1996 /* /* MODIFIED BY: /* /* X-3 BWK003 Barry W. Kierstein 17-DEC-1996 /* Replaced the standard Digital copyright with /* one compatible with the CMU copyright. /* /* X-2 BWK002 Barry W. Kierstein 24-JUL-1996 /* Corrected copyright notice. /* /* X-1 FAK0001 Forrest A. Kenney dd-mmmmmmm-yyyy /* Initial entry. /*-- MODULE $ASNMISCDEF; read "src$:ttyucbdef.sdi"; aggregate ASNUCB structure prefix UCB$ typedef basealign quadword; LTRM_UCB LTRM_UCB fill; ASN_FILL byte dimension 16 fill; /* Fill to get to LOGUCB field TT_LOGUCB pointer (UCB) tag L; /* Logical UCB pointer ASN_CREATEPORT pointer (entry returns longword) tag L; /* Create port routine ASN_DELETEPORT pointer (entry returns longword) tag L; /* Delete port routine ASN_VCIB pointer tag L; /* Pointer to VCIB ASN_STS_OVERLAY union fill; ASN_FLAGS longword; /* Various state flags ASN_FLAG_FIELD structure fill prefix UCB$; asn_delpend bitfield mask; /* Deletion pending asn_delactive bitfield mask; /* Deletion active asn_drop_chars bitfield mask; /* drop received chars asn_frame_seen bitfield mask; /* Frame character seen asn_input_disabled bitfield mask; /* Not ready to take data end ASN_FLAG_FIELD; end ASN_STS_OVERLAY; ASN_RCV_ACCM longword unsigned; /* Receive ACCM ASN_XMIT_ACCM longword unsigned dimension 8; /* Transmit ACCM ASN_CON_TYPE longword unsigned; ASN_FCS_RCV longword; /* Receive FCS size ASN_FCS_XMIT longword; /* Transmit FCSsize ASN_FLOW longword; /* Flow control types ASN_RCV_STATE longword; /* If non-zero receives are enabled ASN_MRU longword; /* Size of largest receive packet ASN_MTU longword; /* size of largest tranmit packet ASN_READQ_FL pointer tag L; /* Forward link of free read packet queue ASN_READQ_BL pointer tag L; /* Backward link of free read packet queue ASN_PACKETQ_FL pointer tag L; /* Forward link of queue of filled read packets ASN_PACKETQ_BL pointer tag L; /* Backward link of queue of filled read packets ASN_WRITEQ_FL pointer tag L; /* Forward link of queue of outstanding writes ASN_WRITEQ_BL pointer tag L; /* Backward link of queue of outstanding writes ASN_WRITE_BUFFER pointer tag L; /* Pointer to write buffer ASN_FQFL pointer (FKB) tag L; /* Fork block to queue deletion ASN_FQBL pointer (FKB) tag L; /* to. ASN_SIZE word unsigned; ASN_TYPE byte unsigned; ASN_FLCK byte unsigned; ASN_FPC pointer (entry returns void) tag L; ASN_FR3 quadword; ASN_FR4 quadword; ASN_BAD_FCS quadword; /* Count of packets with bad FCS ASN_DATA_LOST quadword; /* Count of characters reported lost by hardware ASN_DROPPED_CHARS quadword; /* Count of chracters thrown away ASN_FE quadword; /* Count of hardware frame errors ASN_LONG_PKTS quadword; /* Packets > MTU ASN_PKTS_RCV quadword; /* Total # packets received ASN_PKTS_SENT quadword; /* Total # packets sent ASN_RUNT_PKTS quadword; /* # of packets that were to short ASN_TOTAL_CHARS quadword; /* Total # characters received ASN_LOCK_FILL byte dimension 48; /* Place fork counter far from other cells ASN_FORK_CNT longword; /* Count of outstanding forks end ASNUCB; /* /* Define read packet layout /* aggregate ASNRD structure prefix ASNRD$ typedef basealign quadword; FQFL pointer tag L; /* Queue forward link FQBL pointer tag L; /* Queue backward link SIZE word unsigned; /* Structure size TYPE byte unsigned; /* Structure type FLCK byte unsigned; /* FLCK FPC pointer (entry returns void) tag L; FR3 quadword; /* FR3 FR4 quadword; /* FR4 UCB pointer tag A; /* Pointer to ASN UCB STATUS longword; /* Status of request PUTPTR pointer tag L; /* Pointer to next character in buffer END_FRAME pointer tag L; /* Pointer to end of frame FRAME byte unsigned tag T; /* Packet data area end ASNRD; /* /* Define WRITE packet layout /* aggregate ASNWRT structure prefix ASNWRT$ typedef basealign quadword; FQFL pointer tag L; /* Queue forward link FQBL pointer tag L; /* Queue backward link SIZE word unsigned; /* Structure size TYPE byte unsigned; /* Structure type FLCK byte unsigned; /* FLCK FPC pointer (entry returns void) tag L; FR3 quadword; /* FR3 FR4 quadword; /* FR4 UCB pointer tag A; /* Pointer to ASN UCB VCRP pointer tag A; /* Pointer to VCRP DATA pointer; /* Pointer to data in buffer BCNT longword; /* Count of data in buffer STATUS longword; /* Status of request DATA byte unsigned tag T; /* Packet data area end ASNWRT; aggregate LSTITM structure prefix ITM$ typedef basealign longword; LENGTH word; /* Length of Item TYPE word; /* Item type BUFFADDR pointer tag L; /* Address of item RETADDR pointer tag L; /* Address to store results end LSTITM; aggregate SYSBUF_HDR structure typedef; PKT_DATAP pointer; USR_BUFP pointer; PKT_SIZE word; UNUSED word; end SYSBUF_HDR; /* /* Define some constants /* CONSTANT (PROBE , NO_PROBE) equals 0 increment 1; CONSTANT (RCV_OFF , RCV_ON) equals 0 increment 1; end_module $ASNMISCDEF;