Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0052/uflip.rno
There are 2 other files named uflip.rno in the archive. Click here to see a list.
.SP 1
.TIT ^^UFLIP A\\ ^USER ^FILE ^LIBRARY ^IMPLEMENTATION ^PROGRAM
.C
^^UFLIP A\\ ^USER ^FILE ^LIBRARY ^IMPLEMENTATION ^PROGRAM
.C
^J.^B. ^MOORHEAD
.C
17 ^JUNE 1972
.SK 2
.L 6
.ND -5
^GENERAL
.SK 1
^THE PROGRAM ^^UFLIP\\ HAS ONE PRIMARY PURPOSE: TO PROVIDE ^^PDP\\-10
USERS WITH THE CAPABILITY OF COMBINING SEVERAL SMALL DISK FILES INTO
ONE LARGER FILE (LIBRARY) IN HIS OWN AREA WITH THE PROVISION FOR
SUBSEQUENT UPDATING AND EXTRACTION.  ^THE REASONS FOR SUCH A CAPABILITY ARE:
1) TO ALLOW FOR A NUMBER OF FILES
TO BE STORED ON ^^DEC\\-TAPE, IN EXCESS OF THE NUMBER WHICH CAN BE
CONTAINED IN A ^^DEC\\-TAPE DIRECTORY, 2) TO REDUCE THE DISK BLOCK 
OVERHEAD CAUSED BY FILES OCCUPYING AN INTEGRAL NUMBER OF DISK CLUSTERS,
AND 3) TO ALLOW USERS TO CATEGORIZE GROUPS OF FILES PERTAINING TO COMMON
TASKS OR SUBJECTS.
.SK 2
.ND -5
^FUNCTIONS
.SK 1
^ALL FILES AND LIBRARIES INVOLVED MUST RESIDE ON DISK TO BE MANIPULATED
BY ^^UFLIP\\. ^IT CAN BE USED TO CREATE LIBRARIES, TO ADD FILES TO
OR DELETE FILES FROM THEM, REPLACE (UPDATE)
COPIES OF FILES IN THEM, EXTRACT FILES FROM THEM, AND LIST THEIR 
CONTENTS.
.SK 1
.L 11
.ND -5
^CREATION:####^CREATING A LIBRARY CAUSES A NEW LIBRARY,
CONSISTING OF FILES IN THE USER'S DIRECTORY OR DIRECTORIES, WHICH
MATCH FILES IN THE LIST (SEE DESCRIPTION OF LIST BELOW), TO BE FORMED.
^THE LIBRARY FILE CREATED REPLACES ANY
PREVIOUS VERSION OF A FILE WITH THE SAME NAME IN THE USER'S 
DIRECTORY.
.SK 1
.ND -5
^ADDITION:####^ADDING TO A LIBRARY CAUSES ALL FILES IN THE USER'S
DIRECTORY OR DIRECTORIES, WHICH MATCH ENTRIES IN THE LIST,
TO BE APPENDED TO THE LIBRARY FILE REGARDLESS OF THE PRIOR EXISTENCE
OF SUCH A FILE IN THE LIBRARY.  ^SHOULD THERE BE NO LIBRARY IN EXISTANCE,
ADDITION WOULD REDUCE TO CREATION.
.SK 1
.ND -5
^DELETION:####^DELETING CAUSES ALL COPIES OF ALL
FILES IN A LIBRARY, WHICH MATCH
LIST ENTRIES, TO BE DELETED FROM THE LIBRARY.
.SK 1
.ND -5
^REPLACEMENT:#^REPLACING CAUSES ALL COPIES
OF ALL FILES IN A LIBRARY, WHICH MATCH ENTRIES IN THE
LIST, TO BE REPLACED BY FILES FROM THE USER'S DIRECTORY.
^IF REPLACEMENTS ARE NOT AVAILABLE FOR ALL FILES TO BE REPLACED, THE
OLD COPY OR COPIES REMAIN IN THE LIBRARY AND IF THE USER
HAS COPIES OF A REPLACEMENT FILE ON MORE THAN ONE
STRUCTURE, THE FIRST ONE ENCOUNTERED WILL BE USED.
.SK 1
.ND -5
^EXTRACTION:##^EXTRACTING CAUSES THE LAST COPY OF EACH FILE IN A LIBRARY,
WHICH MATCHES A LIST ENTRY, TO BE CREATED OR TO REPLACE A COPY IN 
THE USER'S DIRECTORY.
.L 6
.ND -5
.SK 2
^USING ^^UFLIP\\
.SK 1
^TO RUN ^^UFLIP\\ THE USER TYPES ^^R UFLIP\\ TO THE MONITOR AND 
^^UFLIP\\ RESPONDS WITH AN "*", WHENEVER IT IS READY TO ACCEPT COMMANDS.
^THE USER THEN TYPES ONE OF THE FOLLOWING COMMANDS TO
ASK ^^UFLIP\\ TO PERFORM A DESIRED FUNCTION:
.SK 1
.NOJ
.NOF
.TAB 11,35
	LIBNAM.EXT/^C__LIST	TO CREATE A LIBRARY
	LIBNAM.EXT/^A__LIST	TO ADD TO A LIBRARY
	LIBNAM.EXT/^D__LIST	TO DELETE FROM A LIBRARY
	LIBNAM.EXT/^R__LIST	TO UPDATE A LIBRARY
	/^L__LIBNAM.EXT	TO LIST A LIBRARY (^^LONG
		##################FORM\\)
	/^F__LIBNAM.EXT	TO LIST A LIBRARY (^^SHORT
		##################FORM\\)
	LIST/^E__LIBNAM.EXT	TO EXTRACT FROM A LIBRARY
	/^H	TO TYPE ^^HELP\\ MESSAGE
.FIL
.JUS
.SK 1
WHERE LIBNAM IS THE NAME OF THE LIBRARY TO BE MANIPULATED
AND EXT IS ITS EXTENSION (THE EXTENSION MAY BE A NULL).  ^THE COMMAND
MUST BE TERMINATED BY A <^^CRLF\\> OR
<^^ALT MODE\\>.  ^THE LIST REPRESENTS THE FILE OR FILES THE USER WANTS TO
ACCESS WITHIN THE LIBRARY.  ^IT IS IN THE FORM
.SK 1
.ND 5
F1.EX1,F2.EX2,F3.EX3,...FN.EXN
.SK 1
^WILD CARDS MAY BE USED FOR FILE NAMES, EXTENSIONS, OR CHARACTERS
WITHIN THEM.  ^A "?" AT A CHARACTER POSITION WITHIN A LIST FILE NAME OR
EXTENSION CAN BE USED TO ALLOW ANY CHARACTER IN THAT POSITION TO BE CONSIDERED
AS A MATCH BY ^^UFLIP\\. ^AN "*" WITHIN A LIST FILE NAME OR EXTENSION
WOULD CAUSE ALL OF THE REMAINING CHARACTERS IN THAT NAME OR
EXTENSION TO BE CONSIDERED A MATCH BY ^^UFLIP\\.
.SK 1
^CONSIDER A LIBRARY OR USER DIRECTORY, AS APPLICABLE,
CONSISTING OF THE FOLLOWING FILES:
.L 25
.SK 1
^^PASSA
.NOF
.NOJ
PASSB
PARLIP.MAC
PARLIP.F4
PARLIP.BAK
DLIP.REL
TIME.F4
TONE.F4
TONE.REL\\
.SK 1
.JUS
.FIL
.L 6
^THE FOLLOWING LISTS WOULD BE IDENTICAL:
.SK 1
.L 11
^^P*.?A?\\ AND ^^PARLIP.MAC,PARLIP.BAK
.NOJ
.NOF
PAS*\\ AND ^^PAS*.*\\ AND ^^PASSA,PASSB
?LIP.*\\ AND ^^?LIP.REL\\ AND ^^DLIP.REL
?O*.*\\ AND ^^TONE.F4,TONE.REL
T*.F4\\ AND ^^TONE.F4,TIME.F4\\
.L 6
.JUS
.FIL
.SK 2
.ND -5
^RESTRICTIONS
.SK 1
1.###^THE NUMBER OF LIST ENTRIES SEPARATED BY COMMAS
 IN A COMMAND SPECIFICATION
MUST NOT EXCEED 64.
.SK 1
2.###^THE RESULTANT EFFECTIVE LIST FOR A COMMAND STRING MUST NOT
EXCEED 128.
.SK 1
3.###^THE NUMBER OF FILES IN A LIBRARY IS NOT LIMITED BY ^^UFLIP\\.
.SK 1
4.###^AN ATTEMPT TO INCLUDE IN A LIBRARY A FILE WITH THE SAME NAME
AND EXTENSION AS THE LIBRARY WILL USUALLY YIELD AN ERROR, WHICH IS NOT
IMMEDIATELY DETECTED.
.SK 1
5.###^WHENEVER AN ERROR OCCURS DURING THE EXECUTION OF ^^UFLIP\\,
ALL FILES REVERT TO THE FORM THEY HAD AT THE BEGINNING OF THE
EXECUTION OF THE COMMAND CAUSING THE ERROR, WITH ONE EXCEPTION:
FILES WHICH HAVE BEEN EXTRACTED
BEFORE THE ERROR EXIST IN THEIR EXTRACTED FORM.
.SK 2
.ND -5
^ERROR ^MESSAGES
.SK 1
^^UFLIP\\ TYPES THE FOLLOWING ERROR MESSAGES:
.SK 1
.L 11
.ND -5
^^SYNTAX ERROR CHARACTER\\ X:##^A GROSS SYNTAX ERROR OCCURRED
IN THE COMMAND STRING.  ^THE ILLEGAL CHARACTER WILL BE TYPED IF IT IS DETECTED
BEFORE THE END OF LINE.
.SK 1
.ND -5
^^SPECIFICATION TOO LARGE\\:##^MORE THAN 64 ENTRIES WERE IN THE COMMAND STRING.
.SK 1
.ND -5
^^SPECIFICATION ERROR\\:##^ALTHOUGH NO GROSS SYNTAX ERRORS OCCURRED, THE
COMMAND STRING WAS NOT IN ONE OF THE ACCEPTABLE FORMATS.
.SK 1
.ND -5
^^TOO MANY FILES IN LIST\\:##^MORE THAN 128 ENTRIES WERE IN THE EFFECTIVE LIST
DERIVED FROM THE COMMAND STRING.
.SK 1
.ND -5
^^LST EMPTY, NOTHING TO DO\\:##^THE EFFECTIVE LIST WAS EMPTY.
.SK 1
.ND -5
^^COULD NOT ENTER FILE\\ X:##^THERE WAS AN ERROR IN THE ATTEMPT TO ENTER THE SPECIFIED FILE
IN THE USER'S DIRECTORY.
.SK 1
.ND -5
^^INPUT ERROR ON LIBRARY FILE\\ X:##^THERE WAS AN ERROR READING THE SPECIFIED LIBRARY FILE.
.SK 1
.ND -5
^^OUTPUT ERROR ON FILE\\ X:##^THERE WAS AN ERROR WHILE WRITING THE SPECIFIED FILE.
.SK 1
.ND -5
^^ERROR READING FILE\\ X:##^THERE WAS AN ERROR READING THE SPECIFIED NON-LIBRARY FILE.
.SK 1
.ND -5
^^BAD FORM IN FILE\\ X:##^THE FORM OF THE SPECIFIED LIBRARY FILE WAS NOT IN THE PROPER
FORM FOR LIBRARY FILES.
.SK 1
.ND -5
^^SYSTEM ERROR  GAK!\\:##^AN UNEXPLAINABLE ERROR OCCURRED. ^THIS IS USUALLY
THE RESULT OF TWO LOOKUPS ON THE SAME FILE, THE SECOND OF WHICH 
FAILS.