SSSoooffftttwwwaaarrreee TTToooooolllsss SSSuuubbbsssyyysssttteeemmm VVVeeerrrsssiiiooonnn 888...111 tttooo VVVeeerrrsssiiiooonnn 999 CCCooonnnvvveeerrrsssiiiooonnn GGGuuuiiidddeee Arnold D. Robbins School of Information and Computer Science Georgia Institute of Technology Atlanta, Georgia 30332 September, 1984 Version 9 Conversion Guide IIInnntttrrroooddduuuccctttiiiooonnn Version 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 com- puters 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. 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! This conversion guide is divided into three sections: GGGlllooobbbaaalll CCChhhaaannngggeeesss discusses the alterations that affect large portions of the user interface; SSStttaaatttuuusss ooofff VVV888...111 CCCooommmmmmaaannndddsss and SSStttaaatttuuusss ooofff VVV888...111 SSSuuubbbrrrooouuutttiiinnneeesss describe additions, deletions, and modifications made to individual commands and subroutines. GGGlllooobbbaaalll CCChhhaaannngggeeesss TTThhheee SSSuuubbbsssyyysssttteeemmm CCCooommmmmmooonnn BBBllloooccckkk 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 Sub- system common. This will be fixed in the next release of the C compiler, which is now in preparation. NNNeeewww SSSuuubbbsssyyysssttteeemmm LLLiiibbbrrraaarrriiieeesss 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 interest- ing facts about Prime's floating point hardware and software, are documented in the _S_W_T _M_a_t_h _L_i_b_r_a_r_y _U_s_e_r_'_s _G_u_i_d_e. 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. - 1 - Version 9 Conversion Guide DDDeeellleeettteeeddd SSSuuubbbsssyyysssttteeemmm LLLiiibbbrrraaarrriiieeesss The old, locally supported math library, "vswtml", has been changed slightly (routines which were obsoleted by "vswtmath" were removed), and merged in _w_i_t_h "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 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. NNNeeewww SSSuuubbbsssyyysssttteeemmm TTTeeemmmppplllaaattteeesss 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 tem- plate 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. =ring= is the directory where the 'Ring' programs will write their log files. =histfile= is the file which the shell will use to save user command sessions. This allows preserving the shell's history across login sessions. =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. =crondir= is the directory where 'cron' creates temporary files for the phantoms it creates. =cronfile= is the file containing the directives for 'cron'. CCCooommmmmmaaannnddd IIInnnttteeerrrppprrreeettteeerrr EEEnnnhhhaaannnccceeemmmeeennntttsss 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. The shell can now do continuous checking on the user's mail box, so if mail arrives during a session, the user is notified. Also, the shell has a looping capability with the repeat- until construct. This greatly increases the shell's power, mak- ing it much easier to write shell programs. - 2 - Version 9 Conversion Guide 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 _U_s_e_r_'_s _G_u_i_d_e _t_o _t_h_e _S_o_f_t_w_a_r_e _T_o_o_l_s _C_o_m_m_a_n_d _I_n_t_e_r_p_r_e_t_e_r. 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. SSShhheeellllll VVVaaarrriiiaaabbbllleeesss 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. CCCooommmmmmaaannnddd IIInnnttteeerrrppprrreeettteeerrr SSSooouuurrrccceee CCCooodddeee LLLooocccaaatttiiiooonnn 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. TTThhheee ===uuussseeerrrllliiisssttt=== FFFiiillleee 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 _S_o_f_t_w_a_r_e _T_o_o_l_s _S_u_b_s_y_s_t_e_m _M_a_n_a_g_e_r_'_s _G_u_i_d_e discusses this in further detail, including some advice on con- verting the old format file into the new one. UUUpppdddaaattteee tttooo SSSWWWTTTSSSEEEGGG The Subsystem segmented loader has been updated to Primos version 19.2. It still only understands eight character names. Oh well. EEEnnnhhhaaannnccceeeddd EEEdddiiitttooorrrsss 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. The guide and help pages have been updated to reflect the changes made to the editors. The following list applies to both editors: - 3 - Version 9 Conversion Guide ... Trailing delimiters are not needed in pattern searches, or for the 's', 't', and 'j' commands. ... The 'j' commands defaults to 'j/ /p', and the 's' command defaults to 's//&/p'. ... Global commands can be set to continue, even if the command fails for a given line. ... 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.) ... 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'. ... A new command, "l" (for "location") is available. This com- mand 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. The following list applies only to the 'se' screen editor. ... 'Se' now has an auto-indent option. This makes typing in program text considerably easier. ... 'Se' reads commands from the file =home=/.serc (if it exists) whenever it starts up. This is useful for setting personal options. ... '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. ... The help files in =doc=/se_h/?* have _f_i_n_a_l_l_y 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. DDDooocccuuummmeeennntttaaatttiiiooonnn CCChhhaaannngggeeesss 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. - 4 - Version 9 Conversion Guide DDDyyynnnaaammmiiiccc TTTeeemmmppplllaaattteeesss With Rev 19 of Primos, projects are supported in the operat- ing 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. SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888...111 CCCooommmmmmaaannndddsss 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 com- mands, modified commands, enhanced commands, and unchanged com- mands. The final subsection is a summary of commands that are new for the Version 9 release. OOObbbsssooollleeettteee CCCooommmmmmaaannndddsss The commands in this subsection were part of the Version 8.1 Subsystem, but are not included in the Version 9 release. Most of them were used only by certain shell programs and have out- lived their usefulness. In other cases, the commands were relics of past Subsystems, and either were no longer useful, or no longer worked. mmmeeemmmssstttaaattt 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. mmmkkkuuusssrrr 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. ooolllddd___aaarrr The old archiver has been removed since there is no longer any use for it. rrrmmmuuusssrrr This program was used at Georgia Tech for removing existing users. See the comments above under 'mkusr'. - 5 - Version 9 Conversion Guide SSSuuupppeeerrrssseeedddeeeddd CCCooommmmmmaaannndddsss The commands in this subsection are not part of the Ver- sion 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. NNNooo cccooommmmmmaaannndddsss aaarrreee sssuuupppeeerrrssseeedddeeeddd aaattt VVVeeerrrsssiiiooonnn 999... MMMooodddiiifffiiieeeddd CCCooommmmmmaaannndddsss The commands listed in this subsection have been modified for the Version 9 release and are no longer completely compatible with their Version 8.1 counterparts. Each entry gives a brief description of the changes, but before using any of these com- mands, please check the corresponding Reference Manual entry to be sure of the command's exact behavior. cccaaattt 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. hhhiiissstttooorrryyy Is now used exclusively for making entries in the Sub- system history file. It no longer takes any options and does not call 'phist'. lllfff By default, does _n_o_t list files whose names begin with a '.'. To see "dot files", use the "-a" option. pppwwwooorrrddd 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. ssseeemmmaaa Has a new option "-i" for initializing named semaphores. Also now uses the standard Subsystem argument notation. EEEnnnhhhaaannnccceeeddd CCCooommmmmmaaannndddsss Commands in this subsection have been functionally enhanced for the Version 9 release, but remain compatible with their Ver- sion 8.1 counterparts. dddeeelll Fixed to handle new file ACL's. - 6 - Version 9 Conversion Guide dddppprrriiinnnttt Has a new "-x" option which prevents the initial page eject. eeeddd See the "Global Changes" section above, and the Reference Manual entry on 'ed', as well as the _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _S_o_f_t_w_a_r_e _T_o_o_l_s _S_u_b_s_y_s_t_e_m _T_e_x_t _E_d_i_t_o_r for details. fffiiinnnddd Has a new "-i" option to ignore case in comparisons. fffmmmttt Has been greatly enhanced. There are more special characters, more commands, and more function calls. Particularly useful is the condition handling mechanism -- ...iiifff. hhheeelllppp 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. lllddd 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 those of you who are using the current release of the C compiler. pppggg 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. ssseee Handles more terminal types, as well as the changes outlined under "Global Changes" above. ssseeeppp Changed to use "cat -s", which effectively keeps its behavior identical to earlier versions. ssshhh Vary many enhancements. See the User's Guide for details. sssooouuurrrccceee Fixed to handle archives correctly. 'Source' will find the source for more than one command and/or subroutine. - 7 - Version 9 Conversion Guide ssspppeeellllll Has been made slightly smarter about suffixes, in particular, it will strip a trailing "'s" before check- ing a word in the dictionary. Also, if =new_words= is defined, 'spell' will write any unknown words there. ssstttaaacccccc Supports three new languages; Pascal, PL/1, and Plp, in addition to Ratfor and C. wwwhhhooo Has two new options; "-l" for user locations, and "-p" for user projects. These two options are mutually exclusive. UUUnnnccchhhaaannngggeeeddd CCCooommmmmmaaannndddsss This subsection lists the commands that have no user-visible changes made for Version 9. - 8 - Version 9 Conversion Guide aaalllaaarrrmmm   aaappp   aaarrr   aaarrrggg aaarrrgggsss   aaarrrgggssstttooo   aaasss111111   aaasss666888000000 aaasss888000888000   bbbaaannnnnneeerrr   bbbaaassseeennnaaammmeee   bbbaaasssyyysss bbbaaatttccchhh   bbbllloooccckkk   bbbmmmeeerrrgggeee   bbbnnnaaammmeeesss bbbrrreeefffsss   bbbsss   bbbsss111   bbbuuuggg bbbuuugggfffmmm   bbbuuugggnnn   bbbyyyeee   cccaaalll cccaaassseee   cccddd   cccdddmmmlllccc   cccdddmmmlllccclll ccchhhaaannngggeee   ccchhhaaattt   ccchhhooowwwnnn   cccllleeeaaarrr cccllloooccckkk   cccmmmppp   cccnnn   cccooobbbccc cccooobbbccclll   cccooolll   cccooommmmmmooonnn   cccooommmooo cccooopppyyy   cccooopppyyyooouuuttt   cccppp   cccrrryyypppttt cccsssuuubbbccc   ccctttiiimmmeee   ccctttooo   dddaaattteee dddaaayyy   dddbbbggg   ddddddlllccc   dddeeeccclllaaarrreee dddeeeccclllaaarrreeeddd   dddeeefffiiinnneee   dddeeesss   dddeeetttaaabbb dddiiiffffff   dddmmmaaaccchhh   dddnnnuuummm   dddrrroooppp ddduuummmppp   eee   eeeccchhhooo   eeekkk eeellliiifff   eeelllssseee   eeennntttaaabbb   eeerrrrrrooorrr eeesssaaaccc   eeevvvaaalll   eeexxxiiittt   fff777777ccc fff777777ccclll   fffccc   fffccclll   fffdddmmmlllccc fffdddmmmlllccclll   fffdddmmmppp   fffiii   fffiiieeelllddd fffiiillleee   fffiiillleeesss   fffiiixxxppp   fffoooccclllddd fffooorrrgggeeettt   fffooosss   fffsssiiizzzeee   fffsssuuubbbccc gggoootttooo   ggguuueeessssss   ggguuuiiidddeee   hhhddd hhhppp   iiifff   iiimmmiii   iiinnncccllluuudddeee iiinnndddeeexxx   iiinnnssstttaaallllllaaatttiiiooonnn   iiinnnttteeelll   iiioootttaaa iiisssppphhh   jjjoooiiinnn   kkkiiillllll   kkkwwwiiiccc lllaaammm   lllaaasssttt   llleeennngggttthhh   llliiibbb llliiinnneee   llliiinnnkkk   lllkkk   lllooocccaaattteee llloooggg   lllooogggiiinnn___nnnaaammmeee   lllooorrrdddeeerrr   lllpppsss mmmaaacccrrrooo   mmmaaaiiilll   mmmeeemmmooo   mmmkkkccclll mmmkkkcccllliiisssttt   mmmkkkdddiiirrr   mmmkkkllliiibbb   mmmkkktttrrreeeeee mmmooonnn   mmmoooooottt   mmmooottt   mmmttt mmmvvv   nnnaaarrrgggsss   nnneeewwwsss   nnnooodddeeesss nnnsss   ooosss   ooouuuttt   ppp444ccc ppp444ccclll   pppaaasssssswwwddd   pppaaauuussseee   pppccc pppccclll   ppphhh   ppphhhiiisssttt   ppphhhooonnneee ppplllgggccc   ppplllgggccclll   ppplllpppccc   ppplllpppccclll pppmmmaaaccc   pppmmmaaaccclll   ppprrr   ppprrriiimmmooosss ppprrriiinnnttt   ppprrrooofffiiillleee   pppuuubbbllliiissshhh   pppwwwddd qqquuuooottteee   rrraaadddiiixxx   rrraaaiiiddd   rrrccclll rrrdddcccaaattt   rrrdddeeexxxtttrrr   rrrdddjjjoooiiinnn   rrrdddmmmaaakkkeee rrrdddppprrriiinnnttt   rrrdddppprrrooojjj   rrrdddssseeelll   rrrdddsssooorrrttt rrrddduuunnniiiqqq   rrreeetttrrraaacccttt   rrrfff   rrrffflll rrrnnnddd   rrrooottt   rrrppp   rrrsssaaa rrrtttiiimmmeee   sssaaavvveee   ssscccrrrooollllll   ssseeettt ssshhhooowww   ssshhhtttrrraaaccceee   sssiiizzzeee   sssllliiiccceee sssooolll   sssooorrrttt   sssppp   ssspppeeellliiinnnggg sssppplllccc   sssppplllccclll   sssppprrriiinnnttt   ssssssrrr sssttt___ppprrrooofffiiillleee   ssstttaaatttsss   ssstttoooppp   sssuuubbbssscccrrriiibbbeee sssuuubbbssstttrrr   sssyyymmmbbbooolllsss   sssyyyssstttaaattt   tttaaaiiilll tttaaakkkeee   tttccc   ttteeeeee   ttteeemmmppplllaaattteee ttteeerrrmmm   ttteeerrrmmm___tttyyypppeee   ttthhheeennn   tttiiimmmeee tttiiippp   tttllliiittt   tttooo   tttrrraaannnssslllaaannnggg tttsss   tttsssooorrrttt   uuunnniiiqqq   uuunnnooocccttt uuunnnrrrooottt   uuusss   uuusssaaagggeee   vvvaaarrrsss vvvpppsssddd   wwwhhheeennn   wwwhhheeerrreeeiiisss   wwwhhhoooiiisss - 9 - Version 9 Conversion Guide xxx   xxxrrreeefff   yyyeeesssnnnooo NNNeeewww CCCooommmmmmaaannndddsss This subsection lists commands that are new for Version 9. bbbiiinnnddd This is the Subsystem interface to the (currently unsupported) Primos EPF loader. bbbrrroooaaadddcccaaasssttt 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.) cccooommmpppiiillleee General purpose compiler interlude. TTThhhiiisss ppprrrooogggrrraaammm iiisss ooonnnlllyyy aaavvvaaaiiilllaaabbbllleee tttooo cccuuussstttooommmeeerrrsss wwwhhhooo hhhaaavvveee aaalllsssooo llliiiccceeennnssseeeddd ttthhheee CCC cccooommmpppiiillleeerrr pppaaaccckkkaaagggeee... It is part of the upcoming second release of the C compiler. cccrrrooonnn Time driven command processor. This command can be used by the system administrator to periodically run programs (e.g. disc fixers, accounting, etc.). cccssseeettt Tells you everything you ever wanted to know about your character set. cccsssvvv 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. This program should only be used by the system administrator. cccvvvuuusssrrr 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. eeexxxeeecccuuuttteee Execute a SWT command on another system. Part of the 'Ring' group of programs. ffffffiiinnnddd Knuth-Morris-Pratt very fast simple string finding program. - 10 - Version 9 Conversion Guide gggrrrooouuuppp Tests or lists a user's group identities. gggtttoooddd Prints the time of day together with the date, month, and year; in a format which is pleasing to humans. hhhiiisssttt Controls the shell's history mechanism. lllaaaccclll Lists ACL information about a file system object. lllfffooo List files opened for a specified user. This command requires Georgia Tech modified Primos. lllzzz Post process 'fmt' output for the Georgia Tech Office of Computing Services Xerox 9700 laser printer. oootttddd 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. ppptttaaarrr Read Unix 'tar' format tapes. Useful for moving files from Unix systems to SWT. qqquuuoootttaaa Reads and sets disk record quota limits. rrrdddaaatttttt Lists the attributes of a relation. This is an addi- tion to the toy relational database system, 'RDB'. rrrdddaaavvvggg Computes the average value of an attribute. This is an addition to the toy relational database system, 'RDB'. rrrdddcccooouuunnnttt Count the number of rows in a relation. This is an addition to the toy relational database system, 'RDB'. rrrddddddiiiffffff Takes the difference of two relations. This is an addition to the toy relational database system, 'RDB'. rrrddddddiiivvv Performs the division of two relations. This is an addition to the toy relational database system, 'RDB'. - 11 - Version 9 Conversion Guide rrrdddiiinnnttt Intersects two relations. This is an addition to the toy relational database system, 'RDB'. rrrdddmmmaaaxxx Finds the maximum value of a specified attribute. This is an addition to the toy relational database system, 'RDB'. rrrdddmmmiiinnn Finds the minimum value of a specified attribute. This is an addition to the toy relational database system, 'RDB'. rrrdddnnnaaattt Performs the natural join of two relations. This is an addition to the toy relational database system, 'RDB'. rrrdddsssuuummm Sums the values of an attribute. This is an addition to the toy relational database system, 'RDB'. rrreeepppeeeaaattt Begin a shell repeat-until loop. This command, and the corresponding 'until' are built into the shell. rrrfffccc This is a command file to 'rp' and 'fc' a Ratfor program, without running 'ld'. sssaaaccclll Sets ACL attributes on an object. ssseeetttiiimmmeee Sets the time of day and/or the date on all systems running 'Ring'. Very useful for keeping clocks synch- ronized. ssshhhaaarrr Creates "shell archives"; an alternate self-extracting method for storing files. sssnnnppplllnnnkkk 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. sssppphhh System phantom processor. This command allows the system administrator to create phantoms that belong to other users. - 12 - Version 9 Conversion Guide ttteeerrrmmmiiinnnaaattteee Terminates the currently executing 'ring' process. tttooouuuccchhh Sets file date/time modification fields. uuunnntttiiilll Used to terminate and state the condition part of a shell repeat-until loop. wwwaaallllllcccllloooccckkk Tells the time in a BIG way on CRT terminal. wwwhhhiiiccchhh Searches the user's "_search_rule" shell variable to find where a given command resides. xxxcccccc Compile a C program with the Prime C compiler. xxxcccccclll Compile and load a C program with the Prime C compiler. SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888...111 SSSuuubbbrrrooouuutttiiinnneeesss This section summarizes the user-visible changes to the Sub- system library routines. It is divided into several subsections: obsolete routines, superseded routines, modified routines, enhanced routines, unchanged routines and new routines. OOObbbsssooollleeettteee RRRooouuutttiiinnneeesss The routines listed here were only used by other library routines. Since their services are no longer required, they have been deleted. NNNooo rrrooouuutttiiinnneeesss wwweeerrreee ooobbbsssooollleeettteeeddd aaattt VVVeeerrrsssiiiooonnn 999... SSSuuupppeeerrrssseeedddeeeddd RRRooouuutttiiinnneeesss The following routines have been subsumed by other more powerful routines. Each entry names the Version 9 routine that performs the same function. dddaaacccooosss Use 'dac$m' in "vswtmath". dddaaasssiiinnn Use 'dasn$m' in "vswtmath". - 13 - Version 9 Conversion Guide dddbbbeeexxxppp Use 'dexp$m' in "vswtmath". dddbbbsssqqqrrrttt Use 'dsqt$m' in "vswtmath". dddffflllooottt Use 'dble$m' in "vswtmath". dddrrraaannnddd Use 'rand$m' in "vswtmath". MMMooodddiiifffiiieeeddd RRRooouuutttiiinnneeesss The routines listed in this subsection have been modified so that they are no longer compatible with their Version 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. iiinnniiittt Prints an error message and then exits to the Sub- system. It remains only to help users find programs which need recompiling. tttcccooooookkk$$$ Has been greatly enhanced. The calling sequence has changed. See the 'help' documentation for more information. EEEnnnhhhaaannnccceeeddd RRRooouuutttiiinnneeesss The routines listed in this subsection have additional func- tionality in the Version 9 release, but remain compatible with their Version 8.1 counterparts. cccaaallllll$$$$$$ Now knows about EPF format files. Therefore programs loaded with 'bind' can be run from the Subsystem. Remember that EPFs are currently unsupported. eeedddiiittt This is the routine which actually does all the work for the 'ed' line editor. See the discussion above. gggcccddd Merged in with the new high precision math library, "vswtmath". iiinnnvvvmmmoooddd Merged in with the new high precision math library, "vswtmath". - 14 - Version 9 Conversion Guide llluuuttteeemmmppp Now treats =home= as a dynamic template. The value is gotten from the file system, based on the current login project. pppaaagggeee 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. ppprrriiimmmeee Merged in with the new high precision math library, "vswtmath". pppwwwrrrmmmoooddd Merged in with the new high precision math library, "vswtmath". ssseeettt___cccooopppyyy Merged in with the new high precision math library, "vswtmath". ssseeettt___cccrrreeeaaattteee Merged in with the new high precision math library, "vswtmath". ssseeettt___dddeeellleeettteee Merged in with the new high precision math library, "vswtmath". ssseeettt___eeellleeemmmeeennnttt Merged in with the new high precision math library, "vswtmath". ssseeettt___eeeqqquuuaaalll Merged in with the new high precision math library, "vswtmath". ssseeettt___iiinnniiittt Merged in with the new high precision math library, "vswtmath". ssseeettt___iiinnnssseeerrrttt Merged in with the new high precision math library, "vswtmath". ssseeettt___iiinnnttteeerrrssseeecccttt Merged in with the new high precision math library, "vswtmath". ssseeettt___rrreeemmmooovvveee Merged in with the new high precision math library, "vswtmath". - 15 - Version 9 Conversion Guide ssseeettt___sssuuubbbssseeettt Merged in with the new high precision math library, "vswtmath". ssseeettt___sssuuubbbtttrrraaacccttt Merged in with the new high precision math library, "vswtmath". ssseeettt___uuunnniiiooonnn Merged in with the new high precision math library, "vswtmath". vvvttt$$$aaalllccc Merged in with the standard Subsystem library. vvvttt$$$ccclllrrr Merged in with the standard Subsystem library. vvvttt$$$dddbbb Merged in with the standard Subsystem library. vvvttt$$$dddbbb111 Merged in with the standard Subsystem library. vvvttt$$$dddbbb222 Merged in with the standard Subsystem library. vvvttt$$$dddbbb333 Merged in with the standard Subsystem library. vvvttt$$$dddeeefff Merged in with the standard Subsystem library. vvvttt$$$dddeeelll Merged in with the standard Subsystem library. vvvttt$$$dddssswww Merged in with the standard Subsystem library. vvvttt$$$eeerrrrrr Merged in with the standard Subsystem library. vvvttt$$$gggeeettt Merged in with the standard Subsystem library. vvvttt$$$gggsssqqq Merged in with the standard Subsystem library. vvvttt$$$iiidddfff Merged in with the standard Subsystem library. vvvttt$$$iiieeerrr Merged in with the standard Subsystem library. - 16 - Version 9 Conversion Guide vvvttt$$$nnndddfff Merged in with the standard Subsystem library. vvvttt$$$ooouuuttt Merged in with the standard Subsystem library. vvvttt$$$pppooosss Merged in with the standard Subsystem library. vvvttt$$$pppuuuttt Merged in with the standard Subsystem library. vvvttt$$$rrrdddfff Merged in with the standard Subsystem library. vvvtttccclllrrr Merged in with the standard Subsystem library. vvvttteeennnbbb Merged in with the standard Subsystem library. vvvtttgggeeetttlll Merged in with the standard Subsystem library. vvvtttiiinnnfffooo Merged in with the standard Subsystem library. vvvtttiiinnniiittt Merged in with the standard Subsystem library. vvvtttmmmooovvveee Merged in with the standard Subsystem library. vvvtttmmmsssggg Merged in with the standard Subsystem library. vvvtttooopppttt Merged in with the standard Subsystem library. vvvtttpppaaaddd Merged in with the standard Subsystem library. vvvtttppprrrttt Merged in with the standard Subsystem library. vvvtttpppuuutttlll Merged in with the standard Subsystem library. vvvtttrrreeeaaaddd Merged in with the standard Subsystem library. vvvtttssstttoooppp Merged in with the standard Subsystem library. - 17 - Version 9 Conversion Guide vvvtttttteeerrrmmm Merged in with the standard Subsystem library. vvvtttuuupppddd Merged in with the standard Subsystem library. UUUnnnccchhhaaannngggeeeddd RRRooouuutttiiinnneeesss No user-visible changes have been made to the routines listed in this subsection. aaabbbqqq$$$xxxsss   aaaddddddssseeettt   aaammmaaatttccchhh   aaattt$$$ssswwwttt aaatttoooccc   aaatttqqq$$$xxxsss   bbbpppooonnnuuu$$$   ccc$$$eeennnddd ccc$$$iiinnncccrrr   ccc$$$iiinnniiittt   cccaaannnttt   cccaaatttsssuuubbb ccchhhkkkaaarrrggg   ccchhhkkkiiinnnppp   ccchhhkkkssstttrrr   ccchhhuuunnnkkk$$$ ccclllooossseee   cccooofff$$$   cccpppfffiiilll$$$   cccpppssseeeggg$$$ cccrrreeeaaattteee   ccctttoooaaa   ccctttoooccc   ccctttoooddd ccctttoooiii   ccctttooolll   ccctttooommmnnn   ccctttoooppp ccctttooorrr   ccctttooovvv   dddaaattteee   dddeeecccooodddeee dddeeelllaaarrrggg   dddeeellleeettteee   dddgggeeetttlll$$$   dddmmmaaarrrkkk$$$ dddmmmpppcccmmm$$$   dddmmmpppfffddd$$$   dddooodddaaassshhh   dddooopppeeennn$$$ dddpppuuutttlll$$$   dddrrreeeaaaddd$$$   dddsssdddbbbiiiuuu   dddsssddduuummmppp dddssseeeeeekkk$$$   dddsssfffrrreeeeee   dddsssgggeeettt   dddsssiiinnniiittt dddtttoooccc   dddwwwrrriiittt$$$   eeennncccooodddeee   eeennnttteeerrr eeeqqquuuaaalll   eeerrrrrrooorrr   eeesssccc   eeexxxeeeccc eeexxxeeecccnnn   eeexxxpppaaannnddd   fffcccooopppyyy   fffiiilllcccpppyyy fffiiillleee$$$ppp   fffiiilllssseeettt   fffiiillltttsssttt   fffiiinnndddfff$$$ fffiiinnnfffooo$$$   fffiiirrrsssttt$$$   fffllluuussshhh$$$   fffooollllllooowww gggcccdddiiirrr$$$   gggccciiifffuuu$$$   gggccctttoooiii   gggccctttooolll gggeeettt$$$xxxsss   gggeeetttaaa$$$fff   gggeeetttaaa$$$ppp   gggeeetttaaa$$$ppplllggg gggeeetttaaarrrggg   gggeeetttcccccclll   gggeeetttccchhh   gggeeetttfffddd$$$ gggeeetttkkkwwwddd   gggeeetttllliiinnn   gggeeettttttooo   gggeeetttvvvdddnnn gggeeetttwwwrrrddd   gggfffnnnaaammm$$$   gggfffnnnaaarrrggg   gggiiitttoooccc gggkkklllaaarrrggg   gggkkkyyy$$$xxxsss   gggllltttoooccc   gggtttaaattttttrrr gggttteeemmmppp   gggttttttyyypppeee   gggvvvlllaaarrrggg   iiicccooommmnnn$$$ iiinnndddeeexxx   iiinnniiittt$$$fff   iiinnniiittt$$$ppp   iiinnniiittt$$$ppplllggg iiinnnpppuuuttt   iiioooffflll$$$   iiioooiiinnniiittt   iiisssaaadddssskkk iiisssaaattttttyyy   iiisssnnnuuullllll   iiitttoooccc   jjjdddaaattteee llldddssseeeggg$$$   llldddtttmmmppp$$$   llleeennngggttthhh   lllooocccaaattteee lllooooookkkuuuppp   lllooopppeeennn$$$   lllsssaaallllllooo   lllssscccmmmpppkkk lllssscccooommmppp   lllssscccooopppyyy   lllssscccuuuttt   lllsssdddeeelll lllsssdddrrroooppp   lllsssddduuummmppp   lllssseeexxxtttrrr   lllsssfffrrreeeeee lllsssgggeeetttccc   lllsssgggeeetttfff   lllsssiiinnniiittt   lllsssiiinnnsss lllsssjjjoooiiinnn   lllsssllleeennn   lllsssmmmaaakkkeee   lllssspppooosss lllssspppuuutttccc   lllssspppuuutttfff   lllssssssuuubbbsss   lllssstttaaakkkeee llltttoooccc   mmmaaakkkpppaaattt   mmmaaakkksssuuubbb   mmmaaapppdddnnn mmmaaapppfffddd   mmmaaapppssstttrrr   mmmaaapppsssuuu   mmmaaapppuuuppp mmmaaarrrkkkfff   mmmaaatttccchhh   mmmkkkdddiiirrr$$$   mmmkkkfffddd$$$ mmmkkkpppaaa$$$   mmmkkkqqq$$$xxxsss   mmmkkktttaaabbblll   mmmkkkttteeemmmppp mmmkkktttrrr$$$   mmmnnntttoooccc   mmmooovvveee$$$   ooommmaaatttccchhh ooopppeeennn   pppaaarrrsssccclll   pppaaarrrsssdddttt   pppaaarrrssstttmmm pppaaatttsssiiizzz   pppeeekkk$$$xxxsss   pppoookkk$$$xxxsss   ppprrriiinnnttt ppptttoooccc   pppuuuttt$$$xxxsss   pppuuutttccchhh   pppuuutttdddeeeccc pppuuutttllliiinnn   pppuuutttllliiittt   rrrbbbqqq$$$xxxsss   rrrdddyyy$$$xxxsss rrreeeaaadddfff   rrreeemmmaaarrrkkk   rrreeemmmooovvveee   rrreeeooonnnuuu$$$ - 18 - Version 9 Conversion Guide rrreeewwwiiinnnddd   rrrmmmfffiiilll$$$   rrrmmmssseeeggg$$$   rrrmmmtttaaabbblll rrrmmmttteeemmmppp   rrrtttnnn$$$$$$   rrrtttoooccc   rrrtttqqq$$$xxxsss sss111ccc$$$xxxsss   sss222ccc$$$xxxsss   ssscccooopppyyy   sssccctttaaabbblll sssdddrrroooppp   ssseeeeeekkkfff   ssseeettteeerrrrrr   ssskkkyyy$$$xxxsss sssppprrrooottt$$$   sssttt$$$llluuu   ssstttaaakkkeee   ssstttccclllooosss ssstttkkk$$$xxxsss   ssstttrrrbbbsssrrr   ssstttrrrcccmmmppp   ssstttrrriiimmm ssstttrrrlllsssrrr   sssuuubbbssstttrrr   ssswwwttt   sssyyysss$$$$$$ ttt$$$cccllluuuppp   ttt$$$eeennntttrrr   ttt$$$eeexxxiiittt   ttt$$$iiinnniiittt ttt$$$tttiiimmmeee   ttt$$$tttrrraaaccc   tttgggeeetttlll$$$   tttmmmaaarrrkkk$$$ tttpppuuutttlll$$$   tttqqquuuiiittt$$$   tttrrreeeaaaddd$$$   tttrrruuunnnccc tttssscccaaannn$$$   tttssseeeeeekkk$$$   tttsssqqq$$$xxxsss   ttttttyyyppp$$$fff ttttttyyyppp$$$lll   ttttttyyyppp$$$qqq   ttttttyyyppp$$$rrr   ttttttyyyppp$$$vvv tttwwwrrriiittt$$$   tttyyypppeee   uuupppkkkfffnnn$$$   vvvfffyyyuuusssrrr vvvtttoooccc   wwwiiinnnddd   wwwkkkdddaaayyy   wwwrrriiittteeefff zzzmmmeeemmm$$$ NNNeeewww RRRooouuutttiiinnneeesss The routines listed in this section are new for the Ver- sion 9 release. aaacccooosss$$$mmm calculate inverse cosine. aaasssiiinnn$$$mmm calculate inverse sine. aaatttaaannn$$$mmm calculate inverse tangent. cccooosss$$$mmm calculate cosine. cccooossshhh$$$mmm calculate hyperbolic cosine. cccooottt$$$mmm calculate cotangent. dddaaacccsss$$$mmm calculate double precision inverse cosine. dddaaasssnnn$$$mmm calculate double precision inverse sine. dddaaatttnnn$$$mmm calculate double precision inverse tangent. dddbbbllleee$$$mmm create a longreal from a longint. dddcccooosss$$$mmm calculate double precision cosine. - 19 - Version 9 Conversion Guide dddcccooottt$$$mmm calculate double precision cotangent. dddcccssshhh$$$mmm calculate double precision hyperbolic cosine. dddeeexxxppp$$$mmm calculate double precision exponential to the base e. dddiiinnnttt$$$mmm get integer part of an longreal. dddiiinnnttt$$$ppp get integer part of a longreal (PMA only). dddlllnnn$$$mmm calculate double precision logarithm to the base e. dddllloooggg$$$mmm calculate double precision logarithm to the base 10. dddsssiiinnn$$$mmm calculate double precision sine. dddsssnnnhhh$$$mmm calculate double precision hyperbolic sine. dddsssqqqttt$$$mmm calculate double precision square root. dddtttaaannn$$$mmm calculate double precision tangent. dddtttnnnhhh$$$mmm calculate double precision hyperbolic tangent. eeerrrrrr$$$mmm common error condition handler for math routines. eeexxxppp$$$mmm calculate exponential to the base e. gggfffdddaaatttaaa get information about file characteristics. gggtttaaaccclll$$$ get acl protection into ACL common block. iiisssppphhh$$$ determine if the caller is a phantom. lllnnn$$$mmm calculate logarithm to the base e. - 20 - Version 9 Conversion Guide llloooggg$$$mmm calculate logarithm to the base 10. lllooooookkkaaaccc look up a name in the ACL common block. mmmkkkpppaaaccclll encode ACL information into a Primos structure. mmmkkksssaaaccclll encode ACL information into a SWT structure. pppaaarrrsssaaa$$$ parse ACL changes in the common block. pppggg$$$bbbrrrkkk catch a break for the page subroutine. pppooowwwrrr$$$mmm calculate a longreal raised to a longreal power. ppptttooovvv convert packed string to PL/I varying string. rrraaannnddd$$$mmm generate a random number. ssseeeeeeddd$$$mmm set the seed for the rand$m random number generator. sssfffdddaaatttaaa set information about file characteristics. ssshhheeellllll run the Subsystem command interpreter. sssiiinnn$$$mmm calculate sine. sssiiinnnhhh$$$mmm calculate hyperbolic sine. sssqqqrrrttt$$$mmm calculate square root. sssuuubbbsssyyysss call the Subsystem command interpreter. sssvvvdddeeelll delete a shell variable at the current level. sssvvvddduuummmppp dump the contents of the shell variable common. - 21 - Version 9 Conversion Guide sssvvvgggeeettt return the value of a shell variable. sssvvvllleeevvvlll return the current shell variable lexic level. sssvvvmmmaaakkkeee create a shell variable at the current lexic level. sssvvvpppuuuttt set the value of a shell variable. sssvvvrrreeesssttt restore shell variables from a file. sssvvvsssaaavvveee save shell variables in a file. sssvvvssscccaaannn scan a user's list of shell variables. ssszzzfffiiilll$$$ size an open Primos file descriptor. ssszzzssseeeggg$$$ size an open Primos segment directory. tttaaannn$$$mmm calculate tangent. tttaaannnhhh$$$mmm calculate hyperbolic tangent. vvvtttdddllliiinnn delete lines on the user's terminal screen. vvvtttiiillliiinnn insert lines on the user's terminal screen. vvvtttoooppp convert PL/I varying string to packed string. - 22 - ___TTT___AAA___BBB___LLL___EEE___ ___OOO___FFF___ ___CCC___OOO___NNN___TTT___EEE___NNN___TTT___SSS IIInnntttrrroooddduuuccctttiiiooonnn ............................................. 1 GGGlllooobbbaaalll CCChhhaaannngggeeesss ........................................... 1 The Subsystem Common Block ............................ 1 New Subsystem Libraries ............................... 1 Deleted Subsystem Libraries ........................... 2 New Subsystem Templates ............................... 2 Command Interpreter Enhancements ...................... 2 Shell Variables ....................................... 3 Command Interpreter Source Code Location .............. 3 The =userlist= File ................................... 3 Update to SWTSEG ...................................... 3 Enhanced Editors ...................................... 3 Documentation Changes ................................. 4 Dynamic Templates ..................................... 5 SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888...111 CCCooommmmmmaaannndddsss ........................... 5 Obsolete Commands ..................................... 5 Superseded Commands ................................... 6 Modified Commands ..................................... 6 Enhanced Commands ..................................... 6 Unchanged Commands .................................... 8 New Commands .......................................... 10 SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 888...111 SSSuuubbbrrrooouuutttiiinnneeesss ........................ 13 Obsolete Routines ..................................... 13 Superseded Routines ................................... 13 Modified Routines ..................................... 14 Enhanced Routines ..................................... 14 Unchanged Routines .................................... 18 New Routines .......................................... 19 - iii -