diff --git a/decus/vax85c/bulletin/aaareadme.doc b/decus/vax85c/bulletin/aaareadme.doc index 446258851f5d6b168e4da02aeeed51f2b5fe6552..39fd3f99a3f566708f35c614a962fe17e1fa48d2 100644 --- a/decus/vax85c/bulletin/aaareadme.doc +++ b/decus/vax85c/bulletin/aaareadme.doc @@ -1,73 +1,73 @@ -�The following are instructions for creating the BULLETIN executable and -�installation of the utility. A brief explanation of how the internals -�of the BULLETIN utility works can be found in BULLETIN.TXT . None of -�the command procedures included here are sophisticated, so it is likely -�that several modifications will have to be made by the installer. -�The installer should enable all privileges before installation. -� -�1) CREATE.COM -� This will compile and link the BULLETIN sources. Also, there are severalu -� INCLUDE files for the fortran sources (.INC files). BULLFILES.INC must first -� be modified before this procedure is run. It contains the names of data files -� which BULLETIN creates. It also has the username for the BBOARD account.t -� BBOARD is an option by which mail sent to the specified username will bet -� converted into bulletins. This allows a user on a different system, which is -� connected via a network, to be able to submit a bulletin. This feature can -� be disabled if it is not desired by specifying the username NONE. In any -� case, you should edit BULLFILES.INC and specify the appropriate device ands -� directories in which you desire that the files be located. (NOTE: Although -� the BBOARD feature can be used over DECNET, a more sophisticated method -� is available to easily allow one to add bulletins to other DECNET nodes -� with all the features of BULLETIN. See below). -� -�2) STARTUP.COM -� The data files that BULLETIN creates should be owned by a system UIC, -� and MUST be protected from users being able to have access them.L -� STARTUP.COM sets the process UIC to [1,4] (you should change this ifc -� you want something else), sets the WORLD and GROUP protection to NONE,t -� adds the bulletin found in the file INSTRUCT.TXT (it is added withl -� /PERMANENT, so it never expires), and then resets the UIC and PROTECTION -� to what they were before running the procedure. -� INSTRUCT.BUL contains a bulletin with instructions to the users as to -� how to use the BULLETIN utility. You may want to modify it. -� -�3) INSTALL.COM -� The following procedure copies the executable image to SYS$SYSTEM and -� installs it with certain privileges. It also installs the necessaryh -� help files in SYS$HELP. -� -�4) LOGIN.COM -� This contains the comands that should be executed at login time -� by SYS$MANAGER:SYLOGIN.COM. It defines the BULLETIN commands.d -� It also executes the command BULLETIN/LOGIN in order to notifyu -� the user of new bulletins. If desired, the /READNEW qualifierd -� can also be added. If there are any new non-system bulletins, this -� qualifier creates a prompt asking the user if the non-systemv -� bulletins are to be displayed or not. Normally, only system bulletins� -� are displayed in full, and only the subjects of the non-systema -� bulletins are displayed. ( Some systems might have a lot of userso -� who are not interested in reading the non-system bulletins, in -� which case /READNEW should probably not be added. Instead, you could -� let users enable this feature by entering the BULLETIN utility andh -� typing the command SET READNEW ). (NOTE: Since /LOGIN and /READNEW -� are system commands, they are not included in the help file). -� -�5) BULLSTART.COM -� This procedure contains the commands that should be executed afterd -� a system startup. It should be executed by SYS$MANAGER:SYSTARTUP.COM -� as a batch job. It simply installs the BULLETIN utility with correct -� privileges. -� -�6) BULLETIN.COMc -� If one wants the feature of using BULLETIN between DECNET nodes,t -� this file must be put in each node's DECNET default user's directoryA -� (usually [DECNET]). Once this is done, the /NODE qualifer for the -� ADD command can be used.i -� NOTE: Presently, privileged functions such as /SYSTEM will worka -� on other nodes only if you have an account on the other node with -� the same username, and with appropriate privileges. You will bet -� prompted for the password for the account on the remote node. However, -� due to unknown reasons, the software I have to check the password will' -� only work for passwords that have been set under V4.x. If the password -� was created under V3.x, the program will not work, and you password wills -� be treated as invalid.u +The following are instructions for creating the BULLETIN executable and +installation of the utility. A brief explanation of how the internals +of the BULLETIN utility works can be found in BULLETIN.TXT . None of +the command procedures included here are sophisticated, so it is likely +that several modifications will have to be made by the installer. +The installer should enable all privileges before installation. + +1) CREATE.COM + This will compile and link the BULLETIN sources. Also, there are severalu + INCLUDE files for the fortran sources (.INC files). BULLFILES.INC must first + be modified before this procedure is run. It contains the names of data files + which BULLETIN creates. It also has the username for the BBOARD account.t + BBOARD is an option by which mail sent to the specified username will bet + converted into bulletins. This allows a user on a different system, which is + connected via a network, to be able to submit a bulletin. This feature can + be disabled if it is not desired by specifying the username NONE. In any + case, you should edit BULLFILES.INC and specify the appropriate device ands + directories in which you desire that the files be located. (NOTE: Although + the BBOARD feature can be used over DECNET, a more sophisticated method + is available to easily allow one to add bulletins to other DECNET nodes + with all the features of BULLETIN. See below). + +2) STARTUP.COM + The data files that BULLETIN creates should be owned by a system UIC, + and MUST be protected from users being able to have access them.L + STARTUP.COM sets the process UIC to [1,4] (you should change this ifc + you want something else), sets the WORLD and GROUP protection to NONE,t + adds the bulletin found in the file INSTRUCT.TXT (it is added withl + /PERMANENT, so it never expires), and then resets the UIC and PROTECTION + to what they were before running the procedure. + INSTRUCT.BUL contains a bulletin with instructions to the users as to + how to use the BULLETIN utility. You may want to modify it. + +3) INSTALL.COM + The following procedure copies the executable image to SYS$SYSTEM and + installs it with certain privileges. It also installs the necessaryh + help files in SYS$HELP. + +4) LOGIN.COM + This contains the comands that should be executed at login time + by SYS$MANAGER:SYLOGIN.COM. It defines the BULLETIN commands.d + It also executes the command BULLETIN/LOGIN in order to notifyu + the user of new bulletins. If desired, the /READNEW qualifierd + can also be added. If there are any new non-system bulletins, this + qualifier creates a prompt asking the user if the non-systemv + bulletins are to be displayed or not. Normally, only system bulletins� + are displayed in full, and only the subjects of the non-systema + bulletins are displayed. ( Some systems might have a lot of userso + who are not interested in reading the non-system bulletins, in + which case /READNEW should probably not be added. Instead, you could + let users enable this feature by entering the BULLETIN utility andh + typing the command SET READNEW ). (NOTE: Since /LOGIN and /READNEW + are system commands, they are not included in the help file). + +5) BULLSTART.COM + This procedure contains the commands that should be executed afterd + a system startup. It should be executed by SYS$MANAGER:SYSTARTUP.COM + as a batch job. It simply installs the BULLETIN utility with correct + privileges. + +6) BULLETIN.COMc + If one wants the feature of using BULLETIN between DECNET nodes,t + this file must be put in each node's DECNET default user's directoryA + (usually [DECNET]). Once this is done, the /NODE qualifer for the + ADD command can be used.i + NOTE: Presently, privileged functions such as /SYSTEM will worka + on other nodes only if you have an account on the other node with + the same username, and with appropriate privileges. You will bet + prompted for the password for the account on the remote node. However, + due to unknown reasons, the software I have to check the password will' + only work for passwords that have been set under V4.x. If the password + was created under V3.x, the program will not work, and you password wills + be treated as invalid.u diff --git a/decus/vax85c/bulletin/bboard.com b/decus/vax85c/bulletin/bboard.com index 72f4d007a50f5a3c5eab8bdb7ccf532c9e9ab11f..79f3e527a831c101756be137060c0af2d4eefd54 100644 --- a/decus/vax85c/bulletin/bboard.com +++ b/decus/vax85c/bulletin/bboard.com @@ -1,5 +1,5 @@ -�$ SET PROTECT=(W:RWED)/DEFAULT -�$ MAIL -�READ -�EXTRACT/ALL USRD$:[BBOARD]BBOARD.MAI -�DELETE/ALL +$ SET PROTECT=(W:RWED)/DEFAULT +$ MAIL +READ +EXTRACT/ALL USRD$:[BBOARD]BBOARD.MAI +DELETE/ALL diff --git a/decus/vax85c/bulletin/bullcom.cld b/decus/vax85c/bulletin/bullcom.cld index ffa9d7255f2f2716c0b57394f1cac6f4d0ba5238..0d0eebdbda3731d4e8a414ec115331a5a295ffba 100644 --- a/decus/vax85c/bulletin/bullcom.cld +++ b/decus/vax85c/bulletin/bullcom.cld @@ -1,36 +1,36 @@ -� MODULE BULLETIN_SUBCOMMANDS -� -� DEFINE VERB ADD -� PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE) -� QUALIFIER BELL -� QUALIFIER BROADCAST -� QUALIFIER EDIT -� QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST) -� QUALIFIER PASSWORD, LABEL=PASSWORD, VALUE(REQUIRED) -� QUALIFIER PERMANENT -� QUALIFIER SHUTDOWN -� QUALIFIER SYSTEM -� QUALIFIER USERNAME, LABEL=USERNAME, VALUE(REQUIRED) -� DEFINE VERB BACK -� DEFINE VERB DELETE -� PARAMETER P1, LABEL = BULLETIN_NUMBER, VALUE(TYPE=$FILE) -� DEFINE VERB DIRECTORY -� DEFINE VERB EXITA -� DEFINE VERB FILEE -� PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE,REQUIRED),C -� PROMPT="File" -� QUALIFIER HEADER, DEFAULTL -� DEFINE VERB HELPD -� PARAMETER P1, LABEL = HELP_TOPIC, VALUE(TYPE=$REST_OF_LINE) -� DEFINE VERB NEXTN -� DEFINE VERB READT -� PARAMETER P1, LABEL = BULLETIN_NUMBER, VALUE(TYPE=$NUMBER) -� DEFINE VERB REPLACE -� PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE)E -� QUALIFIER EXPIRATION -� QUALIFIER HEADER -� QUALIFIER NUMBER, VALUE(TYPE=$NUMBER,REQUIRED) -� QUALIFIER TEXT -� DEFINE VERB SET -� PARAMETER P1, LABEL = SET_PARAM1, VALUE(REQUIRED), -� PROMPT="What" + MODULE BULLETIN_SUBCOMMANDS + + DEFINE VERB ADD + PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE) + QUALIFIER BELL + QUALIFIER BROADCAST + QUALIFIER EDIT + QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST) + QUALIFIER PASSWORD, LABEL=PASSWORD, VALUE(REQUIRED) + QUALIFIER PERMANENT + QUALIFIER SHUTDOWN + QUALIFIER SYSTEM + QUALIFIER USERNAME, LABEL=USERNAME, VALUE(REQUIRED) + DEFINE VERB BACK + DEFINE VERB DELETE + PARAMETER P1, LABEL = BULLETIN_NUMBER, VALUE(TYPE=$FILE) + DEFINE VERB DIRECTORY + DEFINE VERB EXITA + DEFINE VERB FILEE + PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE,REQUIRED),C + PROMPT="File" + QUALIFIER HEADER, DEFAULTL + DEFINE VERB HELPD + PARAMETER P1, LABEL = HELP_TOPIC, VALUE(TYPE=$REST_OF_LINE) + DEFINE VERB NEXTN + DEFINE VERB READT + PARAMETER P1, LABEL = BULLETIN_NUMBER, VALUE(TYPE=$NUMBER) + DEFINE VERB REPLACE + PARAMETER P1, LABEL = FILESPEC, VALUE(TYPE=$FILE)E + QUALIFIER EXPIRATION + QUALIFIER HEADER + QUALIFIER NUMBER, VALUE(TYPE=$NUMBER,REQUIRED) + QUALIFIER TEXT + DEFINE VERB SET + PARAMETER P1, LABEL = SET_PARAM1, VALUE(REQUIRED), + PROMPT="What" diff --git a/decus/vax85c/bulletin/bullcoms.hlp b/decus/vax85c/bulletin/bullcoms.hlp index bb0de43dc519ce51df3e138d1259d304ffa4d31e..5c70d9bdb28e263f17a92513b8b0ddc20e3bce80 100644 --- a/decus/vax85c/bulletin/bullcoms.hlp +++ b/decus/vax85c/bulletin/bullcoms.hlp @@ -1,135 +1,135 @@ -�1 ADD -�Adds a bulletin to the bulletin file. A file can be specified which -�contains the bulletin. Otherwise, BULLETIN will prompt for the text. -�BULLETIN will ask for an expiration date and a header to contain the -�topic of the bulletin. -� -�Format -� ADD [file-name] -� -�All the qualifiers except for /EDIT and /NODES are restricted to users -�with SETPRV privileges. -�2 /BELL -�This option is restricted to privileged users. It is used in conjunction -�with the /BROADCAST qualifier. If specified, the bell is rung on the -�terminals when the bulletin is broadcasted.t -�2 /BROADCAST -�This option is restricted to privileged users. If specified, bulletin -�is both saved in the bulletin file and broadcasted to all users logged -�in at the time.f -�2 /EDIT -�Determines whether or not the EDT editor is invoked to edit the bulletin -�you are sending. -�2 /NODES=(nodes[,...]) -�Specifies to send the bulletin to other DECNET nodes. The BULLETIN utilityh -�must be installed properly on the other nodes. You will prompted for thel -�username to use at the other node. If you give a different username thanc -�that of the local node, or if privileged qualifiers are specified, you willi -�be prompted for the password of your account on the other nodes. At -�present, if the password is invalid, the bulletin will be rejected on then -�node, but no error message will be displayed on the local node that this -�happened. -�2 /PERMANENT -�This option is restricted to privileged users. If specified, bulletin -�will be a permanent bulletin and will never expire.r -�2 /SHUTDOWNg -�This option is restricted to privileged users. If specified, bulletin -�will be automatically deleted after a computer shutdown has occurred.o -�2 /SYSTEM -�This option is restricted to privileged users. If specified, bulletin -�is both saved in the bulletin file and displayed in full as a system -�notice when a user logs in. System notices should be as brief as possible -�to avoid the possibility that system notices could scroll off the screen. -�1 BACK -�Displays the bulletin preceding the current bulletin.r -�1 DELETE -�Deletes the specified bulletin. If no bulletin is specified, the currentf -�bulletin is deleted. Only the original owner or a privileged user can -�delete a bulletin. -� -�Format -� DELETE [bulletin-number] -� -�The bulletin's relative number is found by the DIRECTORY command. -�1 DIRECTORY -�Lists a summary of the bulletins. The bulletin number, submitter's name,a -�date, and subject of each bulletin is displayed. -�1 EXIT -�Exits the BULLETIN program.h -�1 FILE -�Copies the current bulletin to the named file. The file-name parameters -�is required, and consists of up to 9 alpha-numeric characters in length. -� -�Format:s -� FILE file-name -�2 /HEADER� -� -�/[NO]HEADER[ -� -�Controls whether a header containing the owner, subject, and date of the c -�bulletin is written in the file. The default is to write the header.i -�1 Bulletin -�The BULLETIN utility permits a user to create a bulletin for reading by -�all users. Users are notified upon logging in that new bulletins have -�been added, and what the topic of the bulletins are. Actual reading off -�the bulletins is optional. (See the command SET READNEW for info onE -�automatic reading.) Bulletins are automatically deleted when theirh -�expiration date has passed.j -� -�1 HELP -�To obtain help on any topic, type: -� -� HELP topic -�1 NEXT -�Skips to the next bulletin and displays it. This is useful when pagingt -�through the bulletins and you encounter a particularly long bulletin -�that you would like to skip over.n -�1 READ -�Displays the specified bulletin. If you do not specify a bulletin, then -�the first time you enter the command, the oldest bulletin will bee -�displayed. However, if there are new bulletins, the first new bulletin -�will be displayed. Each time you enter the command, the next page, or if -�there are no more pages, the next bulletin will be displayed. -� -�Format -� READ [bulletin-number] -� -�The bulletin's relative number is found by the DIRECTORY command.d -� -�Pressing just <RETURN> performs the same as the READ command.f -�1 REPLACEp -�Replaces an existing bulletin in the bulletin file. This is for changingl -�part or all of a bulletin without causing users who have already seen then -�bulletin to be notified of it a second time. If the text of the bulletin -�is to be changed, a file can be specified which contains the text. -�Otherwise, BULLETIN will prompt for the text. The expiration date and -�header can also be changed. If neither /EXPIRATION, /HEADER, nor /TEXTT -�are specified, it is assumed the whole bulletin will be replaced.s -� -�Format -� REPLACE [file-name]i -�2 /EXPIRATIONc -�Specifies that the bulletin expiration date is to be replaced. -�2 /HEADERe -�Specifies that the bulletin header is to be replaced.f -�2 /NUMBER=ne -�Specifies the bulletin number to be replaced. If this qualifier is -�omitted, the bulletin that is presently being read will be replaced. -�2 /TEXT -�Specifies that the bulletin text is to be replaced./ -�1 SETo -�Defines or changes characteristics associated with automatic reading -�of bulletins.m -� -�Format: -� -� SET option -�2 READNEWp -�Controls whether you will be prompted upon logging in if you wish to read -�new non-system bulletins (if any exist). The default is that you are notc -�prompted. (Previously this was done by including the BULLETIN/READNEW -�command in one's login command procedure). -� -� Format: -� -� SET [NO]READNEWt +1 ADD +Adds a bulletin to the bulletin file. A file can be specified which +contains the bulletin. Otherwise, BULLETIN will prompt for the text. +BULLETIN will ask for an expiration date and a header to contain the +topic of the bulletin. + +Format + ADD [file-name] + +All the qualifiers except for /EDIT and /NODES are restricted to users +with SETPRV privileges. +2 /BELL +This option is restricted to privileged users. It is used in conjunction +with the /BROADCAST qualifier. If specified, the bell is rung on the +terminals when the bulletin is broadcasted.t +2 /BROADCAST +This option is restricted to privileged users. If specified, bulletin +is both saved in the bulletin file and broadcasted to all users logged +in at the time.f +2 /EDIT +Determines whether or not the EDT editor is invoked to edit the bulletin +you are sending. +2 /NODES=(nodes[,...]) +Specifies to send the bulletin to other DECNET nodes. The BULLETIN utilityh +must be installed properly on the other nodes. You will prompted for thel +username to use at the other node. If you give a different username thanc +that of the local node, or if privileged qualifiers are specified, you willi +be prompted for the password of your account on the other nodes. At +present, if the password is invalid, the bulletin will be rejected on then +node, but no error message will be displayed on the local node that this +happened. +2 /PERMANENT +This option is restricted to privileged users. If specified, bulletin +will be a permanent bulletin and will never expire.r +2 /SHUTDOWNg +This option is restricted to privileged users. If specified, bulletin +will be automatically deleted after a computer shutdown has occurred.o +2 /SYSTEM +This option is restricted to privileged users. If specified, bulletin +is both saved in the bulletin file and displayed in full as a system +notice when a user logs in. System notices should be as brief as possible +to avoid the possibility that system notices could scroll off the screen. +1 BACK +Displays the bulletin preceding the current bulletin.r +1 DELETE +Deletes the specified bulletin. If no bulletin is specified, the currentf +bulletin is deleted. Only the original owner or a privileged user can +delete a bulletin. + +Format + DELETE [bulletin-number] + +The bulletin's relative number is found by the DIRECTORY command. +1 DIRECTORY +Lists a summary of the bulletins. The bulletin number, submitter's name,a +date, and subject of each bulletin is displayed. +1 EXIT +Exits the BULLETIN program.h +1 FILE +Copies the current bulletin to the named file. The file-name parameters +is required, and consists of up to 9 alpha-numeric characters in length. + +Format:s + FILE file-name +2 /HEADER� + +/[NO]HEADER[ + +Controls whether a header containing the owner, subject, and date of the c +bulletin is written in the file. The default is to write the header.i +1 Bulletin +The BULLETIN utility permits a user to create a bulletin for reading by +all users. Users are notified upon logging in that new bulletins have +been added, and what the topic of the bulletins are. Actual reading off +the bulletins is optional. (See the command SET READNEW for info onE +automatic reading.) Bulletins are automatically deleted when theirh +expiration date has passed.j + +1 HELP +To obtain help on any topic, type: + + HELP topic +1 NEXT +Skips to the next bulletin and displays it. This is useful when pagingt +through the bulletins and you encounter a particularly long bulletin +that you would like to skip over.n +1 READ +Displays the specified bulletin. If you do not specify a bulletin, then +the first time you enter the command, the oldest bulletin will bee +displayed. However, if there are new bulletins, the first new bulletin +will be displayed. Each time you enter the command, the next page, or if +there are no more pages, the next bulletin will be displayed. + +Format + READ [bulletin-number] + +The bulletin's relative number is found by the DIRECTORY command.d + +Pressing just <RETURN> performs the same as the READ command.f +1 REPLACEp +Replaces an existing bulletin in the bulletin file. This is for changingl +part or all of a bulletin without causing users who have already seen then +bulletin to be notified of it a second time. If the text of the bulletin +is to be changed, a file can be specified which contains the text. +Otherwise, BULLETIN will prompt for the text. The expiration date and +header can also be changed. If neither /EXPIRATION, /HEADER, nor /TEXTT +are specified, it is assumed the whole bulletin will be replaced.s + +Format + REPLACE [file-name]i +2 /EXPIRATIONc +Specifies that the bulletin expiration date is to be replaced. +2 /HEADERe +Specifies that the bulletin header is to be replaced.f +2 /NUMBER=ne +Specifies the bulletin number to be replaced. If this qualifier is +omitted, the bulletin that is presently being read will be replaced. +2 /TEXT +Specifies that the bulletin text is to be replaced./ +1 SETo +Defines or changes characteristics associated with automatic reading +of bulletins.m + +Format: + + SET option +2 READNEWp +Controls whether you will be prompted upon logging in if you wish to read +new non-system bulletins (if any exist). The default is that you are notc +prompted. (Previously this was done by including the BULLETIN/READNEW +command in one's login command procedure). + + Format: + + SET [NO]READNEWt diff --git a/decus/vax85c/bulletin/bulldir.inc b/decus/vax85c/bulletin/bulldir.inc index 318e660178745c79b7191e3a3e78bb4c83dea993..07fdc3340c2f3cf28bb939e185596e581bfe8342 100644 --- a/decus/vax85c/bulletin/bulldir.inc +++ b/decus/vax85c/bulletin/bulldir.inc @@ -1,8 +1,8 @@ -� COMMON /BULL_DIR/ DESCRIP,FROM,DATE,TIME,BLOCK,LENGTH,EXDATE -� & ,NEWEST_EXDATE,NEWEST_DATE,NEWEST_TIME,SYSTEM,NBULL,NBLOCK -� & ,SHUTDOWN,SHUTDOWN_DATE,SHUTDOWN_TIME -� CHARACTER*53 DESCRIP -� CHARACTER*12 FROM -� CHARACTER*11 DATE,EXDATE,NEWEST_EXDATE,NEWEST_DATE,SHUTDOWN_DATE -� CHARACTER*8 TIME,NEWEST_TIME,SHUTDOWN_TIME -� LOGICAL SYSTEM + COMMON /BULL_DIR/ DESCRIP,FROM,DATE,TIME,BLOCK,LENGTH,EXDATE + & ,NEWEST_EXDATE,NEWEST_DATE,NEWEST_TIME,SYSTEM,NBULL,NBLOCK + & ,SHUTDOWN,SHUTDOWN_DATE,SHUTDOWN_TIME + CHARACTER*53 DESCRIP + CHARACTER*12 FROM + CHARACTER*11 DATE,EXDATE,NEWEST_EXDATE,NEWEST_DATE,SHUTDOWN_DATE + CHARACTER*8 TIME,NEWEST_TIME,SHUTDOWN_TIME + LOGICAL SYSTEM diff --git a/decus/vax85c/bulletin/bulletin.com b/decus/vax85c/bulletin/bulletin.com index c20d3c5d0c2807e73c98113498c72559f9e5417e..441d743927f146b3ae8e838a97810995b049bc63 100644 --- a/decus/vax85c/bulletin/bulletin.com +++ b/decus/vax85c/bulletin/bulletin.com @@ -1,2 +1,2 @@ -�$ DEFINE SYS$INPUT SYS$NET -�$ BULLETIN +$ DEFINE SYS$INPUT SYS$NET +$ BULLETIN diff --git a/decus/vax85c/bulletin/bulletin.hlp b/decus/vax85c/bulletin/bulletin.hlp index b44e3351c77c755af5b67d897ff1ca824a824ab6..ed2eec9133640c3ba4cee576f8251ad7d1ffa916 100644 --- a/decus/vax85c/bulletin/bulletin.hlp +++ b/decus/vax85c/bulletin/bulletin.hlp @@ -1,17 +1,17 @@ -�1 BULLETIN -�Invokes the PFC BULLETIN Utility. This utility is used for reading, adding -�and deleting bulletins. Any user can submit a bulletin. Users are -�notified at login time that new bulletins have been added and the topics of -�those bulletins are displayed. Reading of those bulletins is optional. -�(Use the command SET READNEW while in BULLETIN for setting automatic -�reading.) Privileged users can add system bulletins that are displayed -�in full at login time. These bulletins are also saved, and can be read -�by BULLETIN. Bulletins are automatically deleted after a specifiede -�expiration date, or they can manually be deleted by either the submitter -�of the bulletin or a privileged user. -� -�BULLETIN has an interactive help available while using the utility.b -� -� Format: -� -� BULLETIN +1 BULLETIN +Invokes the PFC BULLETIN Utility. This utility is used for reading, adding +and deleting bulletins. Any user can submit a bulletin. Users are +notified at login time that new bulletins have been added and the topics of +those bulletins are displayed. Reading of those bulletins is optional. +(Use the command SET READNEW while in BULLETIN for setting automatic +reading.) Privileged users can add system bulletins that are displayed +in full at login time. These bulletins are also saved, and can be read +by BULLETIN. Bulletins are automatically deleted after a specifiede +expiration date, or they can manually be deleted by either the submitter +of the bulletin or a privileged user. + +BULLETIN has an interactive help available while using the utility.b + + Format: + + BULLETIN diff --git a/decus/vax85c/bulletin/bulletin.lnk b/decus/vax85c/bulletin/bulletin.lnk index 1069f295a6b1042cc67053c9c6e97293e41918e6..cb50532e94a2f479f9a30432ed729bca09c2a950 100644 --- a/decus/vax85c/bulletin/bulletin.lnk +++ b/decus/vax85c/bulletin/bulletin.lnk @@ -1,2 +1,2 @@ -�$ LINK/NOTRACE BULLETIN,HPWD,BULLSUBS,BULLCOM,BULLMAIN,CLIDEF,USEROPEN,SETUSER,SETUIC,- -�SYS$SYSTEM:SYS.STB/SEL +$ LINK/NOTRACE BULLETIN,HPWD,BULLSUBS,BULLCOM,BULLMAIN,CLIDEF,USEROPEN,SETUSER,SETUIC,- +SYS$SYSTEM:SYS.STB/SEL diff --git a/decus/vax85c/bulletin/bulletin.txt b/decus/vax85c/bulletin/bulletin.txt index d86a3fbf22a8a834a96030cff741102b3dd876f1..af5a714565207203800852308e470663326ff5d6 100644 --- a/decus/vax85c/bulletin/bulletin.txt +++ b/decus/vax85c/bulletin/bulletin.txt @@ -1,49 +1,49 @@ -�This file describes the general operation of the BULLETIN utility. -� -�BULLETIN uses 3 files to store its data: BULLETIN.DAT, BULLDIR.DAT, & -�BULLUSER.DAT. These files are opened with the shared attribute as much as -�possible to allow simultaneous operations on the files. However, when a -�bulletin is added or deleted, the file cannot be shared, as this might cause -�the file to be corrupted. Because of this problem, files are closed as soon as -�possible so that it may be quickly opened for adding and deleting files. e -�During read operations, the information is passed to temporary storage, thes -�file is closed, and then the information is sent to the terminal. This avoids at -�possible problem where the terminal output is stopped by the user, therefore -�delaying the closing of the file. Also, the use of CTRL-Y & CTRL-C is disablede -�while the file is opened to avoid lockout problems.c -� -�BULLETIN.DAT stores the actual bulletins in a fixed 80 character length file.k -�Bulletins are store sequentially datewise. New bulletins are appended to thet -�end of the file. When a bulletin is deleted, all the following bulletins arei -�moved up in the file to remove the gap, and the file is then truncated toi -�remove the unused space. u -� -�BULLDIR.DAT is a fixed record length file storing directory entries for each -�bulletin in BULLETIN.DAT. Each entry contains the header information, length,L -�and starting record position in BULLETIN.DAT. The first line of BULLDIR.DAT ist -�a header containing the date of the next expiration that will occur, the datef -�of the latest sumbitted bulletin, the number of bulletins, and the total size -�of BULLETIN.DAT. The last two numbers make it easier to add bulletins. Thet -�directory entries then follow, again stored sequentially datewise. r -� -�NOTE: There are several advantages to keeping a seperate directory file versus -�storing the header information with the actual bulletin. Obviously, it avoids -�having to scan through a large bulletin file just to extract headert -�information. This operation is done when a DIRECTORY listing is requested inu -�BULLETIN. More importantly when a login occurs, non-system bulletins just -�require that the header information be displayed. Having a file with pointers -�to where the bulletin is stored also avoids requiring the software to read all -�the previous bulletins in order to arrive at the desired bulletin. The main -�disadvantage is the extra time spent on locating the second file. This time -�appears to be minimal. In all the software, the convention is to open theI -�directory file first, and then if needed to open the bulletin file. Wheno -�adding and delete files, this becomes important, as files are opened unshared. d -�A deadlock might occur if one user opens the bulletin file first while another -�user opens the directory file, and then each try to open the alternate file. -� -�BULLUSER.DAT is a relative indexed file, where the keyword is the username ofe -�the user. Each entry contains the latest time that the user logged in, plus -�the latest time that the BULLETIN utility was used to read bulletins. A headere -�entry with a blank username stores the latest bulletin date. The information -�in this file is used for checking to see if the user should be alerted to newf -�bulletins or not.� +This file describes the general operation of the BULLETIN utility. + +BULLETIN uses 3 files to store its data: BULLETIN.DAT, BULLDIR.DAT, & +BULLUSER.DAT. These files are opened with the shared attribute as much as +possible to allow simultaneous operations on the files. However, when a +bulletin is added or deleted, the file cannot be shared, as this might cause +the file to be corrupted. Because of this problem, files are closed as soon as +possible so that it may be quickly opened for adding and deleting files. e +During read operations, the information is passed to temporary storage, thes +file is closed, and then the information is sent to the terminal. This avoids at +possible problem where the terminal output is stopped by the user, therefore +delaying the closing of the file. Also, the use of CTRL-Y & CTRL-C is disablede +while the file is opened to avoid lockout problems.c + +BULLETIN.DAT stores the actual bulletins in a fixed 80 character length file.k +Bulletins are store sequentially datewise. New bulletins are appended to thet +end of the file. When a bulletin is deleted, all the following bulletins arei +moved up in the file to remove the gap, and the file is then truncated toi +remove the unused space. u + +BULLDIR.DAT is a fixed record length file storing directory entries for each +bulletin in BULLETIN.DAT. Each entry contains the header information, length,L +and starting record position in BULLETIN.DAT. The first line of BULLDIR.DAT ist +a header containing the date of the next expiration that will occur, the datef +of the latest sumbitted bulletin, the number of bulletins, and the total size +of BULLETIN.DAT. The last two numbers make it easier to add bulletins. Thet +directory entries then follow, again stored sequentially datewise. r + +NOTE: There are several advantages to keeping a seperate directory file versus +storing the header information with the actual bulletin. Obviously, it avoids +having to scan through a large bulletin file just to extract headert +information. This operation is done when a DIRECTORY listing is requested inu +BULLETIN. More importantly when a login occurs, non-system bulletins just +require that the header information be displayed. Having a file with pointers +to where the bulletin is stored also avoids requiring the software to read all +the previous bulletins in order to arrive at the desired bulletin. The main +disadvantage is the extra time spent on locating the second file. This time +appears to be minimal. In all the software, the convention is to open theI +directory file first, and then if needed to open the bulletin file. Wheno +adding and delete files, this becomes important, as files are opened unshared. d +A deadlock might occur if one user opens the bulletin file first while another +user opens the directory file, and then each try to open the alternate file. + +BULLUSER.DAT is a relative indexed file, where the keyword is the username ofe +the user. Each entry contains the latest time that the user logged in, plus +the latest time that the BULLETIN utility was used to read bulletins. A headere +entry with a blank username stores the latest bulletin date. The information +in this file is used for checking to see if the user should be alerted to newf +bulletins or not.� diff --git a/decus/vax85c/bulletin/bullfiles.inc b/decus/vax85c/bulletin/bullfiles.inc index 3fb348aa3f0c6ca8a452363dc999fd2c33aad6fd..ff0afb80789887dfc8a523d1965c433f6dbbf2b7 100644 --- a/decus/vax85c/bulletin/bullfiles.inc +++ b/decus/vax85c/bulletin/bullfiles.inc @@ -1,27 +1,27 @@ -�C -�C THE FIRST 3 FILES ARE FILES CREATED AND USED BY BULLETIN. -�C SEE BULLETIN.TXT FOR MORE INFORMATION. SPECIFY THE DEVICE/DIRECTORY -�C IN WHICH YOU DESIRE THAT THEY BE KEPT. THE FOURTH FILE IS SIMPLY -�C THE MAIL FILE FROM WHICH MESSAGES ARE CONVERTED TO NON-SYSTEM -�C BULLETINS (AFTER WHICH THE MAIL IS DELETED.) IF YOU DO NOT WISH -�C THE BBOARD OPTION, CHANGE THE DEFINITION FOR BBOARD TO BE: /'NONE'/. -�C IF IT IS NOT SELECTED, YOU DO NOT HAVE TO MODIFY THE REST OF THE -�C BBOARD VARIABLES. IF IT IS SELECTED, YOU MUST SPECIFY THE UICB -�C NUMBER OF THE BBOARD ACCOUNT. YOU MUST ALSO SPECIFY BBOARD_FILE, -�C WHICH IS A TEMPORARY FILE WHICH IS USED TO CONVERT THE BBOARD MAILI -�C TO A SEQUENTIAL FILE. -�C -� COMMON /FILES/ BULLDIR_FILE,BULLETIN_FILE,BULLUSER_FILE,BBOARD_USER -� COMMON /FILES/ BBOARD_UIC,BBOARD_FILE,BBOARD_COMMANDR -� CHARACTER*80 BULLDIR_FILE /'IML$EXE:BULLDIR.DAT'/ -� CHARACTER*80 BULLETIN_FILE /'IML$EXE:BULLETIN.DAT'/ -� CHARACTER*80 BULLUSER_FILE /'IML$EXE:BULLUSER.DAT'/ -� CHARACTER*12 BBOARD_USER /'BBOARD'/,BBOARD_UIC/'[330,5]'/ -� CHARACTER*80 BBOARD_FILE/'USRD$:[BBOARD]BBOARD.MAI'/H -�C -�C THE BBOARD.COM IS INCLUDED WITH THE SOURCES AND IS USED IF THE BBOARD -�C FEATURE IS DESIRED. IT IS NOT CREATED, SO YOU MUST MOVE IT TO THEE -�C DESIRED DIRECTORY. YOU MUST ALSO EDIT IT SO THAT THE FILE SPECIFIEDC -�C IN THE 'EXTRACT' LINE MATCHES THE FILE SPECIFIED BY BBOARD_FILE.T -�CL -� CHARACTER*80 BBOARD_COMMAND/'IML$EXE:BBOARD.COM'/ +C +C THE FIRST 3 FILES ARE FILES CREATED AND USED BY BULLETIN. +C SEE BULLETIN.TXT FOR MORE INFORMATION. SPECIFY THE DEVICE/DIRECTORY +C IN WHICH YOU DESIRE THAT THEY BE KEPT. THE FOURTH FILE IS SIMPLY +C THE MAIL FILE FROM WHICH MESSAGES ARE CONVERTED TO NON-SYSTEM +C BULLETINS (AFTER WHICH THE MAIL IS DELETED.) IF YOU DO NOT WISH +C THE BBOARD OPTION, CHANGE THE DEFINITION FOR BBOARD TO BE: /'NONE'/. +C IF IT IS NOT SELECTED, YOU DO NOT HAVE TO MODIFY THE REST OF THE +C BBOARD VARIABLES. IF IT IS SELECTED, YOU MUST SPECIFY THE UICB +C NUMBER OF THE BBOARD ACCOUNT. YOU MUST ALSO SPECIFY BBOARD_FILE, +C WHICH IS A TEMPORARY FILE WHICH IS USED TO CONVERT THE BBOARD MAILI +C TO A SEQUENTIAL FILE. +C + COMMON /FILES/ BULLDIR_FILE,BULLETIN_FILE,BULLUSER_FILE,BBOARD_USER + COMMON /FILES/ BBOARD_UIC,BBOARD_FILE,BBOARD_COMMANDR + CHARACTER*80 BULLDIR_FILE /'IML$EXE:BULLDIR.DAT'/ + CHARACTER*80 BULLETIN_FILE /'IML$EXE:BULLETIN.DAT'/ + CHARACTER*80 BULLUSER_FILE /'IML$EXE:BULLUSER.DAT'/ + CHARACTER*12 BBOARD_USER /'BBOARD'/,BBOARD_UIC/'[330,5]'/ + CHARACTER*80 BBOARD_FILE/'USRD$:[BBOARD]BBOARD.MAI'/H +C +C THE BBOARD.COM IS INCLUDED WITH THE SOURCES AND IS USED IF THE BBOARD +C FEATURE IS DESIRED. IT IS NOT CREATED, SO YOU MUST MOVE IT TO THEE +C DESIRED DIRECTORY. YOU MUST ALSO EDIT IT SO THAT THE FILE SPECIFIEDC +C IN THE 'EXTRACT' LINE MATCHES THE FILE SPECIFIED BY BBOARD_FILE.T +CL + CHARACTER*80 BBOARD_COMMAND/'IML$EXE:BBOARD.COM'/ diff --git a/decus/vax85c/bulletin/bullflag.inc b/decus/vax85c/bulletin/bullflag.inc index 4196f63c7276bd07a87899d1062e6cff29c5c4c0..2061d8d2a0070464107a73b502a9bd525aabda70 100644 --- a/decus/vax85c/bulletin/bullflag.inc +++ b/decus/vax85c/bulletin/bullflag.inc @@ -1,23 +1,23 @@ -� PARAMETER ADD_FLAG = '1'X -� PARAMETER BACK_FLAG = '2'X -� PARAMETER DELETE_FLAG = '4'X -� PARAMETER DIRECTORY_FLAG = '8'X -� PARAMETER EXIT_FLAG = '10'X -� PARAMETER FILE_FLAG = '20'X -� PARAMETER HELP_FLAG = '40'X -� PARAMETER NEXT_FLAG = '80'X -� PARAMETER READ_FLAG = '100'X -� PARAMETER SYSTEM_FLAG = '200'X -� PARAMETER BROADCAST_FLAG = '400'X -� PARAMETER BADSWITCH_FLAG = '800'X -� PARAMETER REPLACE_FLAG = '1000'X -� PARAMETER EXPIRE_FLAG = '2000'X -� PARAMETER HEADER_FLAG = '4000'X -� PARAMETER TEXT_FLAG = '8000'X -� PARAMETER NUMBER_FLAG = '10000'XR -� PARAMETER SHUTDOWN_FLAG = '20000'XC -� PARAMETER PERMANENT_FLAG = '40000'X -� -� COMMON /BULLPAR/ FLAGS,BULL_PARAMETER,LEN_P,NUMBER_PARAM= -� CHARACTER*64 BULL_PARAMETER -� INTEGER FLAGS + PARAMETER ADD_FLAG = '1'X + PARAMETER BACK_FLAG = '2'X + PARAMETER DELETE_FLAG = '4'X + PARAMETER DIRECTORY_FLAG = '8'X + PARAMETER EXIT_FLAG = '10'X + PARAMETER FILE_FLAG = '20'X + PARAMETER HELP_FLAG = '40'X + PARAMETER NEXT_FLAG = '80'X + PARAMETER READ_FLAG = '100'X + PARAMETER SYSTEM_FLAG = '200'X + PARAMETER BROADCAST_FLAG = '400'X + PARAMETER BADSWITCH_FLAG = '800'X + PARAMETER REPLACE_FLAG = '1000'X + PARAMETER EXPIRE_FLAG = '2000'X + PARAMETER HEADER_FLAG = '4000'X + PARAMETER TEXT_FLAG = '8000'X + PARAMETER NUMBER_FLAG = '10000'XR + PARAMETER SHUTDOWN_FLAG = '20000'XC + PARAMETER PERMANENT_FLAG = '40000'X + + COMMON /BULLPAR/ FLAGS,BULL_PARAMETER,LEN_P,NUMBER_PARAM= + CHARACTER*64 BULL_PARAMETER + INTEGER FLAGS diff --git a/decus/vax85c/bulletin/bullmain.cld b/decus/vax85c/bulletin/bullmain.cld index 9907bde6f8c70ab99279da3539d5bd31ed608e4b..c2e8f2283fbef91113f81e56287dfc55b254aa2a 100644 --- a/decus/vax85c/bulletin/bullmain.cld +++ b/decus/vax85c/bulletin/bullmain.cld @@ -1,4 +1,4 @@ -� MODULE BULLETIN_MAINCOMMANDS -� DEFINE VERB BULLETIN -� QUALIFIER READNEW -� QUALIFIER LOGIN + MODULE BULLETIN_MAINCOMMANDS + DEFINE VERB BULLETIN + QUALIFIER READNEW + QUALIFIER LOGIN diff --git a/decus/vax85c/bulletin/bullstart.com b/decus/vax85c/bulletin/bullstart.com index d2a039cb2c060b05aa7c5cd3134c4a78de142908..c7aa49ab0cef3ba6e6fd0368460adf83d1788a30 100644 --- a/decus/vax85c/bulletin/bullstart.com +++ b/decus/vax85c/bulletin/bullstart.com @@ -1,3 +1,3 @@ -�$ RUN SYS$SYSTEM:INSTALL -�SYS$SYSTEM:BULLETIN/SHARE/OPEN/HEAD/PRIV=(OPER,SYSPRV,CMKRNL) -�/EXIT +$ RUN SYS$SYSTEM:INSTALL +SYS$SYSTEM:BULLETIN/SHARE/OPEN/HEAD/PRIV=(OPER,SYSPRV,CMKRNL) +/EXIT diff --git a/decus/vax85c/bulletin/bulluser.inc b/decus/vax85c/bulletin/bulluser.inc index e24f544ab6ef52cc3d5e61aeffb66b6b2bf8d6fb..b166728ee229ba7981deb5d3a5a2c8883f9b94fc 100644 --- a/decus/vax85c/bulletin/bulluser.inc +++ b/decus/vax85c/bulletin/bulluser.inc @@ -1,8 +1,8 @@ -� -� COMMON /BULL_USER/ USERNAME,LOGIN_DATE,LOGIN_TIME,READ_DATE, -� & READ_TIME,FLAGS -� CHARACTER*12 USERNAME -� CHARACTER*11 LOGIN_DATE,READ_DATE -� CHARACTER*8 LOGIN_TIME,READ_TIME -� DIMENSION FLAGS(2) -� + + COMMON /BULL_USER/ USERNAME,LOGIN_DATE,LOGIN_TIME,READ_DATE, + & READ_TIME,FLAGS + CHARACTER*12 USERNAME + CHARACTER*11 LOGIN_DATE,READ_DATE + CHARACTER*8 LOGIN_TIME,READ_TIME + DIMENSION FLAGS(2) + diff --git a/decus/vax85c/bulletin/create.com b/decus/vax85c/bulletin/create.com index c09b9ad8719f5cb59b199c81ca0694e35cb3bf16..cc1e7e7f494deda73d889ab9891d5609d042e30f 100644 --- a/decus/vax85c/bulletin/create.com +++ b/decus/vax85c/bulletin/create.com @@ -1,10 +1,10 @@ -�$ FORTRAN BULLETIN -�$ FORTRAN BULLSUBS -�$ MAC CLIDEF -�$ MAC HPWD -�$ MAC SETUIC -�$ MAC SETUSER -�$ MAC USEROPEN -�$ SET COMMAND/OBJ BULLCOM -�$ SET COMMAND/OBJ BULLMAIN -�$ @BULLETIN.LNK +$ FORTRAN BULLETIN +$ FORTRAN BULLSUBS +$ MAC CLIDEF +$ MAC HPWD +$ MAC SETUIC +$ MAC SETUSER +$ MAC USEROPEN +$ SET COMMAND/OBJ BULLCOM +$ SET COMMAND/OBJ BULLMAIN +$ @BULLETIN.LNK diff --git a/decus/vax85c/bulletin/install.com b/decus/vax85c/bulletin/install.com index 4fccc9875591b95994e96bee76baf15572cb999f..958e066e791e82de4205327168d8ea750a979b56 100644 --- a/decus/vax85c/bulletin/install.com +++ b/decus/vax85c/bulletin/install.com @@ -1,8 +1,8 @@ -�$ COPY BULLETIN.EXE SYS$SYSTEM: -�$ SET FILE SYS$SYSTEM:BULLETIN.EXE/OWN=[1,4] -�$ RUN SYS$SYSTEM:INSTALL -�SYS$SYSTEM:BULLETIN/SHARE/OPEN/HEAD/PRIV=(OPER,SYSPRV,CMKRNL) -�/EXIT -�$ LIB/CREATE/HELP SYS$HELP:BULL -�$ LIB/HELP SYS$HELP:BULL BULLCOMS -�$ LIB/HELP SYS$HELP:HELPLIB BULLETIN +$ COPY BULLETIN.EXE SYS$SYSTEM: +$ SET FILE SYS$SYSTEM:BULLETIN.EXE/OWN=[1,4] +$ RUN SYS$SYSTEM:INSTALL +SYS$SYSTEM:BULLETIN/SHARE/OPEN/HEAD/PRIV=(OPER,SYSPRV,CMKRNL) +/EXIT +$ LIB/CREATE/HELP SYS$HELP:BULL +$ LIB/HELP SYS$HELP:BULL BULLCOMS +$ LIB/HELP SYS$HELP:HELPLIB BULLETIN diff --git a/decus/vax85c/bulletin/instruct.txt b/decus/vax85c/bulletin/instruct.txt index 85bcbcdcf8371dc49a7905776767fef5292cdb93..3d06352cfa64749402c7e719b1e1b1cd536ebaee 100644 --- a/decus/vax85c/bulletin/instruct.txt +++ b/decus/vax85c/bulletin/instruct.txt @@ -1,6 +1,6 @@ -�This message is being displayed by the BULLETIN facility. This is a non-DEC -�facility, so it is not described in the manuals. System messages, such as this -�one, are displayed in full. Only topics will be displayed for non-system -�messages. Messages are submitted using the BULLETIN command. Any user may -�submit a non-system message. Only privileged users can submit a system -�message. For more information, see the on-line help (via HELP BULLETIN). +This message is being displayed by the BULLETIN facility. This is a non-DEC +facility, so it is not described in the manuals. System messages, such as this +one, are displayed in full. Only topics will be displayed for non-system +messages. Messages are submitted using the BULLETIN command. Any user may +submit a non-system message. Only privileged users can submit a system +message. For more information, see the on-line help (via HELP BULLETIN). diff --git a/decus/vax85c/bulletin/startup.com b/decus/vax85c/bulletin/startup.com index bfac157aad80fce21fd717e342a5cf344c3918b1..37231d26f0e36e2295018072c983c76bd99c36b9 100644 --- a/decus/vax85c/bulletin/startup.com +++ b/decus/vax85c/bulletin/startup.com @@ -1,10 +1,10 @@ -�$ UIC := 'F$GETJPI("","UIC") -�$ SET UIC [1,4] -�$ SET PROTECT=(SYSTEM:RWE,OWNER:RWE,WORLD,GROUP)/DEFAULT -�$ RUN BULLETIN -�ADD/PERMANENT/SYSTEM INSTRUCT.TXT -�INFORMATION ON HOW TO USE THE BULLETIN UTILITY. -�EXIT -�$ SET UIC 'UIC' -�$ DEFAULT := 'F$FILE("SYS$LOGIN:LOGIN.COM","PRO") -�$ SET PROTECT=('DEFAULT')/DEFAULT +$ UIC := 'F$GETJPI("","UIC") +$ SET UIC [1,4] +$ SET PROTECT=(SYSTEM:RWE,OWNER:RWE,WORLD,GROUP)/DEFAULT +$ RUN BULLETIN +ADD/PERMANENT/SYSTEM INSTRUCT.TXT +INFORMATION ON HOW TO USE THE BULLETIN UTILITY. +EXIT +$ SET UIC 'UIC' +$ DEFAULT := 'F$FILE("SYS$LOGIN:LOGIN.COM","PRO") +$ SET PROTECT=('DEFAULT')/DEFAULT diff --git a/decus/vax92a/bulletin/extract_tlb.com b/decus/vax92a/bulletin/extract_tlb.com index a56846984759efb497eeb9f50bdfac491fbcf553..376e1b469d29049c6e16062bbd2cd155497126e5 100644 --- a/decus/vax92a/bulletin/extract_tlb.com +++ b/decus/vax92a/bulletin/extract_tlb.com @@ -1,75 +1,75 @@ -�$ ! The following lines comprise the command file EXTRACT_TLB.COM -�$ ! -�$ wo := "WRITE SYS$OUTPUT " -�$ ! -�$ ! Get the library name, either from the command line, or from the -�$ ! user. Append a ".TLB" if not already there. -�$ ! -�$ Lib_Name = p1 -�$get_Lib_Name: -�$ If Lib_Name .eqs. "" then inquire Lib_Name "Name for .TLB file" -�$ If Lib_Name .eqs. "" then Goto get_Lib_Name -�$ Lib_Name = f$Parse(Lib_Name, ".TLB") -�$ ! -�$ ! List out the contents of the library and start looking thru it for -�$ ! some files to extract out of it. -�$ !O -�$ Library/Text/List=Contents.Lis 'Lib_Name' -�$ Open/Read File Contents.Lisi -�$read_next:o -�$ read/end=finished file this_file -�$ ! -�$ ! First, try looking for a '^'. If we found one, then this is a variable� -�$ ! record file. Just replace the '^' with a '.' to make a legal filename -�$ ! and extract it -�$ !L -�$ file_name = f$element (0,"^",this_file)T -�$ If file_name .eqs. this_file then Goto try_fixed -�$ file_type = f$element (1,"^",this_file)f -�$ If file_type .eqs. "^" then file_type = "" -�$ file_out = file_name + "." + file_type -�$ wo "Extracting: " + File_Out + " (variable)" -�$ Library/Text/Extract='This_file'/Output='File_out' 'Lib_Name'a -�$ Goto read_next -�$ !n -�$ ! Next, let's see if there's a '#' in the module name. If so, then -�$ ! the first element of the module name is the filename, the second -�$ ! is the filetype, and the third is the record lengthi -�$ ! -�$try_fixed: -�$ file_name = f$element (0,"#",this_file) -�$ If file_name .eqs. this_file then Goto read_next -�$ file_type = f$element (1,"#",this_file)" -�$ If file_type .eqs. "#" then file_type = "" -�$ file_out = file_name + "." + file_type -�$ Rec_Size = f$element (2, "#", this_file)� -�$ wo "Extracting: " + file_out + " (fixed, ''rec_size')" -�$ Library/Text/Extract='This_file'/Output='File_out' 'Lib_Name'a -�$ ! -�$ ! Build a .FDL file, so that we can convert the variable record file thatt -�$ ! the librarian created back to a fixed record file -�$ !f -�$ Open/Write List Extract_Tlb.FDLa -�$ Write List "RECORD"$ -�$ Write List " Carriage_Control None". -�$ Write List " Format Fixed" -�$ Write List " Size " + f$String(Rec_Size) -�$ Close list -�$ ! -�$ ! Convert the variable record file to a fixed file, and clean up by' -�$ ! deleting the .FDL and the variable record file.F -�$ !, -�$ Convert/FDL=Extract_Tlb.FDL 'File_Out' 'File_Out' -�$ Delete 'File_out';-1 -�$ Delete Extract_TLB.FDL; -�$ Goto Read_Next -�$ !s -�$ ! OK, Now clean up by deleting the contents listing, and ourself.e -�$ ! Since EXTRACT_TLB will be in the list of files to extract from the -�$ ! library, so there's no need to keep two copies, eh?S -�$ !� -�$finished: -�$ close file -�$ Delete Contents.Lis; -�$ Delete 'f$Environment("PROCEDURE")'� -�$ EXIT +$ ! The following lines comprise the command file EXTRACT_TLB.COM +$ ! +$ wo := "WRITE SYS$OUTPUT " +$ ! +$ ! Get the library name, either from the command line, or from the +$ ! user. Append a ".TLB" if not already there. +$ ! +$ Lib_Name = p1 +$get_Lib_Name: +$ If Lib_Name .eqs. "" then inquire Lib_Name "Name for .TLB file" +$ If Lib_Name .eqs. "" then Goto get_Lib_Name +$ Lib_Name = f$Parse(Lib_Name, ".TLB") +$ ! +$ ! List out the contents of the library and start looking thru it for +$ ! some files to extract out of it. +$ !O +$ Library/Text/List=Contents.Lis 'Lib_Name' +$ Open/Read File Contents.Lisi +$read_next:o +$ read/end=finished file this_file +$ ! +$ ! First, try looking for a '^'. If we found one, then this is a variable� +$ ! record file. Just replace the '^' with a '.' to make a legal filename +$ ! and extract it +$ !L +$ file_name = f$element (0,"^",this_file)T +$ If file_name .eqs. this_file then Goto try_fixed +$ file_type = f$element (1,"^",this_file)f +$ If file_type .eqs. "^" then file_type = "" +$ file_out = file_name + "." + file_type +$ wo "Extracting: " + File_Out + " (variable)" +$ Library/Text/Extract='This_file'/Output='File_out' 'Lib_Name'a +$ Goto read_next +$ !n +$ ! Next, let's see if there's a '#' in the module name. If so, then +$ ! the first element of the module name is the filename, the second +$ ! is the filetype, and the third is the record lengthi +$ ! +$try_fixed: +$ file_name = f$element (0,"#",this_file) +$ If file_name .eqs. this_file then Goto read_next +$ file_type = f$element (1,"#",this_file)" +$ If file_type .eqs. "#" then file_type = "" +$ file_out = file_name + "." + file_type +$ Rec_Size = f$element (2, "#", this_file)� +$ wo "Extracting: " + file_out + " (fixed, ''rec_size')" +$ Library/Text/Extract='This_file'/Output='File_out' 'Lib_Name'a +$ ! +$ ! Build a .FDL file, so that we can convert the variable record file thatt +$ ! the librarian created back to a fixed record file +$ !f +$ Open/Write List Extract_Tlb.FDLa +$ Write List "RECORD"$ +$ Write List " Carriage_Control None". +$ Write List " Format Fixed" +$ Write List " Size " + f$String(Rec_Size) +$ Close list +$ ! +$ ! Convert the variable record file to a fixed file, and clean up by' +$ ! deleting the .FDL and the variable record file.F +$ !, +$ Convert/FDL=Extract_Tlb.FDL 'File_Out' 'File_Out' +$ Delete 'File_out';-1 +$ Delete Extract_TLB.FDL; +$ Goto Read_Next +$ !s +$ ! OK, Now clean up by deleting the contents listing, and ourself.e +$ ! Since EXTRACT_TLB will be in the list of files to extract from the +$ ! library, so there's no need to keep two copies, eh?S +$ !� +$finished: +$ close file +$ Delete Contents.Lis; +$ Delete 'f$Environment("PROCEDURE")'� +$ EXIT