% VAX-11 Librarian V04-00 # ?-.  $&;(g ITMLST_DECL ITMLST_INIT' MDM_ASCTOID MDM_CLOSEF* MDM_DQ_ADD) MDM_DQ_CLOSE( MDM_DQ_OPEN+ MDM_DQ_READ- MDM_DQ_REMOVE, MDM_DQ_SET" MDM_MKDATE MDM_OPENF% MDM_PARSE MDM_READF! MDM_RWNDF# MDM_STRANS$MDM_SYS_TRNLNM  MDM_WRITEFS_DESC VMS_TYPES _MDMDEF q/*++ _MDMDEF.TXT, Definitions of constants used by MDMLIB.L COPYRIGHT 1988 RENSSELAER POLYTECHNIC INSTITUTE. ALL RIGHTS RESERVED. MODIFICATION HISTORY:8 16-NOV-1987 V1.0 Madison Initial coding.H 31-OCT-1988 V1.1 Madison Move from _M_ codes to __ codes0 for non-mask codes.--*/E/*** Message codes: use the GLOBALREF VALUEs so as to force inclusion= of the messages module at link time.  */ DECLARE (MDM__INVFUNC,9 MDM__INVFSPEC) FIXED BINARY(31) GLOBALREF VALUE;/*** Used by MDM_OPENF ***/ %REPLACE MDM__READ BY 1; %REPLACE MDM__WRITE BY 2; %REPLACE MDM__APPEND BY 4; %REPLACE MDM__EXISTS BY 8;2/***** the following codes are now OBSOLETE: ****/ %REPLACE MDM_M_READ BY 1;! %REPLACE MDM_M_WRITE BY 2;! %REPLACE MDM_M_APPEND BY 4;! %REPLACE MDM_M_EXISTS BY 8;/*** Used by MDM_STRANS ***/ %REPLACE MDM__ASCEBC BY 1; %REPLACE MDM__EBCASC BY 2; %REPLACE MDM__ASCPRI BY 3; %REPLACE MDM__PRIASC BY 4;1/**** the following codes are now OBSOLETE: ****/! %REPLACE MDM_M_ASCEBC BY 1;! %REPLACE MDM_M_EBCASC BY 2;! %REPLACE MDM_M_ASCPRI BY 3;! %REPLACE MDM_M_PRIASC BY 4;/*** Used by MDM_PARSE ***/, %REPLACE MDM_M_NODE BY '80000000'B4;+ %REPLACE MDM_M_DEV BY '40000000'B4;+ %REPLACE MDM_M_DIR BY '20000000'B4;, %REPLACE MDM_M_NAME BY '10000000'B4;, %REPLACE MDM_M_TYPE BY '08000000'B4;+ %REPLACE MDM_M_VER BY '04000000'B4;+ %REPLACE MDM_M_ALL BY 'FC000000'B4;. %REPLACE MDM_M_SYNCHK BY '00800000'B4;+ %REPLACE MDM_M_PWD BY '00400000'B4;/ %REPLACE MDM_M_NOCONCEAL BY '00200000'B4;ww&  MADISON _MDMDEF`+ MADISON S_DESC$?K MADISON ITMLST_INIT$ MADISON ITMLST_DECL"`F MADISON VMS_TYPES"I! MADISON MDM_OPENF"Ľ# MADISON MDM_READF#e% MADISON MDM_CLOSEF#@6s( MADISON MDM_WRITEF"* MADISON MDM_RWNDF#`_p- MADISON MDM_MKDATE#`=@/ MADISON MDM_STRANS'@z1 MADISON MDM_SYS_TRNLNM" `F.%S_DESC: PROCEDURE (VSTR) RETURNS (CHARACTER); %DECLARE VSTR CHARACTER;8 %RETURN ('DESCRIPTOR (SUBSTR (' || VSTR || ', 1))');%END;wwk=%ITMLST_INIT: PROCEDURE (ITM, ITMCOD, BUFSIZ, BUFADR, RETLEN)" STATEMENT RETURNS (CHARACTER);= %DECLARE (ITM, ITMCOD, BUFSIZ, BUFADR, RETLEN) CHARACTER; %DECLARE RETSTR CHARACTER; %IF ITMCOD = '' %THEN: %RETURN (ITM || '.ITMCOD,' || ITM || '.BUFSIZ = 0;');< %RETSTR = 'DO;' || ITM || '.ITMCOD = ' || ITMCOD || ';'; %IF BUFSIZ = '' %THEN1 %RETSTR = RETSTR || ITM || '.BUFSIZ = 0;' ||* ITM || '.BUFADR = NULL ();'; %ELSE@ %RETSTR = RETSTR || ITM || '.BUFSIZ = ' || BUFSIZ || ';' ||: ITM || '.BUFADR = ADDR (' || BUFADR || ');'; %IF RETLEN = '' %THEN: %RETSTR = RETSTR || ITM || '.RETLEN = NULL (); END;'; %ELSEJ %RETSTR = RETSTR || ITM || '.RETLEN = ADDR (' || RETLEN || '); END;'; %RETURN (RETSTR);%END;6%ITMLST2_INIT: PROCEDURE (ITM, ITMCOD, BUFSIZ, BUFADR)" STATEMENT RETURNS (CHARACTER);= %DECLARE (ITM, ITMCOD, BUFSIZ, BUFADR, RETLEN) CHARACTER; %DECLARE RETSTR CHARACTER; %IF ITMCOD = '' %THEN: %RETURN (ITM || '.ITMCOD,' || ITM || '.BUFSIZ = 0;');< %RETSTR = 'DO;' || ITM || '.ITMCOD = ' || ITMCOD || ';'; %IF BUFSIZ = '' %THEN1 %RETSTR = RETSTR || ITM || '.BUFSIZ = 0;' ||/ ITM || '.BUFADR = NULL (); END;'; %ELSE@ %RETSTR = RETSTR || ITM || '.BUFSIZ = ' || BUFSIZ || ';' ||? ITM || '.BUFADR = ADDR (' || BUFADR || '); END;'; %RETURN (RETSTR);%END;ww+B%ITMLST_DECL: PROCEDURE (ITMLST, N) STATEMENT RETURNS (CHARACTER);' %DECLARE ITMLST CHARACTER, N FIXED;: %RETURN ('DECLARE 1 ' || ITMLST || '(' || N || '),' ||* '2 BUFSIZ FIXED BINARY (15),' ||* '2 ITMCOD FIXED BINARY (15),' || '2 BUFADR POINTER,' || '2 RETLEN POINTER;');%END;C%ITMLST2_DECL: PROCEDURE (ITMLST, N) STATEMENT RETURNS (CHARACTER);' %DECLARE ITMLST CHARACTER, N FIXED;: %RETURN ('DECLARE 1 ' || ITMLST || '(' || N || '),' ||* '2 BUFSIZ FIXED BINARY (15),' ||* '2 ITMCOD FIXED BINARY (15),' || '2 BUFADR POINTER;');%END;ww @&:%DECLARE (VMS_ACCESS_MODE, VMS_ADDRESS, VMS_ADDRESS_RANGE,= VMS_BYTE_SIGNED, VMS_BYTE_UNSIGNED, VMS_CHANNEL, VMS_PID,> VMS_COND_VALUE, VMS_CONTEXT, VMS_DATE_TIME, VMS_EF_NUMBER,9 VMS_FILE_PROTECTION, VMS_FUNCTION_CODE, VMS_NULL_ARG,L VMS_IDENTIFIER, VMS_IO_STATUS_BLOCK, VMS_LOCK_ID, VMS_LOCK_STATUS_BLOCK,> VMS_LONGWORD_SIGNED, VMS_LONGWORD_UNSIGNED, VMS_MASK_BYTE,M VMS_MASK_LONGWORD, VMS_MASK_QUADWORD, VMS_MASK_WORD, VMS_OCTAWORD_SIGNED,? VMS_OCTAWORD _UNSIGNED, VMS_PAGE_PROTECTION, VMS_PROCESS_ID,B VMS_QUADWORD_SIGNED, VMS_QUADWORD_UNSIGNED, VMS_RIGHTS_HOLDER,A VMS_RIGHTS_ID, VMS_SECTION_ID, VMS_SYSTEM_ACCESS_ID, VMS_UIC,2 VMS_WORD_SIGNED, VMS_WORD_UNSIGNED) CHARACTER;&%VMS_BYTE_SIGNED = 'FIXED BINARY (7)';(%VMS_BYTE_UNSIGNED = 'FIXED BINARY (7)';'%VMS_WORD_SIGNED = 'FIXED BINARY (15)';)%VMS_WORD_UNSIGNED = 'FIXED BINARY (15)';+%VMS_LONGWORD_SIGNED = 'FIXED BINARY (31)';-%VMS_LONGWORD_UNSIGNED = 'FIXED BINARY (31)';*%VMS_QUADWORD_SIGNED = 'BIT (64) ALIGNED';,%VMS_QUADWORD_UNSIGNED = 'BIT (64) ALIGNED';+%VMS_OCTAWORD_SIGNED = 'BIT (128) ALIGNED';-%VMS_OCTAWORD_UNSIGNED = 'BIT (128) ALIGNED';%%VMS_ACCESS_MODE = VMS_BYTE_UNSIGNED;%VMS_ADDRESS = 'POINTER';#%VMS_ADDRESS_RANGE = '(2) POINTER';!%VMS_CHANNEL = VMS_WORD_UNSIGNED;(%VMS_COND_VALUE = VMS_LONGWORD_UNSIGNED;%%VMS_CONTEXT = VMS_LONGWORD_UNSIGNED;%%VMS_DATE_TIME = VMS_QUADWORD_SIGNED;'%VMS_EF_NUMBER = VMS_LONGWORD_UNSIGNED;*%VMS_FILE_PROTECTION = 'BIT (16) ALIGNED';(%VMS_FUNCTION_CODE = 'BIT (32) ALIGNED';&%VMS_IDENTIFIER = 'FIXED BINARY (31)';%%VMS_LOCK_ID = VMS_LONGWORD_UNSIGNED;#%VMS_MASK_BYTE = 'BIT (8) ALIGNED';(%VMS_MASK_LONGWORD = 'BIT (32) ALIGNED';(%VMS_MASK_QUADWORD = 'BIT (64) ALIGNED';$%VMS_MASK_WORD = 'BIT (16) ALIGNED';%VMS_NULL_ARG = '';-%VMS_PAGE_PROTECTION = VMS_LONGWORD_UNSIGNED;!%VMS_PID = VMS_LONGWORD_UNSIGNED;(%VMS_PROCESS_ID = VMS_LONGWORD_UNSIGNED;'%VMS_RIGHTS_ID = VMS_LONGWORD_UNSIGNED;%%VMS_SECTION_ID = 'BIT (64) ALIGNED';+%VMS_SYSTEM_ACCESS_ID = 'BIT (64) ALIGNED';%VMS_UIC = VMS_LONGWORD_SIGNED;ww!9 DECLARE MDM_OPENF ENTRY (ANY VALUE, ANY CHARACTER(*),- FIXED BINARY(31) OPTIONAL TRUNCATE,. ANY CHARACTER (*) OPTIONAL TRUNCATE,. ANY CHARACTER (*) OPTIONAL TRUNCATE)% RETURNS (FIXED BINARY(31));ww`#5 DECLARE MDM_READF ENTRY (FIXED BINARY(31) VALUE, ? ANY CHARACTER(*), FIXED BINARY(15) OPTIONAL TRUNCATE)% RETURNS (FIXED BINARY(31));ww%5 DECLARE MDM_CLOSEF ENTRY (FIXED BINARY(31) VALUE)% RETURNS (FIXED BINARY(31));ww](5 DECLARE MDM_WRITEF ENTRY (FIXED BINARY(31) VALUE,7 ANY CHARACTER(*)) RETURNS (FIXED BINARY(31));wwK*4 DECLARE MDM_RWNDF ENTRY (FIXED BINARY(31) VALUE)% RETURNS (FIXED BINARY(31));ww[-7 DECLARE MDM_MKDATE ENTRY (BIT(64) ALIGNED OPTIONAL,? ANY CHARACTER(*), FIXED BINARY(15) OPTIONAL TRUNCATE)% RETURNS (FIXED BINARY(31));ww2/: DECLARE MDM_STRANS ENTRY (ANY VALUE, ANY CHARACTER(*),7 ANY CHARACTER(*)) RETURNS (FIXED BINARY(31));ww03 DECLARE MDM_SYS_TRNLNM ENTRY (ANY CHARACTER(*),= BIT(32) ALIGNED OPTIONAL, BIT(32) ALIGNED OPTIONAL,5 FIXED BINARY(7) OPTIONAL, ANY CHARACTER(*),I FIXED BINARY(15) OPTIONAL TRUNCATE) RETURNS (FIXED BINARY(31));ww24 DECLARE MDM_PARSE ENTRY (ANY, ANY CHARACTER (*),3 ANY CHARACTER (*) OPTIONAL, ANY CHARACTER (*),F FIXED BINARY (15) OPTIONAL TRUNCATE) RETURNS (FIXED BINARY (31));ww !2 MADISON MDM_PARSE$`m4 MADISON MDM_ASCTOID$`w66 MADISON MDM_DQ_OPEN%8 MADISON MDM_DQ_CLOSE#9 MADISON MDM_DQ_ADD$`=u; MADISON MDM_DQ_READ#*+= MADISON MDM_DQ_SET& !? MADISON MDM_DQ_REMOVE`84D DECLARE MDM_ASCTOID ENTRY (ANY CHARACTER (*), FIXED BINARY (31))! RETURNS (FIXED BINARY (31));ww(6D DECLARE MDM_DQ_OPEN ENTRY (ANY CHARACTER (*), FIXED BINARY (31))! RETURNS (FIXED BINARY (31));ww7O DECLARE MDM_DQ_CLOSE ENTRY (FIXED BINARY (31)) RETURNS (FIXED BINARY (31));wwB9C DECLARE MDM_DQ_ADD ENTRY (FIXED BINARY (31), FIXED BINARY (31),G FIXED BINARY (31), FIXED BINARY (31)) RETURNS (FIXED BINARY (31));wwg;D DECLARE MDM_DQ_READ ENTRY (FIXED BINARY (31), FIXED BINARY (31),= FIXED BINARY (31), FIXED BINARY (31), FIXED BINARY (31),E FIXED BINARY (31) OPTIONAL TRUNCATE, FIXED BINARY (31) OPTIONAL)! RETURNS (FIXED BINARY (31));ww=C DECLARE MDM_DQ_SET ENTRY (FIXED BINARY (31), FIXED BINARY (31),< FIXED BINARY (31) OPTIONAL, FIXED BINARY (31) OPTIONAL)! RETURNS (FIXED BINARY (31));ww ?F DECLARE MDM_DQ_REMOVE ENTRY (FIXED BINARY (31), FIXED BINARY (31))! RETURNS (FIXED BINARY (31));ww