#include <netdir.h> int netdir_options(struct netconfig *nconf, int option, int fd, char *point_to_args);
The netdir_options() function provides interfaces to transport-specific capabilities such as the broadcast address and reserved port facilities of TCP and UDP.
ND_SET_BROADCAST | Set the transport for broadcast if supported. |
ND_SET_RESERVEDPORT | Let the application bind to a reserved port if allowed by the transport. |
ND_CHECK_RESERVEDPORT | Verify that an address corresponds to a reserved port if the transport supports reserved ports. |
ND_MERGEADDR | Transform a locally meaningful address into an address that the client host can connect to. |
The caller must have the *IOSYSCFG special authority to bind to a reserved port.
0 | netdir_options() was successful. |
-1 | netdir_options() was not successful. The nd_errno global variable (defined in <netdir.h>) is set to indicate the error. |
If netdir_options() is not successful, nd_errno indicates one of the following errors:
[ND_ACCESS] | The user does not have permission to use the specified address. |
[ND_BADARG] | Bad argument passed.
A file descriptor that was not valid was passed to the API. |
[ND_FAILCTRL] | Control operation failed. |
[ND_NO_ADDRESS] | Bad address. |
[ND_NOCONVERT] | Conversion error. One or more characters could not be converted from the source CCSID to the target CCSID. |
[ND_NOCTRL] | The function was used in the wrong sequence.
An incorrect option was specified. |
[ND_NO_DATA] | Incorret amount of data. |
[ND_NOHOST] | The host that was specified by the host name was not found. |
[ND_NOMEM] | Not enough memory left. |
[ND_NO_RECOVERY] | An unrecoverable error has occurred. |
[ND_OPEN] | File could not be opened. |
[ND_SYSTEM] | A damaged object was encountered. The damaged object cannot be
used.
The system detected an address that was not valid. |
[ND_TRY_AGAIN] | The local server did not receive a response from an authoritative server. An attempt at a later time may succeed. |
Message ID | Error Message Text |
---|---|
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
See Code disclaimer information for information pertaining to code examples.
The following example shows how netdir_options() is used:
#include <netdir.h> #include <rpc/rpc_com.h> /* for RPC_ANYFD definition */ main() { void *handlep; struct netconfig *nconf; /* Initialize the network selection mechanism */ if (handlep = setnetconfig()) == (void *)NULL) { exit(1); } /* Get a netconfig structure from the netconfig file */ if ((nconf = getnetconfig(handlep)) == (struct netconf *)NULL) { printf("Unable to obtain a netconfig structure\n"); } /* Set the protocol specific negotiation for broadcast */ if (netdir_options(nconf, ND_SET_BROADCAST, RPC_ANYFD, NULL)) { printf("Error setting the broadcasting option\n"); } /* Release the netconfig handle allocated by setnetconfig() */ endnetconfig(handlep); }
Top | Remote Procedure Call (RPC) APIs | APIs by category |