Google
 

Trailing-Edge - PDP-10 Archives - cuspbinsrc_1of2_bb-x128c-sb - 10,7/galaxy/catlog/catprm.mac
There are 2 other files named catprm.mac in the archive. Click here to see a list.
UNIVERSAL CATPRM - Parameter file for the DECsystem-10 Catalog Daemon
SUBTTL	D. Mastrovito /DPM/JAD/JJF	23-Jan-86


;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1986, 1987, 1988.
;ALL RIGHTS RESERVED.
;
	SEARCH	GLXMAC, QSRMAC
	PROLOG	(CATTAB)

	CATVER==2			;MAJOR VERSION
	CATMIN==1			;MINOR VERSION
	CATWHO==0			;WHO LAST PATCHED
	CATEDT==0036			;EDIT LEVEL

	%%CAT==:<VRSN.(CAT)>		;ASSEMBLE VERSION NUMBER

	SALL				;FOR CLEAN LISTINGS
	.DIREC	FLBLST			;FOR CLEANER LISTINGS
SUBTTL	Table of Contents


SUBTTL	Revision history


COMMENT	\

Edit	Module	Explanation
----	------	-----------

0001		1-Aug-84 /DPM
	CATPRM	Parameter file.
	CATLOG	Catalog driver module.
	CATDEV	Device specific routines.
	CATTAB	OPR command application tables.

0002		7-Aug-84 /DPM
	CATLOG	Take advantage of new OPRPAR features to allow
	CATDEV	the parsing of 8-bit data.
	CATTAB

0003		14-Aug-84 /DPM
	CATTAB	Avoid operator confusion by using the new $SUBCM
		which allows prompting in sub-command mode.

0004		27-Aug-84 /DPM
	CATLOG	Make sure all requests for catalog info coming from MDA
		gets replies sent to MDA.

0005		26-Oct-84 /DPM
	CATLOG	Request a 'til reset PID instead of a job wide PID.


0006		 8-Mar-85 /DPM
	CATPRM	Reduce device code field from 9 to 3 bits.  Store device
	CATTAB	code in entry at insert time.  Set device code when
	CATLOG	convering file formats (CATSTR).  Return a one-word reelid
	CATDEV	block for DECtape volume-sets.  Implement /LABEL-TYPE switch
		on the INSERT/MODIFY command for magtapes.  All this done
		for MDA's benefit so QUASAR's catalog cache has a chance of
		working for devices other than structures.

0007		21-Mar-85 /DPM
	CATLOG	Fix spurious ill mem refs prior to receiving the queue
		structure from QUASAR.  Re-work QUASAR/CATLOG initialization
		code so CATLOG doesn't have to wait for [SYSTEM]MDA to start.

0010		22-Mar-85 /DPM
	CATLOG	Don't allow abbreviated matches on requests for catalog info
		coming from [SYSTEM]MDA.

0011		23-Apr-85 /DPM
	CATLOG	Process messages from [SYSTEM]GOPHER.  The implementation is
		simple; it allows a job to request catalog information on a
		given volume-set using the .QBVSN and .QBMFG blocks.  Only
		retrieving VSN data is allowed.  To handle insertions, etc.
		requires a much more elaborate interface.

0012		25-Apr-85 /DPM
	CATTAB	Fix QUIACT action routine to correctly type the command name.

0013		 8-May-85 /DPM
	CATLOG	Add new message type .CFMOD which allows QUASAR to modify
		(extend) a volume-set.

0014	CATDEV	13-May-85 /DPM
	CATDEV	Enhance DECtape listing to include volume-set name.

0015	CATTAB	21-May-85 /DPM
		Use new action routine P$XSBC to signal OPRPAR that
		we are about to exit sub-command mode.

0017	CATPRM	Avoid unnecessary wakeups.  Change ZZTIME to be zero
		seconds.

0020	CATPRM	Fix miscellaneous problems with QUEUE. UUO processing
	CATLOG	and IPCF/OPR/QUEUE. UUO priviledge checking.

0021	CATLOG	Fix ?Ill mem ref at PC 777777 when receiving unknown
		IPCF messages.

Start of version 2

0030		6-Aug-86  /JAD
		Convert 3 system catalogs (DTALST, MTALST, and STRLST)
		into a single catalog (CATLOG.SYS).  Add a new module
		CATRMS which uses RMS-10 to maintain the catalog file.
		Massive changes to all modules, no external interface
		changes.

0031		20-Aug-86  /JAD
	CATRMS	Add two new keys (PPN and user name) which might be
		used for future enhancements.

0032		2-Oct-86  /RCB
	CATRMS	Allow changes of the non-VSN keys so that MODIFY commands can
		change the owner fields.

0033		30-Dec-86  /JAD
	CATLOG	Fix DEVINI to close catalog file before opening it on a
		QUASAR restart.

0034		20-Jan-87  /JJF
	CATLOG	Be a little paranoid about making sure that the contents
		of E are right at RCAT.  Also fix bug in TXTLS1
		where S2 doesn't get popped correctly on an error return.
		SPR:35616, GCO:10487

0035		02-Mar-88  /RCB
	CATLOG	Fix so QUEUE. UUO request for volume information always
		correctly, even if the volume-set is not cataloged.
		QAR:704-ALPHA-0056, GCO:10606

0036		23-Mar-88  /RCB
	CATLOG	Fix edit 35 so we can mount random disks again.  *Sigh*.
		GCO:10610
\ ;END REVISION HISTORY
SUBTTL	Module initialization macro


DEFINE	CATDEF	(MODULE),<

	SEARCH	GLXMAC		;;GENERAL GALACTIC DEFINITIONS
	SEARCH	ORNMAC		;;ORION DEFINITIONS

	%%CAT==:%%CAT		;;PUT VERSION IN SYMBOL TABLE

	PROLOG	(MODULE)	;;SETUP

	SALL			;;FOR CLEAN LISTINGS
	.DIREC	FLBLST		;;FOR CLEANER LISTINGS
>
SUBTTL	Parameters


; ACCUMULATOR DEFINITIONS
	C==13			;CATALOG DATA BASE
	E==14			;PRIMARY CATALOG ENTRY
	M==16			;IPCF MESSAGE


; ASSEMBLY PARAMETERS
	ND	PDLSIZ,100	;PUSH DOWN LIST SIZE
	ND	ZZTIME,0	;MAIN LOOP SLEEP TIME
	ND	ERRLEN,^D30	;ERROR BUFFER LENGTH IN WORDS
	ND	LINPPG,^D55	;LISTING LINES PER PAGE
	ND	TBLLEN,100	;INITIAL ENTRY TABLE LENGTH
	XP	VSNLEN,VSNLEN	;VOLUME-SET NAME LENGTH (7-BIT, FROM QSRMAC)
	XP	VSNSIZ,<<<<VSNLEN*5>-1>+3>/4> ;VOLUME-SET NAME LENGTH (9-BIT)
	XP	VSNSZC,<VSNSIZ*4> ;LENGTH IN CHARACTERS (9-BIT)
	ND	NAMSIZ,12	;NAME STORAGE (8-BIT ASCIZ)
	XP	NAMSZC,<NAMSIZ*4> ;LENGTH IN CHARACTERS
	ND	LOCSIZ,5	;LOCATION STORAGE (8-BIT ASCIZ)
	ND	ATRSIZ,<^D60/5>+1 ;ATTRIBUTE BUFFER SIZE (FOR LISTINGS)


; MISCELLANEOUS
	DEVLNK==1		;LINK CODE FOR DISPATCH VECTOR CHAINING
	.SXFMT==1		;FORMAT OF CATALOG ENTRIES
SUBTTL	[SYSTEM]CATALOG IPCF message definitions


; FUNCTION CODES
	.CFOFF==100000		;OFFSET TO FIRST CATALOG MESSAGE
	.CFRCT==100001		;REQUEST FOR CATALOG INFORMATION
	.CFACT==100002		;ANSWER TO REQUEST FOR CATALOG INFO
	.CFRQS==100003		;REQUEST FOR QUEUE STRUCTURE
	.CFAQS==100004		;ANSWER TO REQUEST FOR QUEUE STRUCTURE
	.CFDEL==100005		;DELETE VOLUME-SET
	.CFDIS==100006		;DISABLE CATALOG UPDATES BY MDA
	.CFENA==100007		;ENABLE CATALOG UPDATES BY MDA
	.CFINS==100010		;INSERT VOLUME-SET
	.CFMOD==100011		;MODIFY VOLUME-SET


; CATALOG DEVICE TYPES
	.CTUNK==0		;UNKNOWN
	.CTDTA==1		;DECTAPE
	.CTMTA==2		;MAGTAPE
	.CTSTR==3		;STRUCTURE


; CATALOG MESSAGE FUNCTIONS
	.CTDEL==1		;DELETE
	.CTDIS==2		;DISABLE
	.CTENA==3		;ENABLE
	.CTHLP==4		;HELP
	.CTINS==5		;INSERT
	.CTLIS==6		;LIST
	.CTMOD==7		;MODIFY ENTRY
	.CTSHO==10		;SHOW STATUS


; CATALOG MESSAGE SUB-FUNCTIONS
	.CTADD==1		;ADD
	.CTDON==2		;DONE
	.CTQUI==3		;QUIT
	.CTREM==4		;REMOVE


; CATALOG MESSAGE FUNCTION MODIFIERS
	.CTDEN==1		;DENSITY
	.CTEXP==2		;EXPIRATION DATE
	.CTLAB==3		;LABEL TYPE
	.CTLOC==4		;LOCATION
	.CTNAM==5		;NAME
	.CTTRK==6		;TRACKS
	.CTRID==7		;REELID
	.CTUSR==10		;USER


; DENSITY CODES
	.CT200==1		;200 BPI
	.CT556==2		;556 BPI
	.CT800==3		;800 BPI
	.CT160==4		;1600 BPI
	.CT625==5		;6250 BPI
	.CTDMX==.CT625		;HIGHEST LEGAL DENSITY


; TRACK CODES
	.CT7TK==1		;7 TRACK
	.CT9TK==2		;9 TRACK
SUBTTL	Catalog data storage formats


; The following describes the formats in which data is stored in the
; catalog files.  These definitions are also used in the request for
; catalog info message (function .CFRCT) and the answer to catalog
; request message (function .CFACT).  A request for VSN information
; message need only contain a volume set name.  If .CTVST contains
; zero, a search of all device tables will be made.  A search for a
; specific device type requires filling in .CTVST with the proper code.
;
; The reply to the request will return with .CTVST containing appropriate
; device type.  If no volume set was found, the type field of .CTVST will
; be zero.  Volume specific information will be returned in the sub-blocks
; of type  .CTVLS, in a format meaningful to that device type.
;
; Note: The sub-block type .CTVLS does not contain data in a generic form.
;	This is  to accomodate the different characteristics of the devices
;	processed by [SYSTEM]CATALOG.


	.CTVSB==1		;VOLUME SET DATA BLOCK

	...LOC==.
	 PHASE	0

				;*** DO NOT SEPARATE ***
.CTVFL:! BLOCK	1		;FLAGS
   CT.XXX==77B5			   ;RESERVED FOR DEC
   CT.VSN==7B8			   ;VERSION OF ENTRY
   CT.TYP==777B17		   ;VOLUME-SET TYPE
				   ;(SEE CATALOG DEVICE TYPES)
				   ;*** MUST BE 9 BITS FOR RMS INTERFACE ***
   CT.NVL==777B26		   ;NUMBER OF VOLUMES IN VOLUME-SET
   CT.FEL==777B35		   ;FILE ENTRY LENGTH
.CTVSN:! BLOCK	VSNLEN		;VOLUME-SET NAME
				;*** END OF DO NOT SEPARATE ***
.CTVED:! BLOCK	1		;VOLUME-SET EXPIRATION DATE
.CTVUS:! BLOCK	1		;OWNER PPN (USER)
.CTVNM:! BLOCK	NAMSIZ		;8-BIT 39 CHARACTER ASCIZ NAME
.CTVLO:! BLOCK	LOCSIZ		;8-BIT 19 CHARACTER ASCIZ LOCATION TEXT
.CTVSC:! BLOCK	1		;VOLUME-SET CHARACTERISTICS
				;(TIMESHARED BY EACH DEVICE)
   CT.LTS==1B26			   ;MAGTAPE LABEL TYPE SET
   CT.LAB==17B30		   ;MAGTAPE LABEL TYPE
   CT.DEN==7B33			   ;MAGTAPE DENSITY
   CT.TRK==3B35			   ;MAGTAPE TRACKS
.CTCST:! BLOCK	1		;CUSTOMER WORD
.CTVSL:!			;VSN BLOCK LENGTH
	 DEPHASE
	 LOC	...LOC
VSNWDS==.OHDRS+ARG.SZ+.CTVSL	;TOTAL WORDS FOR VOLUME-SET DATA


	.CTVLB==2		;VOLUME BLOCK

; DECtape volume block
	 ...LOC==.
	 PHASE	0
.DTRID:! BLOCK	1		;SIXBIT REELID
.DTLEN:!			;LENGTH OF BLOCK
	 DEPHASE
	 LOC	...LOC
DTAWDS==ARG.SZ+.DTLEN		;TOTAL WORDS FOR REEL STORAGE
DTAMNV==<PAGSIZ-VSNWDS>/DTAWDS	;MAXIUMUM NUMBER OF REELS


; Magtape volume block
	 ...LOC==.
	 PHASE	0
.MTRID:! BLOCK	2		;6 CHARACTER 8-BIT ASCII REELID
.MTLEN:!			;LENGTH OF BLOCK
	 DEPHASE
	 LOC	...LOC
MTAWDS==ARG.SZ+.MTLEN		;TOTAL WORDS FOR REEL STORAGE
MTAMNV==<PAGSIZ-VSNWDS>/MTAWDS	;MAXIUMUM NUMBER OF REELS


; Structure volume block
	 ...LOC==.
	 PHASE	0
.STUID:! BLOCK	1		;UNIT-ID
.STUCH:! BLOCK	1		;UNIT CHARACTERISTICS WORD
  ST.UKT==077000		   ;KONTROLLER TYPE
  ST.UTY==000770		   ;UNIT TYPE
  ST.UCL==000007		   ;CLASS
.STLEN:!			;LENGTH OF BLOCK
	 DEPHASE
	 LOC	...LOC
STRWDS==ARG.SZ+.STLEN		;TOTAL WORDS FOR UNIT STORAGE
STRMNV==<PAGSIZ-VSNWDS>/STRWDS	;MAXIUMUM NUMBER OF UNITS


; DEFINE .CTVLM AS THE MAXIMUM VOLUME BLOCK LENGTH
	MAX	(<.DTLEN,.MTLEN,.STLEN>,.CTVLM)

; DEFINE MINIMUM/MAXIMUM CATALOG ENTRY LENGTHS

	.CTMIN==.CTVSL+.CTVLM	;MINIMUM
	.CTMAX==PAGSIZ-.OHDRS-ARG.SZ	;ABSOLUTE MAXIMUM
SUBTTL	Disk unit definitions


DEFINE	DSKUNI,<

	XLIST
X	(RA60,.DCCRA ,.DCU60)
X	(RA80,.DCCRA ,.DCU80)
X	(RA81,.DCCRA ,.DCU81)
X	(RD10,.DCCFH ,.DCUFD)
X	(RM03,.DCCRP ,.DCUR3)
X	(RM10B,.DCCFH ,.DCUFM)
X	(RP02,.DCCDP ,.DCUD2)
X	(RP03,.DCCDP ,.DCUD3)
X	(RP04,.DCCRP ,.DCUR4)
X	(RP06,.DCCRP ,.DCUR6)
X	(RP07,.DCCRP ,.DCUR7)
X	(RP20,.DCCRN ,.DCUN0)
X	(RS04,.DCCFS ,.DCUS4)
	LIST

>

	ZZ==0
DEFINE	X	(NAME,KONT,TYPE),<ZZ==ZZ+1>
	DSKUNI
	.CTUMX==ZZ
SUBTTL	Device dispatch vector offsets


	...LOC==.
	 PHASE	0

.CVLNK:! BLOCK	1		;LINK TO NEXT DISPATCH
.CVTYP:! BLOCK	1		;CATALOG DEVICE TYPE
.CVDAT:! BLOCK	1		;DATA BASE ADDRESS
.CVTXT:! BLOCK	1		;ADDRESS OF NAME FOR THIS DATA BLOCK
.CVWVS:! BLOCK	1		;WORDS PER VOLUME STORAGE
.CVMNV:! BLOCK	1		;MAXIMUM NUMBER OF VOLUMES ALLOWED
.CVLHD:! BLOCK	1		;LIST HEADER
.CVCHK:! BLOCK	1		;CHECK FOR LEGAL ENTRY
.CVINS:! BLOCK	1		;INSERT ENTRY
.CVLST:! BLOCK	1		;LIST ENTRY
.CVSHW:! BLOCK	1		;SHOW ENTRY
.CVRSW:! BLOCK	1		;PROCESS /REELID
.CVLEN:!			;LENGTH OF VECTOR

	 DEPHASE
	 LOC	...LOC
SUBTTL	Device data base offsets


	 ...LOC==.
	 PHASE	0

.CDVEC:! BLOCK	.CVLEN		;DISPATCH VECTOR
.CDUPD:! BLOCK	1		;NON-ZERO IF UPDATES ALLOWED
.CDFIN:! BLOCK	1		;NON-ZERO IF INSERT FINISHED
.CDMOD:! BLOCK	1		;NON-ZERO IF MODIFYING ENTRY
.CDNVA:! BLOCK	1		;NEW VSN ADDRESS FOR INSERT FOO=BAR
.CDACK:! BLOCK	1		;ACK CODE
.CDMST:! BLOCK	1		;MESSAGE PROCESSING STORAGE (TEMP)

.CDLFB:! BLOCK	FOB.SZ		;LISTING FILE FOB
.CDLFD:! BLOCK	FDXSIZ		;LISTING FILE FD
.CDLIF:! BLOCK	1		;LISTING FILE IFN
.CDLPN:! BLOCK	1		;LISTING PAGE NUMBER
.CDLLN:! BLOCK	1		;LISTING LINE NUMBER
.CDLDN:! BLOCK	1		;LISTING DATA NUMBER

.CDTXA:! BLOCK	ATRSIZ		;TEXT ATTRIBUTE BUFFER
.CDTXF:! BLOCK	1		;TEXT FLAG FOR LISTING GENERATION
.CDTXB:! BLOCK	1		;TEXT BLOCK ADDRESS
.CDTXP:! BLOCK	1		;TEXT BYTE POINTER
.CDTXC:! BLOCK	1		;TEXT BYTE COUNT

.CDLEN:!			;LENGTH OF DATA BASE

	 DEPHASE
	 LOC	...LOC
SUBTTL	Text table macro


DEFINE	TXTGEN	(WID,SUB,TXT,INS),<
	EXP	WID
	PUSHJ	P,SUB
	[ASCIZ	|TXT|]
	<INS>
>
SUBTTL	ACK message definitions


; FLAGS
	AM.ACK==400000		;NORMAL ACK
	AM.LOG==200000		;LOG TEXT
	AM.WTO==100000		;WTO TEXT
	AM.FLG==777000		;MASK OF ALL FLAGS


DEFINE	ACKCLS,<

	XLIST

X	(TXT,<>)
X	(CAT,<^I/@G$APLT/>)
X	(STR,<^I/@G$APLV/ starting>)
X	(RMD,<^I/@G$GLXN/MDA restart detected by ^I/@G$APLT/>)
X	(ROP,<^I/@G$GLXN/OPERATOR restart detected by ^I/@G$APLT/>)
X	(CTE,<^I/@G$APLT/ error>)
X	(MDA,<^I/@G$GLXN/MDA error detected by ^I/@G$APLT/>)
X	(OPR,<^I/@G$GLXN/OPERATOR error detected by ^I/@G$APLT/>)
X	(MON,<Monitor error detected by ^I/@G$APLT/>)
X	(USR,<User error detected by ^I/@G$APLT/>)
X	(CAT,<^T/@.CVTXT(C)/ catalog>)

	LIST
>

DEFINE	X	(NAM,TXT),<.AM'NAM==<ZZ==ZZ+1>>
	ZZ==0
	ACKCLS


DEFINE	ACKTXT,<

;; [SYSTEM]CATALOG
;;	 ABV FLG CLS TXT
;;	 --- --- --- ---
X	(STR,LOG,STR,<Application code = ^O/APLCOD/>)
X	(RST,LOG,CAT,<New application code = ^O/APLCOD/>)
X	(LOP,WTO,TXT,<Open error on ^F/.CDLFD(C)/; ^E/[-1]/>)
X	(LOE,WTO,CTE,<Output error writing ^F/.CDLFD(C)/; ^E/[-1]/>)
X	(COR,WTO,CTE,<^T/@.CVTXT(C)/ core allocation failed; ^E/[-1]/>)
X	(TSE,WTO,CTE,<^T/@.CVTXT(C)/ table search error; ^E/[-1]/>)
X	(UIM,WTO,CTE,<^I/UNKTXT/>)
X	(UPA,WTO,CTE,<Unexpected process ACK, ACK code = ^O12R0/.MSCOD(M)/>)
X	(UTA,WTO,CTE,<Unexpected text ACK: ^T/.OHDRS+ARG.DA(M)/>)
X	(CNA,ACK,TXT,<^T/@.CVTXT(C)/ catalog is not available>)
X	(DEL,ACK,TXT,<^T/@.CVTXT(C)/ ^T/(T3)/ deleted>)
X	(DIS,ACK,TXT,<^T/@.CVTXT(C)/ catalog updates disabled>)
X	(ENA,ACK,TXT,<^T/@.CVTXT(C)/ catalog updates enabled>)
X	(INS,ACK,TXT,<^T/@.CVTXT(C)/ ^T/.CTVSN(E)/ inserted>)
X	(MOD,ACK,TXT,<^T/@.CVTXT(C)/ ^T/.CTVSN(E)/ modified>)
X	(LIS,ACK,TXT,<^T/@.CVTXT(C)/s listed to file ^F/.CDLFD(C)/>)

;; [SYSTEM]MDA
;;	 ABV FLG CLS TXT
;;	 --- --- --- ---
X	(CUD,WTO,TXT,<Catalog updates by MDA are disabled>)
X	(MDA,WTO,MDA,<Illegally formatted MDA message>)
X	(VNF,ACK,TXT,<Volume set ^T/(T3)/ is not in the catalog>)
X	(RMI,WTO,RMD,<Re-initializing catalog>)
X	(RMN,WTO,RMD,<Catalog does not need re-initializing>)

;; [SYSTEM]OPERATOR
;;	 ABV FLG CLS TXT
;;	 --- --- --- ---
X	(ROP,WTO,ROP,<>)
X	(APL,WTO,OPR,<Illegal application message>)
X	(OPR,WTO,OPR,<Operator command message error>)
X	(AEV,ACK,TXT,<Already existing volume ^T/(T3)/>)
X	(ANL,ACK,TXT,<Abbreviations are illegal on DELETE and MODIFY commands>)
X	(NEV,ACK,TXT,<Non-existant volume ^T/(T3)/>)
X	(NVN,ACK,TXT,<No ^T/@.CVTXT(C)/ name given>)
X	(UNK,ACK,TXT,<^T/@.CVTXT(C)/ ^T/(T3)/ is not in the catalog>)
X	(AMB,ACK,TXT,<^T/(T3)/ is not a unique ^T/@.CVTXT(C)/ name>)
X	(AIC,ACK,TXT,<^T/@.CVTXT(C)/ ^T/.CTVSN(E)/ already exists in catalog>)
X	(PWI,ACK,TXT,<Partial PPN wildcarding is illegal>)
X	(NRV,ACK,TXT,<No reels inserted in magtape volume set>)
X	(DNS,ACK,TXT,<INSERT MAGTAPE command requires /DENSITY>)
X	(TNS,ACK,TXT,<INSERT MAGTAPE command requires /TRACKS>)
X	(DNT,ACK,TXT,<Density doesn't match track type>)
X	(ARV,ACK,TXT,<Attempt to remove last reel in magtape volume set>)
X	(NUS,ACK,TXT,<No units inserted in structure>)
X	(ARU,ACK,TXT,<Attempt to remove last unit in structure>)
X	(NPV,ACK,TXT,<No privileges to use the catalog facilities>)

;; MONITOR
;;	 ABV FLG CLS TXT
;;	 --- --- --- ---
X	(GFR,WTO,MON,<Illegally formatted GOPHER message>)

;; USER
;;	 ABV FLG CLS TXT
;;	 --- --- --- ---
X	(IVV,ACK,TXT,<Invalid volume ^T/(T3)/>)
X	(NVO,ACK,TXT,<No volumes owned>)
X	(QFE,ACK,TXT,<QUEUE. UUO format error>)

>

	END