1 LISP LIBRARY PACKAGES MANUAL 1 LISP LIBRARY PACKAGES MANUAL ETHERRECORDS 1 SYSTEM PROGRAMMING 1 ETHERRECORDS 6 This Library package contains a collection of record definitions needed for low-level Ethernet programming in Interlisp-D. There are three sections: general, Pup, and NS. General-purpose Records 1 ETHERPACKET [Data type] A data type describing a level-zero Ethernet packet. Use a BLOCKRECORD overlaying this record to define various level-one packets (see PUP and XIP for examples). SYSQUEUE [Data type] A data type implementing a low-level queue for Ethernet use. QABLEITEM [Record] A record that overlays any data type whose first field is a POINTER used for linking items on a SYSQUEUE. PUP Records 1 PUP [Record] A record overlaying ETHERPACKET describing the layout of a standard PUP (PARC Universal Packet). ERRORPUP [Record] A record overlaying ETHERPACKET describing the layout of a standard PUP error packet. The variable PUPERRORCODES contains constants defining most of the standard error codes. PUPADDRESS [Record] A record describing how to take a 16-bit pup address apart into 8-bit network and host numbers. \PUPOVLEN [Constant] A constant representing the number of bytes in a Pup exclusive of the data portion; i.e., the LENGTH field of a Pup is the byte length of its data portion plus \PUPOVLEN. \MAX.PUPDATALENGTH [Constant] A constant, the maximum number of bytes permitted in a standard Pup (532). NS Records 1 XIP [Record] A record overlaying ETHERPACKET describing the layout of a standard Xerox Internet Packet. ERRORPUP [Record] A record overlaying ETHERPACKET describing the layout of a standard XNS error packet. The variable XIPERRORCODES contains constants defining most of the standard error codes. \XIPOVLEN [Constant] A constant representing the number of bytes in a XIP exclusive of the data portion; i.e., the LENGTH field of a XIP is the byte length of its data portion plus \XIPOVLEN. \MAX.XIPDATALENGTH [Constant] A constant, the maximum number of bytes permitted in a standard XIP (546). NSHOSTNUMBER [Record] A record describing a 48-bit XNS host number. NSADDRESS [Data type] A data type describing a complete XNS address: 32-bit network, 48-bit host, 16-bit socket. NSNAME [Data type] A data type describing a standard three-part Clearinghouse name.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 381) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 618) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (54 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) 2ø,øT1ø,ø1ø,øCøø PAGEHEADING VERSOHEADT1ÌÌøxø.ÌÌøx(ÌÌø )ÌÌøT)ÌÌøTBøø PAGEHEADING VERSOHEADBøø PAGEHEADING RECTOHEADAøø PAGEHEADINGFOOTINGVAøø PAGEHEADINGFOOTINGR?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) MODERN MODERNMODERN   HRULE.GETFNMODERN    HRULE.GETFNMODERN     HRULE.GETFNMODERN   HRULE.GETFNMODERN   HRULE.GETFNMODERN­ HRULE.GETFNMODERN £=j  HRULE.GETFNMODERN a°`« K  HRULE.GETFNMODERN [°«K.[@ hzº