barsh@stsci.EDU (John Barshinger) (12/02/87)
This is an example of using the ss $TRNLNM in VAX C. This is
in response to a problem someone had earlier. Sorry about posting
this instead of mailing, my mailer can't find anybody (the link is
down)
Jeremy,
here's a working version, hope it helps...
jrbii
~~~~~
#include stdio
#include descrip
#include ssdef
#include lnmdef
typedef struct
{
short buflen;
short itemcode;
char *buff_addr;
short *retlen_addr;
int terminator;
} item_descriptor;
main ()
{
$DESCRIPTOR(tabnam,"LNM$FILE_DEV");
$DESCRIPTOR(lognam,"SYS$COMMAND");
char device_name[256];
short return_length;
int status;
item_descriptor itemlist = { 256, LNM$_STRING, device_name, &return_length, 0};
status = sys$trnlnm(0,&tabnam,&lognam,0,&itemlist);
if ( status != SS$_NORMAL)
return(status);
device_name[return_length]=0;
if (device_name[0] = 27) /* see system service man pg. 6-10 */
strcpy(device_name, &device_name[4]);
printf("%s\n",device_name);
}
--
John Barshinger
Space Telescope Science Institute
Baltimore, MD 21218
plink:jrbii | bix:jrbii | barsh@stsci.edu