[comp.os.vms] "$" in Logicals

ZSYJKAA@WYOCDC1.BITNET (Jim Kirkpatrick 307 766-5303) (07/06/88)

I have heard here, and elsewhere, that dollar signs ($) are "reserved"
by digital for their own use in logicals.  Nevertheless our system
managers have named our disks "PRODUCT$DISK" and such.  Could somebody
clarify exactly WHERE DEC states this policy (e.g. in 4.6 release notes
page blah-blah paragraph 87...) so I can go look it up.  Also, do device
names qualify as logicals, and/or just what does the restriction cover?

carl@CITHEX.CALTECH.EDU (Carl J Lydick) (07/08/88)

 > I have heard here, and elsewhere, that dollar signs ($) are "reserved"
 > by digital for their own use in logicals.  Nevertheless our system
 > managers have named our disks "PRODUCT$DISK" and such.  Could somebody
 > clarify exactly WHERE DEC states this policy (e.g. in 4.6 release notes
 > page blah-blah paragraph 87...) so I can go look it up.  Also, do device
 > names qualify as logicals, and/or just what does the restriction cover?

I don't recall where in the documentation this is mentioned, but somewhere  in
there DEC does advise against using "$" in logical names.  The reason for this
is simple:  when DEC adds new functionality to VMS, it often  results  in  new
sets  of logical names (for example, when they expanded the concept of logical
name tables to include more than just PROCESS, GROUP, and SYSTEM tables,  they
introduced  a  set  of logical names of the form LNM$*), and to avoid possible
conflicts, DEC uses a "$" in all such logical names.  If you don't use  a  "$"
in  locally  defined logically names, you won't be unpleasantly surprised by a
conflict in the next release of some DEC product.

I don't see why your managers have chosen to invert the default logical naming
scheme  for  disks.   A  disk with label LABEL will have associated with it by
default the logical name DISK$LABEL when it is mounted.  For example

	$ show logical disk$product
	%SHOW-S-NOTRAN, no translation for logical name DISK$PRODUCT
	$ mount/system pda0 product
	%MOUNT-I-MOUNTED, PRODUCT      mounted on _PDA0:
	$ show logical disk$product
	   "DISK$PRODUCT" = "PDA0:" (LNM$SYSTEM_TABLE)

deh@KIEWIT.DARTMOUTH.EDU ("KIEWIT::DEH") (07/12/88)

> I have heard here, and elsewhere, that dollar signs ($) are "reserved"
> by digital for their own use in logicals.  Nevertheless our system
> managers have named our disks "PRODUCT$DISK" and such.  Could somebody
> clarify exactly WHERE DEC states this policy (e.g. in 4.6 release notes
> page blah-blah paragraph 87...) so I can go look it up.  Also, do device
> names qualify as logicals, and/or just what does the restriction cover?
>
In the version 5.0 _Guide_to_Creating_VMS_Modular_Procedures_ (AA-LA58A-TE),
Chapter 3, ``Coding'', discusses naming conventions for facilities, 
procedures, files, modules, PSECTs, lock resources, global variables,
and statuses.  Some are required, some only suggested.  In all cases, DEC
reserves the use of the ``$'' to itself and leaves ``_'' (underscore) to
the rest of the world.  Logical names are not explicitly mentioned here,
but the implication is clear.  Although some logical names are not 
deriviative from a software system (like your product$disk), many are,
and would automatically use an underscore instead of a dollar sign.

In the case of disks, VMS automatically gives them a logical name of the
form DISK$xxx, where xxx is the disk label.  This is a DEC defined name.
You could certainly use DISK$PRODUCT, even if the disk label were something
besides PRODUCT.  But someday, some DEC product just might want to use the
logical name PRODUCT$DISK.  

Even if you do change your locally defined name to PRODUCT_DISK, there is
still the problem of importing a third party package that uses that logical
name or filename.  If you use much third party software, such a collision is
likely to happen at some time.
------

DEFFER@CGEUGE51.BITNET (Eric Defferard) (07/19/88)

>I have heard here, and elsewhere, that dollar signs ($) are "reserved"
>by digital for their own use in logicals.  Nevertheless our system
>managers have named our disks "PRODUCT$DISK" and such.  Could somebody
>clarify exactly WHERE DEC states this policy (e.g. in 4.6 release notes
>page blah-blah paragraph 87...) so I can go look it up.  Also, do device
>names qualify as logicals, and/or just what does the restriction cover?

Take a look at some VMS 3.x release notes.

-----
Eric DEFFERARD, University of Geneva, Computer Services
BITNET  DEFFER@CGEUGE51
UUCP    mcvax!cernvax!cui!deffer