C NOTE: table is hashed on top word of address by AND'ing it with C ICPADR_MAXADDRS (hence why it must be a power of 2 minus 1). STRUCTURE /ETH_ADR/ UNION MAP INTEGER*2 NUM(0:2) END MAP MAP INTEGER*4 LNUM END MAP END UNION END STRUCTURE ! /ETH_ADR/ INTEGER*4 ICPADR_MAXADDRS, ICPADR_MINADDRS PARAMETER(ICPADR_MAXADDRS=1023, ! must be 2**N - 1, N integer + ICPADR_MINADDRS=16) CHARACTER*7 CCVADR_DECNETNAM(0:ICPADR_MAXADDRS) CHARACTER*24 CCVADR_INETNAM(0:ICPADR_MAXADDRS), + CCVADR_MISCNAM(0:ICPADR_MAXADDRS) INTEGER*2 NCVADR_DECNETNAMLEN(0:ICPADR_MAXADDRS), + NCVADR_INETNAMLEN(0:ICPADR_MAXADDRS), + NCVADR_MISCNAMLEN(0:ICPADR_MAXADDRS) INTEGER*4 ICVADR_ADDRCNT(0:ICPADR_MAXADDRS,0:1), + ICVADR_MIN_ADDRCNT(0:ICPADR_MAXADDRS), + ICVADR_MAX_ADDRCNT(0:ICPADR_MAXADDRS), + ICVADR_AVG_ADDRCNT(0:ICPADR_MAXADDRS), + ICVADR_SERNUM(0:ICPADR_MAXADDRS), + ICVADR_INETADR(0:ICPADR_MAXADDRS), + ICVADR_NUMADDRS/ICPADR_MINADDRS/ LOGICAL*1 LCVADR_USED(0:ICPADR_MAXADDRS) RECORD /ETH_ADR/ SCVADR_ADDR(0:ICPADR_MAXADDRS) COMMON /ADDRESS_NAMES/ ICVADR_NUMADDRS, ICVADR_ADDRCNT, + ICVADR_MIN_ADDRCNT, ICVADR_MAX_ADDRCNT, + ICVADR_AVG_ADDRCNT, ICVADR_SERNUM, ICVADR_INETADR, + NCVADR_DECNETNAMLEN, NCVADR_INETNAMLEN, NCVADR_MISCNAMLEN, + SCVADR_ADDR, LCVADR_USED, + CCVADR_DECNETNAM, CCVADR_INETNAM, CCVADR_MISCNAM