1.$SHOW SERVICES
Service Name [Service Class] Device or File
-------------------- --------------- --------------
BASELEVEL_A [ODS-2] _INFOS$LDA1:
BASELEVEL_B [ODS-2] _INFOS$LDA2:
BASELEVEL_C [ODS-2] _INFOS$LDA3:
BASELEVEL_D [ODS-2] _INFOS$LDA4:
FIELD_TEST_BASELEVEL [ODS-2] _INFOS$LDA2:
CURRENT_BASELEVEL [ODS-2] _INFOS$LDA3:
EXPERIMENTAL_BASELEVEL
[ODS-2] _INFOS$LDA4:
%INFOSRVR-I-FOUND, 7 services found.
The SHOW SERVICES command in this example displays the services
that are currently offered by the server. There is a set of
software baselevels, each on its own logical disk and served
to the LAN. The baselevels are labeled a through d, but, in
addition, names help users so that they do not need to remember
the corresponding letters.
Note that devices LDA2, LDA3, and LDA4 have two services
assigned to each one.
2.$SAVE BASELEVELS
The following example has been annotated. The individual
numbers that appear in the example correspond to the
numbered explanations that follow the example.
$! Created by the OpenVMS InfoServer SAVE command on 22-APR-2005
14:34:02.48
$ Set NoOn
$ Infoserver := $ESS$INFOSERVER
$!
$! The comment for each service includes the current device name.
$!
$!***************************************************************
$! BASELEVEL_A [ODS_2] - _BILBO$LDA1: 1
$!***************************************************************
$ LD Connect/Symbol _BILBO$DKB0:[DISKS]BASELEVEL_A.DSK;1 2
$ LD_UNIT_1 := LDA'LD_UNIT': 3
$ If $STATUS Then Mount/System/NoWrite 'LD_UNIT_1' BASELEVELA 4
$ INFOSERVER Create Service BASELEVEL_A 'LD_UNIT_1' - 5
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic
$!***************************************************************
$! BASELEVEL_B [ODS_2] - _BILBO$LDA2:
$!***************************************************************
$ LD Connect/Symbol _BILBO$DKB0:[DISKS]BASELEVEL_B.DSK;1
$ LD_UNIT_2 := LDA'LD_UNIT':
$ If $STATUS Then Mount/System/NoWrite 'LD_UNIT_2' BASELEVELB
$ INFOSERVER Create Service BASELEVEL_B 'LD_UNIT_2' -
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic
$!***************************************************************
$! BASELEVEL_C [ODS_2] - _BILBO$LDA3:
$!***************************************************************
$ LD Connect/Symbol _BILBO$DKB0:[DISKS]BASELEVEL_C.DSK;1
$ LD_UNIT_3 := LDA'LD_UNIT':
$ If $STATUS Then Mount/System/NoWrite 'LD_UNIT_3' BASELEVELC
$ INFOSERVER Create Service BASELEVEL_C 'LD_UNIT_3' -
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic
$!***************************************************************
$! BASELEVEL_D [ODS_2] - _BILBO$LDA4:
$!***************************************************************
$ LD Connect/Symbol _BILBO$DKB0:[DISKS]BASELEVEL_D.DSK;1
$ LD_UNIT_4 := LDA'LD_UNIT':
$ If $STATUS Then Mount/System/NoWrite 'LD_UNIT_4' BASELEVELD
$ INFOSERVER Create Service BASELEVEL_D 'LD_UNIT_4' -
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic -
/Encoded_Password=481C6B9081E742C2
! Invalid if service name changes 6
$!***************************************************************
$! FIELD_TEST_BASELEVEL [ODS_2] - _BILBO$LDA2:
$!***************************************************************
$ INFOSERVER Create Service FIELD_TEST_BASELEVEL 'LD_UNIT_2' - 7
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic
$!***************************************************************
$ INFOSERVER Create Service CURRENT_BASELEVEL 'LD_UNIT_3' -
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic
$!***************************************************************
$! EXPERIMENTAL_BASELEVEL [ODS_2] - _BILBO$LDA4:
$!***************************************************************
$ INFOSERVER Create Service EXPERIMENTAL_BASELEVEL 'LD_UNIT_4' -
/Class=ODS_2/Readers=1000/NoWriters -
/Readahead/NoReadbehind -
/Rating=Dynamic -
/Encoded_Password=01F1D7374C0B81EC
! Invalid if service name changes 8
$ Exit
The numbers in the example correspond to the numbers of the
following explanations.
1 The comment for each device contains the name of the device
at the time the SAVE command was executed. LD devices are
pseudo disk devices and might change unit numbers every time
they are connected.
2 This command connects an LD device to the container file and
assigns the unit number to the DCL symbol LD_UNIT.
3 A unique symbol is created for each device assigned to a
container file.
4 This command mounts the device specifying the label of the
volume that the device had at the time of the SAVE command.
5 The InfoServer service is recreated for the device.
6 The experimental baselevel services are password-protected.
For security, the password is stored in the command
procedure in pre-hashed format. Note that both services
have the same password, but the hash is different.
7 Because FIELD_TEST_BASELEVEL and BASELEVEL_B point to the
same LD device, no attempt is made to create another device,
and the correct unit (symbol LD_UNIT_2) is used to refer to
the previously created unit.
8 See #6.