 
 		PIP - THE RSX-11M FILE UTILITY
  
 	PIP (Peripheral Interchange Program) is a general RSX Utility 
 which is used to  1) copy files from one device/[UIC] to another,
 2) delete unneeded files completely from your User File Directory(UFD),
 3) purge unneeded versions from your UFD, 4) merge two or more files 
 into a single file, 5) provide a directory listing of the files on the
 user's UFD, 6) list a source file at the user's terminal(TI:) or LP:.
	Additional HELP may be requested by typing   HELP PIP keyword
 where allowed keywords are
 
	COMMANDLINE		Using the PIP command line
	COPY			Copying files (or listing them on TI:)
	DELETE			Deleting files
	DIRECTORY		Obtaining a listing of one's files
	MERGE			Merging two or more files together.
	PURGE			Purging files
	SPOOL			Spooling a file to the line printer. 
	SWITCHES		List of PIP switches.
	TRUNCATE		TRUNCATING unused blocks from a text file.
	UNLOCK			Unlocking a LOCKED file.
	<switch>		Information on a given switch
2	COMMANDLINE
 The general format of a command to PIP is
  
 	outputfile/Sw1../Swn = inputfile1/Sw1...,inputfile2/Sw1....
  
 where Sw1,..Swn are any number of switches.  The switches are the
 commands to PIP which perform operations on the files.  If switches are 
 omitted PIP will copy an existing input file into an output file. If the
 file version number is omitted PIP uses the highest version number.
 PIP has many command switches but almost everyting one needs to do
 can be done with a very few switches.  HELP with the RSX11M File
 Specifier may be obtained by typing HELP FILES.
 
 PIP allows a "wildcard" in its command structure.  Any part of a 
 standard RSX11M File Specifier(NAME, TYPE, VER, etc) may be replaced
 with a "*".  An  *  signifies that any NAME, TYPE, or VERSION 
 within a UFD can satisf the given command switch.
2	SWITCHES
 The following are switches supported by PIP.

	/AP	Append input file to output file
	/BL:n	Define initial allocation.  See COPY
	/BS:n	Define magnetic tape blocksize
	/BR	Obtain a brief directory listing
	/CD	Preserve creation date on file copy
	/CO	Output file is to be contiguous. See COPY
	/DE	Delete file
	/DF	Set default device and/or UFD for subsequent commands
	/EN	Create secondary directory entry for file
	/EOF:n:m Set EOF marker for file.
	/FI	Identify file by File ID instead of filename
	/FO	Output file owner to be same as input file.
		See COPY, /AP, /PR, /UF, and /UP
	/FR	Determine free block count for disk
	/FU	Obtain a full directory listing
	/GR:RWED Sub-switch to /PR
	/ID	Identify PIP version
	/LD	List files deleted. See /DE or /PU
	/LI	List directory
	/ME	Merge two or more files together
	/NM	Suppress certain PIP error messages
	/NV	Create a new version of the file.  See COPY
	/OW:RWED Sub-switch to /PR
	/PR	Alter file protection
	/PU:n	Purge to n contigous copies
	/RE	Rename input file to output name
	/RM	Remove directory entry for a file
	/RW	Rewind tape
	/SB	Set span block attribute in output file
	/SD	Selective delete
	/SP	Specify list of files to be printed
	/SR	Allow shared read
	/SU	Supercede output version
	/SY:RWED Sub-switch to /PR
	/TB	List total blocks allocated in directory
	/TR	Truncate file
	/UF	Create UFD on output volume to match input file
	/UN	Unlock file
	/UP	Update file contents
	/WO:RWED Sub-switch to /PR

 Type HELP PIP <switch> for more information on each switch.
2 APPEND
  APPEND	 	outfile[/FO]=infile[s]/AP[/FO]

       Opens an existing  file  (outfile)  and  appends  the
       input  file(s)  to  the  end  of it.  (FO is the file
       owner.)

  The parameters PIP allows for this command are:

  outfile		- explicit filename and type
   
  infile		- explicit file parameters; wildcard by default
   
  /FO			- file ownership is infile UFD; without FO,
  		  	  ownership is current UIC.
2 BL
#NV
2 BRIEF
#TB
2 BS
  BLOCKSIZE	 	outfile/[BS:n]=infile(s)/[BS:n]

       Defines the block size for 7-  and  9-track  magnetic
       tape.
2 CD
  CREATION DATE		outfile/CD=infile

       Gives the output file the creation date of  the  input  file  rather
       than  the  date  of  the file transfer.  (This switch cannot be used
       with the Merge switch.)
2 COPY
#NV
2 DELETE
  DELETE		infile(s)/DE[/LD]

       Deletes files.  LD is a Sub switch to list the files PIP deletes.
       The version number must be explicit or wildcard.
2 DF
  DEFAULT		ddn:[g,m]/DF

       Changes PIP default device and/or UFD. (This switch does not change
       protection priveleges.)
2 DIRECTORY
#TB
2 ENTER
  ENTER 		outfile=infile(s)/EN[/NV]

       Enters a synonym for a file in a directory with an option  to  force
       the  version  number  of  the outfile to one greater than the latest
       version for the file.

  outfile	- filename.type, or version, can be individually explicit,
  		  wildcard, or null.  A field that is * or null assumes
		  corresponding input field.
   
  infile	- default for filename, type, and version is *.*;*
   
  /NV		- forces output version number of copied file to be one
  		  more than the current highest version
2 EOF
  END-OF-FILE		infile(s)/EOF[:block:byte]

       Specifies the end-of-file pointers for a file. If the block and byte
       values are not specified the end-of-file pointers are moved to the end
       of the allocated area.
2 FILE_ID
  FILE IDENTITY		outfile=/FI:filenumber:sequencenumber

       Accesses a file by its file identification number (File-ID).
2 FO
 FILE OWNERSHIP
 
	The /FO switch allows the specification of the output file
	owner. For specifics on its use type HELP PIP <SWITCH> where
	<SWITCH> is COPY, /AP, /PR, /UF, or /UP.
2 FREE
  FREE 			[ddn:]/FR

       Prints the available space and the largest block of contiguous space
       available on a volume. SY0: is assumed by default.
2 FULL
#TB
2 GROUP
 #WO
2 IDENTIFICATION
  IDENTIFICATION	/ID

       Causes the version number of the PIP currently in use to be displayed
       on the terminal.
2 LD
 LIST DELETED FILES
 
	The /LD subswitch is used with the /DE or /PU switch to list
	the deleted files. Type HELP PIP <SWITCH> where <SWITCH>
	is either /DE or /PU for more information.
2 LIST
#TB
2 MERGE
#NV
2 NM
  NO MESSAGE		infile(s)/SW/NM

       Suppresses certain PIP error messages, for example the message NO SUCH
       FILE(S).  The switches that can be used with the No Message command
       are:

	/UN to unlock locked files
  	/LI to list directory
  	/DE to delete file(s)
	/SD to selectively delete file(s)
  	/PU to purge files

  	and any Sub switches of the above switches.
2 NV
  COPY 			outfile[s]=infile[s]/subswitches

       Creates a copy of a file on the same or another volume.

  The parameters that PIP allows are:

  outfile	- if filename.type; version are null or all wild cards input
  		  parameters are preserved unless overruled by /NV or /SU.
  		  If filename, type, or version is defined, none can be a
  		  wildcard, and if more than one input file is
		  specified they are all merged together into the output
		  file (implicit /MErge switch)
		- If TI: is specified the file is listed on the terminal
  infile	- if filename.type;version are all null, the default is *.*;*
  /BL:n		- specifies number of contiguous blocks for output file
  		  where n is octal or decimal (.) value
  /CO or /-CO	- contiguous or noncontiguous output file
  /FO		- file ownership is infile UFD; without FO,
  		  ownership is current UIC.
  /ME		- Merge several input files into one output file (default)
  /NV		- forces output version number of copied file to be one
  		  more than the current highest version
  /SU		- creates a new file having the same filename, type and
		  version to replace outfile.
2 OWNER
#WO
2 PROTECTION
 #WO
2 PURGE
  PURGE 		infile(s)/PU:[n][/LD]

       Deletes a specified range of versions of a file  (but
       never deletes the latest version.) Specification of a
       file version is not necessary.  Wildcards  are  valid
       for filename and type.

       When you specify :n, PIP deletes all but the n latest
       contiguous versions.  Without :n, PIP deletes all but
       the latest version.

       The /LD subswitch causes all of the deleted files  to
       be listed.
2 RENAME
  RENAME		outfile=infile(s)/RE[/NV]

       Changes the name of a file with an  option  to  force
       the version number of outfile to one greater than the
       latest version for the file (using  the  NV  switch).
       Output  device must equal input device, explicitly or
       by default.

  outfile	- wildcard or null field assumes corresponding
		  field from infile
  infile	- null filename.type; version defaults to *.*;*
  /NV		- forces output version number of copied file to be one
  		  more than the current highest version
2 RM
  REMOVE		infile(s)/RM

       Removes an entry from a directory file (the  opposite
       of enter).
2 RW
  REWIND 		outfile/RW=infile/RW

       With outfile, causes specified tape unit to erase its
       resident  tape.   With  infile, causes specified tape
       unit to rewind its resident tape before  opening  the
       input file.
2 SB
  SPAN BLOCKS		outdsk:outfile/SB=inmag:infile

       Allows outfile records to span  blocks  when  copying
       from  ANSI  tapes  to FILES-11 devices.  (This is the
       default PIP operation.)
2 SD
  SELECTIVE DELETE	infile(s)/SD

	Prompts for user response before deleting files.

 This new switch allows you to selectively delete files.  The version number
 must be explicit or wildcard as with the DELETE switch. It will prompt you
 with a candidate filename from the class specified in the command line.
 Your response choices are the letters Y, N, G, and Q followed by either a
 carriage return <CR> or a control-Z (^Z).  The following table describes
 the effect of each combination of letter and terminator.
 
 LETTER	TERMINATOR	OPERATION
 ------	----------	---------
   Y	  <CR>		Delete this file and continue in this mode
   Y	  (^Z)		Delete this file and exit from PIP
   N	  <CR>		Save this file and continue in this mode
   N	  (^Z)		Save this file and exit from PIP
	  <CR>		Save this file and continue in this mode
	  (^Z)		Save this file and exit from PIP
   Q	  <CR>		Save this file and return to command mode
   Q	  (^Z)		Save this file and exit from PIP
   G	  <CR>		Delete this and all remaining candidates -
			return to PIP command mode when done
   G	  (^Z)		Delete this and all remaining candidates -
			exit from PIP when done
2 SPOOL
  SPOOL 		infile(s)/SP[:n]

       Specifies a list of files to be printed.  (n  is  the
       number  of  copies.)  This switch applies only if you
       have the print spooler task or the queue manager.

       File   identification    must    be    explicit    by
       filename.filetype;version.
2 SR
  SHARED READING	infile(s)/SR

       Allows shared reading of a file that has already been
       opened for writing.
2 SUPERCEDE
 SUPERCEDE FILE		outfile/SU=infile(s)
 
	Specifies that the output file be superceded by the
	input file(s). The output file will have the same
	filename, filetype, and version but will have a
	different file id.
 
	The output file identification must be explicit by
	filename.filetype;version.
2 SYSTEM
 #WO
2 TB
  LIST			listfile=infile(s)/LI/subswitch

       Lists one or more directories with an option  to  specify  directory
       listing formats.

  outfile	- listing file specifier; defaults to TI:
  infile	- default is *.*;*.

  Subswitches dictate the type of report displayed:

  /LI/BR or /BR	- Very Brief Report
  /LI		- Limited Report
  /LI/FU[:n] or 
  /FU[:n]	- Full Report (n=decimal characters per line; default is
  		  device buffer size)
  /LI/TB or /TB	- Total Blocks Report.
2 TRUNCATE
  TRUNCATE		infile(s)/TR

	Truncates the files to the current EOF mark releasing
	unused storage for use by other files.
2 UFD_CREATION
  UFD CREATION		outfile(s)/UF[/FO]=infile(s)

       Creates a User File Directory entry on a volume.

  outfile	- specify UIC as [*,*] to transfer multiple infile
  		  UIC's
  /FO			- file ownership is infile UFD; without FO,
  		  	  ownership is current UIC.
2 UNLOCK
  UNLOCK 		infile(s)/UN

       Unlocks a file that was locked as a result  of  being
       closed improperly.
2 UPDATE
  UPDATE FILE		outfile=infile(s)/UP[/FO]

       Opens an existing file (infile) and writes  it,  from
       the beginning, into outfile.

  outfile		- must be explicitly identified.
  infile		- null parameters default to *.*;*.
  /FO			- file ownership is infile UFD; without FO,
  		  	  ownership is current UIC.
 
  infile(s) replace contents of outfile on the volume specified.
  The file id of the output file is preserved.
2 WORLD
  PROTECTION		Symbolic:  infile/PR:Symbolic[/FO]
			Numeric:   infile/PR:Octal value[/FO]
  				(file name and type must be explicit)

       Alters file protection for the file specified.

  /FO			- file ownership is infile UFD; without FO,
  		  	  ownership is current UIC.
 
       Symbolic protection codes assign privilege merely by their presence,
       using:

            System = /SY:RWED
            Owner  = /OW:RWED
            Group  = /GR:RWED
            World  = /WO:RWED

       Numeric protection denies privilege by setting bits in a  protection
       status  word.   Add selected octal values from the following list to
       deny privilege:

					OCTAL CODE		BIT
 
SYSTEM		R			1			0
		W			2			1
		E			4			2
		D			10			3
OWNER		R			20			4
		W			40			5
		E			100			6
		D			200			7
GROUP		R			400			8
		W			1000			9
		E			2000			10
		D			4000			11
WORLD		R			10000			12
		W			20000			13
		E			40000			14
		D			100000			15
 
