FREEM is a utility that will free all currently assigned files and optionally terminate a user's demand run; or, just free a list of files.
FREEM can perform differently under option control. Unless terminating or supplemented by extra options, FREEM will normally free all currently assigned files except:
> TPF$ (whether temporary, catalogued, or a @USE name) > DIAG$ (diagnostic dump file for @PMD) > PSF$ (standard processor scratch file) > information files ($$TERMFILE$$, FUSION$FLAG, @PATH files) > @ED work files (ED$TC, ED$PF, ED$MAC, ED$TCrunid) > @IPF work files (IPF$runid) > @CTS work files (CTS$FILE, SYS$*CLIB$, CTS$runid) > SYS$*LIB$ & SYS$*RLIB$ (standard system processor & library files) > SYS$*DLOC$ (if the user is privileged) > COMUS/SOLAR Library files (SYS$*DATA$ & files with qualifier SYS$LIB$)
@FREEM[,options] [exception-list-if-X-option]
Options:
None - Free all files and @USE names except those mentioned above.
A - Free all files (no exceptions). Paging files (qualifier starting with SYS$WS) are never freed.
C - Free COMUS/SOLAR Library files (SYS$LIB$ qualifier files).
E - Free @ED, @IPF, and @CTS work files in addition to those normally freed (keep TPF$, DIAG$, LIB$, and the other usual exceptions).
HELP - Display brief description and option summary.
L - List @FREE card submitted for each file freed.
M - Free only mass storage files (keep any tapes).
N - Used with T option when terminating. Do not clear screen or use any other UNISCOPE escape mode commands. This may be desirable for TTY's or other non-UNISCOPE equipment. The N option is assumed if FREEM cannot identify your terminal's type using the TRMTYP$ function of ER INFO$.
R - Retain all @USE names; submit @FREE,R for eligible files. Mutually exclusive with U.
T - Terminate demand run after freeing files.
Unless the N option is used or FREEM is unable to identify your terminal as a UNISCOPE type, the screen will also be cleared and some system information will appear in the top half of the screen. This consists of the message 'SCREEN INACTIVE', the date and time, plus the local site, system type, and EXEC level.
Any action after this will be determined by the FREEM/PARAMS element, which is expected to reside either in a file with the name FREEM$FILE attached, or in the same file as the FREEM absolute. If this element does not exist, FREEM will simply exit. See the FREEM/PARAMS section below.
U - Release exclusive use; submit @FREE,X for eligible files. Note that the FREEM X option is used for an exclusion list.
X - An exclusion list is being provided on the processor call. The files in this list are not to be @FREEd. The list may contain fully qualified filenames followed by a period; as well as filenames or @USE names alone, with or without a period. Note the restriction that the X option will not work for a @USE name attached to the as yet unassigned +1 cycle of a file. Example:
@FREEM,X START*FILE., TAPE,99UTIL, ABC.
Z - Test option. Will list @FREE cards if the L option is used, and will display the clear-screen message and any FREEM/PARAMS menu items if the T option is used; but will not @FREE any files or terminate.
The following types of items may be put in the FREEM/PARAMS element to direct actions following a '@FREEM,T'. If desired, a user's personalized FREEM/PARAMS element may be created in a file with the @USE name FREEM$FILE attached.
1. Menu Lines
These consist of a command beginning in column 1, and an optional description starting in column 15. Up to 16 menu lines may be defined; if there are more than 8, they will be split into 2 columns.
The command may be any of the ones available to a demand terminal not currently in a session: $$OPEN name, $$SON, $$SOFF, or any of the TELCON Menu commands: %%o, %%e, %%m, %%r, %%offa, %%sw n, etc. FREEM will place a tab stop after each command for easy access. If $$SON is used, FREEM will always place the current demand terminal siteid after it. (When creating your FREEM/PARAMS element, be careful not to enter any of these commands in @ED input mode!)
The description may be up to 62 characters in a 1-column menu, or 23 characters in a 2-column menu.
2. Remark/Reminder Lines
These may be lines containing any text desired for display in the menu area. They are included in the menu line count and may serve as brief reminders or news items. Format:
REM text
The text may be 76 characters in a 1-column menu, or 37 in a 2-column menu.
3. UTS400 Control Page Reset
If the terminal is a UTS400, actual or emulated, and you want to have its control page reset to PRNT(PRNT) XFER(ALL ) XMIT(ALL ) upon termination, include the following image beginning in column 1:
U400 Y
If this is image is not present, or the character after U400 is not Y,
no reset will take place.
4. FIN Command
FREEM can be told to transmit a command to terminate the current session or perform any other function. Examples of such commands are @@TERM, $$CLOSE, $$SOFF, %%o, %%offa. The format, beginning in column 1, is:
FIN=command
(An @FIN cannot be transmitted.)
The FIN command can be made to vary with the terminal ID:
FIN[SITEXY]=$$CLOSE . exact site id FIN[Z24***]=$$SOFF . wild card characters FIN[trm3 ]=%%o . must occupy 6 characters, case ignored
5. WAIT Command
This tells FREEM how many seconds to wait between displaying the clear screen menu and submitting the FIN command, if any. Range: 1-30. Format:
WAIT n
Example of a FREEM/PARAMS element:
%%sw 1 %%sw 2 %%sw 3 %%sw 4 %%e (Exit from Menu) $$OPEN MENU (TELCON Menu) $$OPEN MAPPER rem Turn off coffee pot! U400 y fin=%%o WAIT 5
@FREEM[,options] FN1., FN2, QL*FN3., ...
This type of call will free only the files listed on the @FREEM card, and may be used instead of submitting multiple @FREEs. Files may be specified either by filename only, or by the full qualifier*filename format followed by a period. If only the filename or an internal (@USE) name is used, no period is necessary.
The only meaningful options to use with this type of call are L, R or U, and Z.