DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6704 (0x1a30) Types: TextFile Names: »D_UTH.I«
└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII ) └─ ⟦this⟧ »CSP004_V0801.D!CSS107.D!D_UTH.I«
"----------------------------------------------------------------------- " " " module name: DAMOS UTILITYHELP " module id nbr: CSS/107 " module version: 03 " "----------------------------------------------------------------------- "page«ff» " import " type filetype= record name: file_name; s : tstream; f : fd; end; type segment_entry = record handle : integer; access : "access_type" integer; end; segmenttable = array[1..20] of segment_entry; " import " type param_record = record no_of_fms : integer; first_fms, second_fms, third_fms : file_system_name; no_of_tms : integer; first_tms, second_tms, third_tms : file_system_name; work_pages, no_of_segments : integer; segment_table : segmenttable; param_offer_id : offer_id; process_name : file_name; TOS_user_ident : user_ident; end; import var default_fsn : file_system_name; "default file system name default_vol : volume_name; "default volume name pfiletype : filetype; "param file descr dfiletype : filetype; "curr direc file descr cinfiletype : filetype; "curr input file descr coutfiletype : filetype; "curr output file descr oinfiletype : filetype; "original input file descr prog_id : record p_fsn : file_system_name; p_vol : volume_name; p_namelist : namelisttype; p_nameno : integer; p_fromadam : integer; " 0 = no " end; param_rec : param_record; "page«ff» import procedure fileerror "========================" (r4; "C K pointer to file type addr r5; "C K pointer to error text r7; "C K completion code r6); "C K link "Writes an errortext and terminates the program execution. "the registers are restored before termination so TOS's "long termination message can be utilized import procedure initfiletype "===========================" (r4; "C pointer to file type addr r5; "C pointer to filename addr r7; "C D file descriptor r6); "C K link import procedure openfile "=======================" (r4; "C pointer to file type addr r0; "C pointer to file system name r1; "C pointer to volume name addr r2; "C name no r3; "C from adam r5; "C pointer to name list addr r7; "C D directory r6); "C K link import procedure dismantlefile "============================" (r4; "C pointer to file type addr r6); "C K link import procedure openstream "=========================" (r4; "C pointer to file type addr r3; "C mode r6); "C K link import procedure closestream "==========================" (r4; "C pointer to file type addr r6); "C K link import procedure inb "==================" (r4; "C pointer to file type addr r3; " R byte r6); "C K link import procedure outb "===================" (r4; "C pointer to file type addr r3; "C byte r6); "C K link "page«ff» import procedure acceptfiles(r6); " all registers destroyed "==========================" " Fetch the file system name from the pps, and accept the " parameter file. The user directory is read from the para- " meter file, look_up'ed and the directory file is prepared. " At return the files are described in the variables pfiletype " and dfiletype. The procedure is left with an open stream " to the parameter file. "page«ff» import procedure readkeyword "==========================" (keyw_size :integer;" size of keywords in words no_of_bytes:integer;" numbers of significant bytes top :integer;" top of keywords r0; " R key word index r4; "C pointer to keyword table r6); "C K link " Read a keyword text from the the parameter file (incl. Trailing " spaces and ':' or '='). " Find a matching entry in the keyword table described in the para- " meters. A match is found if the first 'no_of_bytes' - 1 and the last " character of the keyword is equal to the corresponding characters " of the keyword table entry ( a (:127:) matches all characters). " If a '/' is met on the parameter stream, it will be interpreted as " a repetition of the previous keyword. " Two entries are used for special purposes: " index 0 is returned if an unknown keyword is read " (the keyword is stored in the entry) " index top is returned if eof is met " (the entry does not have to exist) "page«ff» import procedure readsysparams(r6); "all registers destroyed "============================" " Read the first line ( incl. nl ) of the parameter file, and " prepare the cin file, the cout file and the oin file for file " access ( 'cinfiletype', 'coutfiletype', 'oinfiletype'). " if cin file = cout file then only the cin file is opened and " the file handle is copied to coutfiletype.f " In addition a stream is connected to the cout file. " if cin file = oin file then only the cin file is opened and " the file handle is copied to oinfiletype.f " The default volume name is stored in 'default_vol'. " The program identifier is stored in 'prog_id'. "page«ff» import procedure lookup_error_text "================================" (r3; "C K @ error_text save area ( 132 char = 66 word) r7; "C K completion code r6): " link error_done; " This procedure delivers an error text when given a completion code. " The database consists of two files namely DD.T and DD.X placed in " the same directory as the program. " " The database files are opened at first given opportunity. " " Exit: " done : the error text is delivered at r3 " err : I/O error or unknown completion code (code not in 0..#3FFF) "page«ff» «a5»