|
VMS Help CRTL, Feature Logical Names, DECC$DISABLE_POSIX_ROOT *Conan The Librarian |
With DECC$DISABLE_POSIX_ROOT enabled, support for the POSIX root
directory defined by SYS$POSIX_ROOT is disabled.
With DECC$DISABLE_POSIX_ROOT disabled, the SYS$POSIX_ROOT logical
name is interpreted as the equivalent of the file path "/". If
a UNIX path starting with a slash (/) is given and the value
after the leading slash cannot be translated as a logical name,
SYS$POSIX_ROOT is used as the parent directory for the specified
UNIX file path.
The C RTL supports a UNIX style root that behaves like a real
directory. This allows such actions as:
% cd /
% mkdir /dirname
% tar -xvf tarfile.tar /dirname
% ls /
Previously, the C RTL did not recognize "/" as a directory name.
The normal processing for a file path starting with "/" was to
interpret the first element as a logical name or device name. If
this failed, there was special processing for the name /dev/null
and names starting with /bin and /tmp:
/dev/null NLA0:
/bin SYS$SYSTEM:
/tmp SYS$SCRATCH:
These behaviors are retained for compatibility purposes. In
addition, support has been added to the C RTL for the logical
name SYS$POSIX_ROOT as an equivalent to "/".
To enable this feature for use by the C RTL, define SYS$POSIX_
ROOT as a concealed logical name. For example:
$ DEFINE/TRANSLATION=(CONCEALED,TERMINAL) SYS$POSIX_ROOT -
"$1$DKA0:[SYS0.abc.]"
To disable this feature:
$ DEFINE DECC$DISABLE_POSIX_ROOT DISABLE
Enabling SYS$POSIX_ROOT results in the following behavior:
o If the existing translation of a UNIX path starting with "/"
fails and SYS$POSIX_ROOT is defined, the name is interpreted
as if it starts with /sys$posix_root.
o When converting from an OpenVMS to a UNIX style filename,
and the OpenVMS name starts with "SYS$POSIX_ROOT:", then
the "SYS$POSIX_ROOT:" is removed. For example, SYS$POSIX_
ROOT:[dirname] becomes /dirname. If the resulting name
could be interpreted as a logical name or one of the special
cases previously listed, the result is /./dirname instead of
/dirname.
|
|