VMS Help
CRTL, decc$translate_vms
*Conan The Librarian
|
Translates OpenVMS file specifications to UNIX style file
specifications.
Format
#include <unixlib.h>
char *decc$translate_vms (const char *vms_filespec);
vms_filespec
The address of a null-terminated string containing a name in
OpenVMS file specification format.
The decc$translate_vms function translates the given OpenVMS file
specification into the equivalent UNIX style file specification,
whether or not the file exists. The translated name string is
stored in a thread-specific memory, which is overwritten by each
call to decc$translate_vms from the same thread.
This function differs from the decc$from_vms function, which does
the conversion for existing files only.
x The address of a null-terminated string
containing a name in UNIX style file
specification format.
0 Indicates that the filename is null or
syntactically incorrect.
-1 Indicates that the file specification contains
an ellipsis (for example, [ . . . ]a.dat), but
is otherwise correct. You cannot translate
the OpenVMS ellipsis syntax into a valid UNIX
style file specification.
/* Demonstrate translation of a "UNIX" name to OpenVMS */
/* form, define a foreign command, and pass the name as */
/* the argument. */
#include <unixlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
char *ptr; /* translation result */
ptr = decc$translate_vms( argv[1] );
if ((int) ptr == 0 || (int) ptr == -1)
printf( "could not translate %s\n", argv[1]);
else
printf( "%s is translated to %s\n", argv[1], ptr );
}