|
» |
|
|
|
Ask the Wizard Questions
C Language: nfbdef from DECC
The Question is:
I am working on the port of a software subsystem from a microVAX
running VMS v5.0 to an Alpha running v6.2. The S/W talks to other
subsystems on VAX 4000's (v5.0) over DECnet using mailboxes.
The first problem I encountered is that the nfbdef.h include file has
appearantly been obsoleted for v6.2 and information from this header
is used in assigning the network name during initialization. After
creating the mailbox and assigning the network channel, the network
name assign was previously accomplished using a SYS$QIO with the
IO$_ACPCONTROL function argument and a pointer to an NFB descriptor
defined as follows:
struct{
char func;
int terminator;
} nfb = {NFB$C_DECLNAME, 0};
struct dsc$descriptor nfb_desc = {5,0,DSC$K_CLASS_P,(char *)&nfb};
I tried locally #defining the NFB$C_DECLNAME symbol to the value from
v5.0 (0X15) to no avail. The SYS$QIO call returns an iosb[0] which is
36.
Is there a new and better way to assign a network name for a DECnet
mailbox in version 6.2?
Help Mr. Wizard,
The Answer is:
nfbdef.h is not obsolete, and is currently used with DEC C
both OpenVMS VAX and OpenVMS Alpha. (I've just checked one of
the local OpenVMS Alpha V6.2 systems, and nfbdef.h _is_ present.)
$! to translate the message, use the debugger EXAMINE/CONDITION, or:
$
$ exit 36
%SYSTEM-F-NOPRIV, insufficient privilege or object protection violation
$
$! or another way:
$
$ msg = f$message(36)
$ sho sym msg
MSG = "%SYSTEM-F-NOPRIV, insufficient privilege or object protection violation"
$
|