.so =fmac=/ugh
.# cm -- command or subroutine, changed or deleted or something.
.de cm
.sp
.ne 3
.ti -5
.bf
[1]
.br
.en cm
.#
.# bu -- a bullet
.de bu
.sp
.ne 2
.ti -3
[bf .]@[tc]
.en bu
.TP
Software Tools Subsystem
.sp
Version 8.1 to Version 9 Conversion Guide
.AU
Arnold D. Robbins
.PD "September, 1984"
.bp 1
.HE "Version 9 Conversion Guide"
.fo //- # -//
.MH Introduction
Version[bl]9 of the Subsystem is the last official
release of Software Tools.
We no longer have the manpower to support such a large amount of
software, and will probably not have Prime computers at all for
much longer.
We apologize for taking so long to get this release out; there
have been administrative, hardware and personnel problems (as outlined
in the newsletter), and only recently have things been straightened out.
.pp
As promised, this release does run under Primos 19.2, and does have
commands giving access to the new file system features
(ACLs, disk quotas, etc.).
There are many new features, and many improvements have been
made to the major Subsystem programs.  Version 9 of Software Tools
is a major release; we're going out with a bang, not a whimper!
.pp
This conversion guide is divided into three sections:
[bf Global[bl]Changes] discusses the alterations
that affect large portions of the user interface;
[bf Status[bl]of[bl]V8.1[bl]Commands] and
[bf Status[bl]of[bl]V8.1[bl]Subroutines] describe
additions, deletions, and modifications made to individual commands
and subroutines.
.#
.MH "Global Changes"
.SH "The Subsystem Common Block"
The Subsystem common block has been moved.
It now starts at Segment '4040, Word '10000.
It has also been somewhat re-arranged.
Any program which references the Subsystem common should be recompiled.
This includes any programs compiled with the Georgia Tech C Compiler
(for those of you who have it), since the C run time library, "ciolib"
currently references the Subsystem common.
This will be fixed in the next release of the C compiler,
which is now in preparation.
.#
.SH "New Subsystem Libraries"
Three new libraries have been added to the Subsystem for Release 9.
The first, "vswtmath", is a library of high precision mathematical routines.
These routines, along with some interesting facts about Prime's
floating point hardware and software, are documented in the
.ul
SWT Math Library User's Guide.
The second library, "vshlib", contains several routines which give
the programmer access to the shell, and its variables.
The third library, "vrnglb", is used by the 'Ring' set of programs.
This library is undocumented, and unsupported.
.#
.SH "Deleted Subsystem Libraries"
The old, locally supported math library, "vswtml",
has been changed slightly (routines which were obsoleted by
"vswtmath" were removed), and merged in [ul with] "vswtmath";
"vswtml" has been deleted.
The Virtual Terminal Handler library, "vthlib",
has been merged in with standard Subsystem library, and is
therefore no longer needed.
Programs which used "vthlib" should have the "-l vthlib"
removed from whatever build procedures are used to load them.
The Version[bl]8 compatibility libraries,
"v8vswtlb", and "nv8vswtlb",
are no longer supported, and have been deleted.
You should remove them from =lib= and recompile any programs
which needed them.
Finally, "gtnetlb" has been deleted.
.#
.SH "New Subsystem Templates"
There are several new Subsystem templates.
The first is =new_words=.
If this template is defined, the 'spell' program
will treat it as the file where it will
write out any words that it finds which are not in the dictionary.
Currently, this template is commented out, but if you want 'spell'
to start keeping a word list, remove the comment symbol.
This is particularly useful to help enhance the Subsystem dictionary.
See the help on 'spell' for more details.
.pp
=ring= is the directory where the 'Ring' programs will write their
log files.
.pp
=histfile= is the file which the shell will use to save user
command sessions.  This allows preserving the shell's history
across login sessions.
.pp
=cldata=:  There is a commented out entry which will apply for
Revisions 19.4 and later of Primos (once they are released).
The current entry is for Revisions 18.3 through 19.3 of Primos.
.pp
=crondir= is the directory where 'cron' creates temporary files
for the phantoms it creates.
=cronfile= is the file containing the directives for 'cron'.
.#
.SH "Command Interpreter Enhancements"
There have been many enhancements to the shell.  In particular,
we have added a "history" mechanism, which allows the user to
recall previous commands, search for them, and modify them.
.pp
The shell can now do continuous checking on the user's mail box,
so if mail arrives during a session, the user is notified.
.pp
Also, the shell has a looping capability with the
repeat-until construct.  This greatly increases the shell's power,
making it much easier to write shell programs.
.pp
There have been other changes to the shell as well.
The details are too numerous to be listed here;
we recommend a careful reading of the
.ul
User's Guide to the Software Tools Command Interpreter.
.pp
The enhanced error handling mentioned in the newsletter did
not make into the shell; there simply was not enough time to make
all the changes.  The other features are more useful, anyway.
.#
.SH "Shell Variables"
The format of the shell variables save file has changed
for this release.  To ease the burden of conversion,
we have provided a command 'csv' (Convert Shell Variables)
which reads a list of user names on its first standard input,
and reformats the corresponding variables files.
Do a 'help csv' for details and instructions.
.#
.SH "Command Interpreter Source Code Location"
Since the shell is now callable as a subroutine, with a library of
associated routines, its source code has been moved from
=src=/spc/sh.u/?* to =src=/lib/sh/?*.
This should not affect the operation of the Subsystem;
but it is a change worth noting.
.#
.SH "The =userlist= File"
The format of =userlist= has changed.
Since Primos 19.2 now allows 32 character login id's,
the entries in =userlist= look slightly different.
The
.ul
Software Tools Subsystem Manager's Guide
discusses this in further detail, including some
advice on converting the old format file into the new one.
.#
.SH "Update to SWTSEG"
The Subsystem segmented loader has been updated to Primos version 19.2.
It still only understands eight character names. Oh well.
.#
.SH "Enhanced Editors"
Both the 'ed' line editor, and the 'se' screen editor have
been greatly enhanced.
Since the editors are probably the most used programs in the
Subsystem, the changes are described here as a 'global change',
even though only two actual commands have been changed.
.pp
The guide and help pages have been updated
to reflect the changes made to the editors.  The following list
applies to both editors:
.in +5
.ta 4
.bu
Trailing delimiters are not needed in pattern searches, or
for the 's', 't', and 'j' commands.
.bu
The 'j' commands defaults to 'j/ /p', and the 's' command
defaults to 's//&/p'.
.bu
Global commands can be set to continue, even if the command
fails for a given line.
.bu
You may escape to the Software Tools shell from within the editor.
(See the help on the 'shell' subroutine for more discussion of this
feature.)
.bu
The saved replacement pattern can be empty. I.e., if you
deleted a pattern in the last substitute, you may do so again with
's//&/', or simply 's'.
.bu
A new command, "l" (for "location") is available.
This command prints out the first line of the file =installation=.
In other words, you can find out what machine you are using from
within the editor.  This feature is designed for multiple-machine
installations, where a user can switch back and forth between
machines, and forget where he is at a given moment.
.sp
.in -5
The following list applies only to the 'se' screen editor.
.in +5
.bu
'Se' now has an auto-indent option.
This makes typing in program text considerably easier.
.bu
'Se' reads commands from the file =home=/.serc (if it exists)
whenever it starts up.  This is useful for setting personal options.
.bu
'Se' will allow you to use UNIX style pattern characters and
command letters.  This is useful for new Subsystem users who are
already familiar with the UNIX system.
.bu
The help files in =doc=/se_h/?* have [ul finally] been updated
and completed.  There is now a help file for every command and
every option in the screen editor (believe it or not!).
The help command will call up help appropriate to either UNIX mode
or normal mode, whichever is being used at the time.
.in -5
.#
.SH "Documentation Changes"
The Reference Manual macros have been changed to include the section
number in the header line of each page, as well as in the footer.
This is particularly useful with the 'usage' command; you can see
what section of the manual a command or subroutine is in,
as well as how to use it.
.#
.SH "Dynamic Templates"
With Rev 19 of Primos, projects are supported in the operating system.
Template handling has been revised to make =home= the initial
directory to which you are attached for each project.
This is computed dynamically, instead of being in a static file.
Since =ubin= is defined as =home=/bin, this allows users to have
different private bins for each login project.
.#
.MH "Status of Version 8.1 Commands"
This section summarizes the user-visible changes that have been made
to the Subsystem commands for Version 9.
It is divided into several subsections:
obsolete commands, superseded commands, modified commands,
enhanced commands, and unchanged commands.
The final subsection is a summary of commands that are new
for the Version 9 release.
.#
.SH "Obsolete Commands"
The commands in this subsection were part of the Version[bl]8.1
Subsystem, but are not included in the Version[bl]9 release.  Most
of them were used only by certain shell programs and have outlived
their usefulness.  In other cases, the commands were relics of past
Subsystems, and either were no longer useful, or no longer worked.
.sp
.in +10
.cm memstat
The memory status monitor has been removed due to changes in Primos.
It required Georgia Tech modifications to Primos, which haven't
been made at Georgia Tech for Rev. 19.2.
Since it required Georgia Tech Primos, it was not very
useful at other sites anyway.
.cm mkusr
This program was used at Georgia Tech for creating new
users.  Since it requires Georgia Tech modifications to Primos,
and since the production machines at Georgia Tech are not
running Rev. 19.2 (only the development machine is),
this program has been deleted.
.cm old_ar
The old archiver has been removed since there is no longer any use
for it.
.cm rmusr
This program was used at Georgia Tech for removing existing users.
See the comments above under 'mkusr'.
.in -10
.#
.SH "Superseded Commands"
The commands in this subsection are not part of the Version[bl]9
Subsystem; their functionality has been subsumed by other
commands.  Each entry describes the command and options you
can use to get the same results.
.in +10
.sp
.bf
No commands are superseded at Version 9.
.in -10
.#
.SH "Modified Commands"
The commands listed in this subsection have been modified for the
Version[bl]9 release and are no longer completely compatible
with their Version[bl]8.1 counterparts.
Each entry gives a brief description of the changes, but
before using any of these commands, please check the corresponding
Reference Manual entry to be sure of the command's exact behavior.
.in +10
.cm cat
Has been changed to loudly complain when it can't open a file.
For those who want it to be meek and quiet, there is a new "-s"
(for "silent") option.
.cm history
Is now used exclusively for making entries in the Subsystem
history file.  It no longer takes any options and does not call 'phist'.
.cm lf
By default, does [ul not] list files whose names begin with a '.'.
To see "dot files", use the "-a" option.
.cm pword
Changes the user's login passwords.  Password checking with
no echoing and more than six characters on
login is now a standard feature of Primos.
Because of this, 'pword' has been moved from the "locally supported"
section to the "standard commands" section.
.cm sema
Has a new option "-i" for initializing named semaphores.
Also now uses the standard Subsystem argument notation.
.in -10
.#
.SH "Enhanced Commands"
Commands in this subsection have been functionally enhanced for the
Version[bl]9
release, but remain compatible with their Version[bl]8.1 counterparts.
.in +10
.cm del
Fixed to handle new file ACL's.
.cm dprint
Has a new "-x" option which prevents the initial page eject.
.cm ed
See the "Global Changes" section above, and the Reference Manual
entry on 'ed', as well as the
.ul
Introduction to the Software Tools Subsystem Text Editor
for details.
.cm find
Has a new "-i" option to ignore case in comparisons.
.cm fmt
Has been greatly enhanced.  There are more
special characters, more commands, and more function calls.
Particularly useful is the condition handling mechanism -- [bf .if].
.cm help
Uses the 'page' subroutine, with the VTH option.
A new option, "-d", indicates that the user has a "dumb"
terminal, and therefore 'help' should not use VTH.
Fixed a bug whereby an EOF status did not tell 'help' to
stop, if it was showing multiple help items.
.cm ld
Has a new option, "-w" (short for "wierd"), for loading programs
compiled with Prime's C compiler.  The "-b" option has changed
slightly to handle the next release of the Georgia Tech
C compiler.
This change should not affect
.# famous last words!
those of you who are using
the current release of the C compiler.
.cm pg
Uses the VTH option of the 'page' subroutine for paging.
See the Reference Manual entry for both the 'pg' command
and the 'page' subroutine for more information.
.cm se
Handles more terminal types,
as well as the changes outlined under "Global Changes" above.
.cm sep
Changed to use "cat -s", which effectively keeps its
behavior identical to earlier versions.
.cm sh
Vary many enhancements.
See the User's Guide for details.
.cm source
Fixed to handle archives correctly.  'Source' will find the source
for more than one command and/or subroutine.
.cm spell
Has been made slightly smarter about suffixes, in particular, it
will strip a trailing "'s" before checking a word in the dictionary.
Also, if =new_words= is defined, 'spell' will write any unknown words
there.
.cm stacc
Supports three new languages; Pascal, PL/1, and Plp,
in addition to Ratfor and C.
.cm who
Has two new options; "-l" for user locations,
and "-p" for user projects.
These two options are mutually exclusive.
.in -10
.ne 40
.#
.SH "Unchanged Commands"
This subsection lists the commands that have no user-visible
changes made for Version[bl]9.
.be 37
.tc \
.ta 15 30 45 60
.bf 1000
alarm\ap\ar\arg
args\argsto\as11\as6800
as8080\banner\basename\basys
batch\block\bmerge\bnames
brefs\bs\bs1\bug
bugfm\bugn\bye\cal
case\cd\cdmlc\cdmlcl
change\chat\chown\clear
clock\cmp\cn\cobc
cobcl\col\common\como
copy\copyout\cp\crypt
csubc\ctime\cto\date
day\dbg\ddlc\declare
declared\define\des\detab
diff\dmach\dnum\drop
dump\e\echo\ek
elif\else\entab\error
esac\eval\exit\f77c
f77cl\fc\fcl\fdmlc
fdmlcl\fdmp\fi\field
file\files\fixp\focld
forget\fos\fsize\fsubc
goto\guess\guide\hd
hp\if\imi\include
index\installation\intel\iota
isph\join\kill\kwic
lam\last\length\lib
line\link\lk\locate
log\login_name\lorder\lps
macro\mail\memo\mkcl
mkclist\mkdir\mklib\mktree
mon\moot\mot\mt
mv\nargs\news\nodes
ns\os\out\p4c
p4cl\passwd\pause\pc
pcl\ph\phist\phone
plgc\plgcl\plpc\plpcl
pmac\pmacl\pr\primos
print\profile\publish\pwd
quote\radix\raid\rcl
rdcat\rdextr\rdjoin\rdmake
rdprint\rdproj\rdsel\rdsort
rduniq\retract\rf\rfl
rnd\rot\rp\rsa
rtime\save\scroll\set
show\shtrace\size\slice
sol\sort\sp\speling
splc\splcl\sprint\ssr
st_profile\stats\stop\subscribe
substr\symbols\systat\tail
take\tc\tee\template
term\term_type\then\time
tip\tlit\to\translang
ts\tsort\uniq\unoct
unrot\us\usage\vars
vpsd\when\whereis\whois
x\xref\yesno
.bf 0
.ee
.SH "New Commands"
This subsection lists commands that are new for Version[bl]9.
.in +10
.cm bind
This is the Subsystem interface to the (currently unsupported)
Primos EPF loader.
.cm broadcast
Send a Primos message to a user on all machines.
This is part of the 'Ring' group of programs.
(Do a 'guide ring' for more information.)
.cm compile
General purpose compiler interlude.
.bf 3
This program is only available to customers who have also licensed
the C compiler package.
.bf 0
It is part of the upcoming second release of the C compiler.
.cm cron
Time driven command processor.
This command can be used by the system administrator to
periodically run programs (e.g. disc fixers, accounting, etc.).
.cm cset
Tells you everything you ever wanted to know about your
character set.
.cm csv
Convert shell variables.
The format of the shell variables save file has changed for
Version 9.  This program helps convert the old format files
into the new format.
.# in one quick painless easy operation....
This program should only be used by the system administrator.
.cm cvusr
Convert =userlist= to the new format.
This is a very simple shell file for converting the six character
login name =userlist= into the 32 character login name =userlist=
format.
This program should only be used by the system administrator.
.cm execute
Execute a SWT command on another system.
Part of the 'Ring' group of programs.
.cm ffind
Knuth-Morris-Pratt very fast simple string finding program.
.cm group
Tests or lists a user's group identities.
.cm gtod
Prints the time of day together with the date, month, and year;
in a format which is pleasing to humans.
.cm hist
Controls the shell's history mechanism.
.cm lacl
Lists ACL information about a file system object.
.cm lfo
List files opened for a specified user.
This command requires Georgia Tech modified Primos.
.cm lz
Post process 'fmt' output for the Georgia Tech Office of
Computing Services Xerox 9700 laser printer.
.cm otd
Object text dumper.  This program reads relocatable binary files,
and prints their contents in a human-readable form.
It is useful for analyzing the output of compilers for Prime systems.
.cm ptar
Read Unix 'tar' format tapes.
Useful for moving files from Unix systems to SWT.
.cm quota
Reads and sets disk record quota limits.
.cm rdatt
Lists the attributes of a relation.
This is an addition to the toy relational database system, 'RDB'.
.cm rdavg
Computes the average value of an attribute.
This is an addition to the toy relational database system, 'RDB'.
.cm rdcount
Count the number of rows in a relation.
This is an addition to the toy relational database system, 'RDB'.
.cm rddiff
Takes the difference of two relations.
This is an addition to the toy relational database system, 'RDB'.
.cm rddiv
Performs the division of two relations.
This is an addition to the toy relational database system, 'RDB'.
.cm rdint
Intersects two relations.
This is an addition to the toy relational database system, 'RDB'.
.cm rdmax
Finds the maximum value of a specified attribute.
This is an addition to the toy relational database system, 'RDB'.
.cm rdmin
Finds the minimum value of a specified attribute.
This is an addition to the toy relational database system, 'RDB'.
.cm rdnat
Performs the natural join of two relations.
This is an addition to the toy relational database system, 'RDB'.
.cm rdsum
Sums the values of an attribute.
This is an addition to the toy relational database system, 'RDB'.
.cm repeat
Begin a shell repeat-until loop.
This command, and the corresponding 'until' are
built into the shell.
.cm rfc
This is a command file to 'rp' and 'fc' a Ratfor program, without
running 'ld'.
.cm sacl
Sets ACL attributes on an object.
.cm setime
Sets the time of day and/or the date on all systems
running 'Ring'.
Very useful for keeping clocks synchronized.
.cm shar
Creates "shell archives"; an alternate self-extracting
method for storing files.
.cm snplnk
Snap shared library dynamic links.
This program is executed from Primos when initializing
the Subsystem.  It snaps all dynamic links in a segment,
allowing the segment to then be shared as non-writable.
This can considerably improve system security.
.cm sph
System phantom processor.
This command allows the system administrator to create phantoms that
belong to other users.
.cm terminate
Terminates the currently executing 'ring' process.
.cm touch
Sets file date/time modification fields.
.# useful for 'make', which, of course, we don't have.
.cm until
Used to terminate and state the condition part of a shell
repeat-until loop.
.cm wallclock
Tells the time in a BIG way on CRT terminal.
.cm which
Searches the user's "_search_rule" shell variable to
find where a given command resides.
.cm xcc
Compile a C program with the Prime C compiler.
.cm xccl
Compile and load a C program with the Prime C compiler.
.in -10
.#
.MH "Status of Version 8.1 Subroutines"
This section summarizes the user-visible changes to
the Subsystem library routines.
It is divided into several subsections:
obsolete routines, superseded routines, modified routines,
enhanced routines, unchanged routines and new routines.
.SH "Obsolete Routines"
The routines listed here were only used by other library
routines.  Since their services are no longer required, they
have been deleted.
.in +10
.sp
.bf
No routines were obsoleted at Version 9.
.in -10
.#
.SH "Superseded Routines"
The following routines have been subsumed by other more powerful
routines. Each entry names the Version[bl]9 routine that performs
the same function.
.in +10
.cm dacos
Use 'dac$m' in "vswtmath".
.cm dasin
Use 'dasn$m' in "vswtmath".
.cm dbexp
Use 'dexp$m' in "vswtmath".
.cm dbsqrt
Use 'dsqt$m' in "vswtmath".
.cm dflot
Use 'dble$m' in "vswtmath".
.cm drand
Use 'rand$m' in "vswtmath".
.in -10
.#
.SH "Modified Routines"
The routines listed in this subsection have been modified so
that they are no longer compatible with their Version[bl]8.1
counterparts.  Although each entry briefly describes the
changes that have been made, you should examine the corresponding
Reference Manual entries to determine the exact behavior
of the routines.
.in +10
.cm init
Prints an error message
and then exits to the Subsystem.
It remains only to help users find programs which need recompiling.
.cm tcook$
Has been greatly enhanced.  The calling sequence has changed.
See the 'help' documentation for more information.
.in -10
.#
.SH "Enhanced Routines"
The routines listed in this subsection have additional
functionality in the Version[bl]9 release, but remain
compatible with their Version[bl]8.1 counterparts.
.in +10
.cm call$$
Now knows about EPF format files.
Therefore programs loaded with 'bind' can be run from the Subsystem.
Remember that EPFs are currently unsupported.
.cm edit
This is the routine which actually does all the work for the 'ed'
line editor.
See the discussion above.
.cm gcd
Merged in with the new high precision math library, "vswtmath".
.cm invmod
Merged in with the new high precision math library, "vswtmath".
.cm lutemp
Now treats =home= as a dynamic template.  The value is gotten
from the file system, based on the current login project.
.cm page
Has an option to use the VTH library when paging to the terminal.
In concert with the editors, the trailing slash or backslash is
no longer needed for a pattern search.
.cm prime
Merged in with the new high precision math library, "vswtmath".
.cm pwrmod
Merged in with the new high precision math library, "vswtmath".
.cm set_copy
Merged in with the new high precision math library, "vswtmath".
.cm set_create
Merged in with the new high precision math library, "vswtmath".
.cm set_delete
Merged in with the new high precision math library, "vswtmath".
.cm set_element
Merged in with the new high precision math library, "vswtmath".
.cm set_equal
Merged in with the new high precision math library, "vswtmath".
.cm set_init
Merged in with the new high precision math library, "vswtmath".
.cm set_insert
Merged in with the new high precision math library, "vswtmath".
.cm set_intersect
Merged in with the new high precision math library, "vswtmath".
.cm set_remove
Merged in with the new high precision math library, "vswtmath".
.cm set_subset
Merged in with the new high precision math library, "vswtmath".
.cm set_subtract
Merged in with the new high precision math library, "vswtmath".
.cm set_union
Merged in with the new high precision math library, "vswtmath".
.cm vt$alc
Merged in with the standard Subsystem library.
.cm vt$clr
Merged in with the standard Subsystem library.
.cm vt$db
Merged in with the standard Subsystem library.
.cm vt$db1
Merged in with the standard Subsystem library.
.cm vt$db2
Merged in with the standard Subsystem library.
.cm vt$db3
Merged in with the standard Subsystem library.
.cm vt$def
Merged in with the standard Subsystem library.
.cm vt$del
Merged in with the standard Subsystem library.
.cm vt$dsw
Merged in with the standard Subsystem library.
.cm vt$err
Merged in with the standard Subsystem library.
.cm vt$get
Merged in with the standard Subsystem library.
.cm vt$gsq
Merged in with the standard Subsystem library.
.cm vt$idf
Merged in with the standard Subsystem library.
.cm vt$ier
Merged in with the standard Subsystem library.
.cm vt$ndf
Merged in with the standard Subsystem library.
.cm vt$out
Merged in with the standard Subsystem library.
.cm vt$pos
Merged in with the standard Subsystem library.
.cm vt$put
Merged in with the standard Subsystem library.
.cm vt$rdf
Merged in with the standard Subsystem library.
.cm vtclr
Merged in with the standard Subsystem library.
.cm vtenb
Merged in with the standard Subsystem library.
.cm vtgetl
Merged in with the standard Subsystem library.
.cm vtinfo
Merged in with the standard Subsystem library.
.cm vtinit
Merged in with the standard Subsystem library.
.cm vtmove
Merged in with the standard Subsystem library.
.cm vtmsg
Merged in with the standard Subsystem library.
.cm vtopt
Merged in with the standard Subsystem library.
.cm vtpad
Merged in with the standard Subsystem library.
.cm vtprt
Merged in with the standard Subsystem library.
.cm vtputl
Merged in with the standard Subsystem library.
.cm vtread
Merged in with the standard Subsystem library.
.cm vtstop
Merged in with the standard Subsystem library.
.cm vtterm
Merged in with the standard Subsystem library.
.cm vtupd
Merged in with the standard Subsystem library.
.in -10
.#
.ne 50
.SH "Unchanged Routines"
No user-visible changes have been made to the routines listed
in this subsection.
.be 30
.tc \
.ta 15 30 45 60
.bf 1000
abq$xs\addset\amatch\at$swt
atoc\atq$xs\bponu$\c$end
c$incr\c$init\cant\catsub
chkarg\chkinp\chkstr\chunk$
close\cof$\cpfil$\cpseg$
create\ctoa\ctoc\ctod
ctoi\ctol\ctomn\ctop
ctor\ctov\date\decode
delarg\delete\dgetl$\dmark$
dmpcm$\dmpfd$\dodash\dopen$
dputl$\dread$\dsdbiu\dsdump
dseek$\dsfree\dsget\dsinit
dtoc\dwrit$\encode\enter
equal\error\esc\exec
execn\expand\fcopy\filcpy
file$p\filset\filtst\findf$
finfo$\first$\flush$\follow
gcdir$\gcifu$\gctoi\gctol
get$xs\geta$f\geta$p\geta$plg
getarg\getccl\getch\getfd$
getkwd\getlin\getto\getvdn
getwrd\gfnam$\gfnarg\gitoc
gklarg\gky$xs\gltoc\gtattr
gtemp\gttype\gvlarg\icomn$
index\init$f\init$p\init$plg
input\iofl$\ioinit\isadsk
isatty\isnull\itoc\jdate
ldseg$\ldtmp$\length\locate
lookup\lopen$\lsallo\lscmpk
lscomp\lscopy\lscut\lsdel
lsdrop\lsdump\lsextr\lsfree
lsgetc\lsgetf\lsinit\lsins
lsjoin\lslen\lsmake\lspos
lsputc\lsputf\lssubs\lstake
ltoc\makpat\maksub\mapdn
mapfd\mapstr\mapsu\mapup
markf\match\mkdir$\mkfd$
mkpa$\mkq$xs\mktabl\mktemp
mktr$\mntoc\move$\omatch
open\parscl\parsdt\parstm
patsiz\pek$xs\pok$xs\print
ptoc\put$xs\putch\putdec
putlin\putlit\rbq$xs\rdy$xs
readf\remark\remove\reonu$
rewind\rmfil$\rmseg$\rmtabl
rmtemp\rtn$$\rtoc\rtq$xs
s1c$xs\s2c$xs\scopy\sctabl
sdrop\seekf\seterr\sky$xs
sprot$\st$lu\stake\stclos
stk$xs\strbsr\strcmp\strim
strlsr\substr\swt\sys$$
t$clup\t$entr\t$exit\t$init
t$time\t$trac\tgetl$\tmark$
tputl$\tquit$\tread$\trunc
tscan$\tseek$\tsq$xs\ttyp$f
ttyp$l\ttyp$q\ttyp$r\ttyp$v
twrit$\type\upkfn$\vfyusr
vtoc\wind\wkday\writef
zmem$
.bf 0
.ee
.ta
.tc
.SH "New Routines"
The routines listed in this section are new for the Version[bl]9
release.
.in +10
.cm acos$m
calculate inverse cosine.
.cm asin$m
calculate inverse sine.
.cm atan$m
calculate inverse tangent.
.cm cos$m
calculate cosine.
.cm cosh$m
calculate hyperbolic cosine.
.cm cot$m
calculate cotangent.
.cm dacs$m
calculate double precision inverse cosine.
.cm dasn$m
calculate double precision inverse sine.
.cm datn$m
calculate double precision inverse tangent.
.cm dble$m
create a longreal from a longint.
.cm dcos$m
calculate double precision cosine.
.cm dcot$m
calculate double precision cotangent.
.cm dcsh$m
calculate double precision hyperbolic cosine.
.cm dexp$m
calculate double precision exponential to the base e.
.cm dint$m
get integer part of an longreal.
.cm dint$p
get integer part of a longreal (PMA only).
.cm dln$m
calculate double precision logarithm to the base e.
.cm dlog$m
calculate double precision logarithm to the base 10.
.cm dsin$m
calculate double precision sine.
.cm dsnh$m
calculate double precision hyperbolic sine.
.cm dsqt$m
calculate double precision square root.
.cm dtan$m
calculate double precision tangent.
.cm dtnh$m
calculate double precision hyperbolic tangent.
.cm err$m
common error condition handler for math routines.
.cm exp$m
calculate exponential to the base e.
.cm gfdata
get information about file characteristics.
.cm gtacl$
get acl protection into ACL common block.
.cm isph$
determine if the caller is a phantom.
.cm ln$m
calculate logarithm to the base e.
.cm log$m
calculate logarithm to the base 10.
.cm lookac
look up a name in the ACL common block.
.cm mkpacl
encode ACL information into a Primos structure.
.cm mksacl
encode ACL information into a SWT structure.
.cm parsa$
parse ACL changes in the common block.
.cm pg$brk
catch a break for the page subroutine.
.cm powr$m
calculate a longreal raised to a longreal power.
.cm ptov
convert packed string to PL/I varying string.
.cm rand$m
generate a random number.
.cm seed$m
set the seed for the rand$m random number generator.
.cm sfdata
set information about file characteristics.
.cm shell
run the Subsystem command interpreter.
.cm sin$m
calculate sine.
.cm sinh$m
calculate hyperbolic sine.
.cm sqrt$m
calculate square root.
.cm subsys
call the Subsystem command interpreter.
.cm svdel
delete a shell variable at the current level.
.cm svdump
dump the contents of the shell variable common.
.cm svget
return the value of a shell variable.
.cm svlevl
return the current shell variable lexic level.
.cm svmake
create a shell variable at the current lexic level.
.cm svput
set the value of a shell variable.
.cm svrest
restore shell variables from a file.
.cm svsave
save shell variables in a file.
.cm svscan
scan a user's list of shell variables.
.cm szfil$
size an open Primos file descriptor.
.cm szseg$
size an open Primos segment directory.
.cm tan$m
calculate tangent.
.cm tanh$m
calculate hyperbolic tangent.
.cm vtdlin
delete lines on the user's terminal screen.
.cm vtilin
insert lines on the user's terminal screen.
.cm vtop
convert PL/I varying string to packed string.
.in -10
.bp 3
.TC
