The C RTL provides an extensive list of feature switches that
can be set using DECC$ logical names. These switches affect the
behavior of a C application at run time.
The feature switches introduce new behaviors and also preserve
old behaviors that have been deprecated.
You enable most features by setting a logical name to ENABLE and
disable a feature by setting the logical name to DISABLE:
$ DEFINE DECC$feature ENABLE
$ DEFINE DECC$feature DISABLE
Some feature logical names can be set to a numeric value. For
example:
$ DEFINE DECC$PIPE_BUFFER_SIZE 32768
NOTES
o Do not set C RTL feature logical names for the system.
Set them only for the applications that need them,
because other applications including OpenVMS components
depend on the default behavior of these logical names.
o Older feature logicals from earlier releases of the
C Run-Time Library were documented as supplying "any
equivalence string" to enable a feature. While this was
true at one time, we now strongly recommend that you use
ENABLE for setting these feature logicals and DISABLE for
disabling them. Failure to do so may produce unexpected
results.
The reason for this is twofold:
- In previous versions of the C RTL, any equivalence
string, even DISABLE, may have enabled a feature
logical.
- In subsequent and current versions of the C RTL, the
following equivalence strings will disable a feature
logical. Do not use them to enable a feature logical.
DISABLE
0 (zero)
F
FALSE
N
NO
Any other string not on this list will enable a
feature logical. The unintentionally misspelled string
"DSABLE", for example, will enable a feature logical.
The C RTL also provides several functions to manage feature
logicals within your applications:
decc$feature_get
decc$feature_get_value
decc$feature_get_index
decc$feature_get_name
decc$feature_set
decc$feature_set_value
decc$feature_show
decc$feature_show_all
See the reference section for more information on these
functions.
The C RTL feature logical names are listed below, grouped by the
type of features they control:
Feature Logical Name Default
------- ------- ---- -------
Performance Optimizations:
DECC$ENABLE_GETENV_CACHE DISABLE
DECC$LOCALE_CACHE_SIZE 0
DECC$TZ_CACHE_SIZE 2
Legacy Behaviors:
DECC$ALLOW_UNPRIVILEGED_NICE DISABLE
DECC$NO_ROOTED_SEARCH_LISTS DISABLE
DECC$PRINTF_USES_VAX_ROUND DISABLE
DECC$THREAD_DATA_AST_SAFE DISABLE
DECC$V62_RECORD_GENERATION DISABLE
DECC$WRITE_SHORT_RECORDS DISABLE
DECC$XPG4_STRPTIME DISABLE
File Attributes:
DECC$DEFAULT_LRL 32767
DECC$DEFAULT_UDF_RECORD DISABLE
DECC$FIXED_LENGTH_SEEK_TO_EOF DISABLE
DECC$ACL_ACCESS_CHECK DISABLE
Mailboxes:
DECC$MAILBOX_CTX_STM DISABLE
Changes for UNIX Conformance:
DECC$SELECT_IGNORES_INVALID_FD DISABLE
DECC$STRTOL_ERANGE DISABLE
DECC$VALIDATE_SIGNAL_IN_KILL DISABLE
General UNIX Enhancements:
DECC$UNIX_LEVEL DISABLE
DECC$ARGV_PARSE_STYLE DISABLE
DECC$PIPE_BUFFER_SIZE 512
DECC$PIPE_BUFFER_QUOTA 512
DECC$STREAM_PIPE DISABLE
DECC$POPEN_NO_CRLF_REC_ATTR DISABLE
DECC$STDIO_CTX_EOL DISABLE
DECC$USE_RAB64 DISABLE
DECC$GLOB_UNIX_STYLE DISABLE
Enhancements for UNIX Style Filenames:
DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION DISABLE
DECC$EFS_CHARSET DISABLE
DECC$ENABLE_TO_VMS_LOGNAME_CACHE ENABLE
DECC$FILENAME_ENCODING_UTF8 DISABLE
DECC$FILENAME_UNIX_NO_VERSION DISABLE
DECC$FILENAME_UNIX_REPORT DISABLE
DECC$READDIR_DROPDOTNOTYPE DISABLE
DECC$RENAME_NO_INHERIT DISABLE
DECC$RENAME_ALLOW_DIR DISABLE
Enhancements for UNIX Style File Attributes:
DECC$EFS_FILE_TIMESTAMPS DISABLE
DECC$EXEC_FILEATTR_INHERITANCE DISABLE
DECC$FILE_OWNER_UNIX DISABLE
DECC$FILE_PERMISSION_UNIX DISABLE
DECC$FILE_SHARING DISABLE
UNIX Compliance Mode:
DECC$DETACHED_CHILD_PROCESS DISABLE
DECC$FILENAME_UNIX_ONLY DISABLE
DECC$POSIX_STYLE_UID DISABLE
DECC$USE_JPI$_CREATOR DISABLE
New Behaviors for POSIX Conformance:
DECC$ALLOW_REMOVE_OPEN_FILES DISABLE
DECC$POSIX_SEEK_STREAM_FILE DISABLE
DECC$UMASK RMS default
Filename Handling:
DECC$POSIX_COMPLIANT_PATHNAMES DISABLE
DECC$DISABLE_POSIX_ROOT ENABLE
DECC$EFS_CASE_PRESERVE DISABLE
DECC$EFS_CASE_SPECIAL DISABLE
DECC$EFS_NO_DOTS_IN_DIRNAME DISABLE
DECC$READDIR_KEEPDOTDIR DISABLE
DECC$UNIX_PATH_BEFORE_LOGNAME DISABLE
Additional Information:
explode
extract