HPUX ipccontrol[2]

ipccontrol(2) ipccontrol(2)
NAME
ipccontrol - perform special operations on a NetIPC socket
SYNOPSIS
#include <sys/ns_ipc.h>
void ipccontrol(
ns_int_t descriptor,
ns_int_t request,
const void *wrtdata,
ns_int_t wlen,
void *readdata,
ns_int_t *rlen,
ns_int_t *flags,
ns_int_t *result);
DESCRIPTION
ipccontrol() is used to manipulate NetIPC sockets. The type of
request is specified in the request parameter. Some parameters are
optional and not used in all requests. If wrtdata is not used, wlen
must be zero. If readdata is unused, rlen must be zero.
All processes that own descriptors for a particular socket are
affected by ipccontrol() operations performed on that socket. For
example, one process can change a socket's read or write threshold,
synchronous timeout interval, or synchronous/asynchronous mode while
another process is reading, writing, or selecting on that socket.
Exactly when the process that is sharing the socket will be affected
by these operations cannot be reliably predicted. Reads, writes, and
selects in progress may complete after using either the previous, new,
or a combination of the previous and new values.
Parameters
descriptor (input parameter)
The descriptor that refers to the socket to be
manipulated.
request (input parameter)
Request code. Defines which operation is to be
performed. See below.
wrtdata (input parameter)
A data buffer used to pass timeout and threshold
information.
wlen (input parameter)
Length in bytes of the wrtdata data buffer.
readdata (output parameter)
A data buffer used to contain any data returned by the
call.
Hewlett-Packard Company - 1 - HP-UX Release 9.0: August 1992
ipccontrol(2) ipccontrol(2)
rlen (input/output parameter)
The length in bytes of the readdata data buffer. On
output, this parameter contains the total number of
bytes returned to the process.
flags (input parameter)
Reserved for future use. This parameter should be 0 or
a pointer to 0.
result (output parameter)
The error code returned. See ERRORS below for more
information.
Request Parameter
NSC_NBIO_ENABLE (request code 1)
Place socket referenced by descriptor in
asynchronous mode.
NSC_NBIO_DISABLE (request code 2)
Place socket referenced by descriptor in
synchronous mode.
NSC_TIMEOUT_RESET (request code 3)
Change the referenced socket's
synchronous timeout. The default
timeout value is 60 seconds. The
timeout value is specified in tenths of
seconds (for example, a value of 1200
indicates 120 seconds). The new timeout
value is treated as a 16-bit signed
integer, and must be placed in the first
two bytes of the wrtdata parameter. The
timeout value must be in the range of
zero to 32767. Negative values have no
meaning and will result in an error. A
value of zero sets the timeout to
infinity. The timeout is not reset if
the referenced socket is switched to
asynchronous mode then back to
synchronous mode.
NSC_TIMEOUT_GET (request code 4)
Return the synchronous timeout value for
the socket referenced in the descriptor
parameter. The timeout value is treated
as a 16-bit signed integer, and is
returned in the readdata parameter.
NSC_RECV_THRESH_RESET (request code 1000)
Change the read threshold of the VC
socket referenced in descriptor
Hewlett-Packard Company - 2 - HP-UX Release 9.0: August 1992
ipccontrol(2) ipccontrol(2)
parameter. Read thresholds are one byte
by default. The descriptor parameter
must reference a VC socket descriptor.
The new read threshold value must be
placed in the first two bytes of the
wrtdata parameter.
NSC_SEND_THRESH_RESET (request code 1001)
Change the write threshold of the VC
socket referenced in the descriptor
parameter. Write thresholds are one
byte by default. The descriptor
parameter must reference a VC socket
descriptor. The new write threshold
value must be placed in the first two
bytes of the wrtdata parameter.
NSC_RECV_THRESH_GET (request code 1002)
Return the current write threshold for
the VC socket referenced in the
descriptor parameter. The descriptor
parameter must reference a VC socket
descriptor. The write threshold is
treated as a 16-bit signed integer, and
is returned in the readdata parameter.
NSC_SEND_THRESH_GET (request code 1003)
Return the current read threshold for
the VC socket referenced in the
descriptor parameter. The descriptor
parameter must reference a VC socket
descriptor. The read threshold is
treated as a 16-bit signed integer, and
is returned in the readdata parameter.
NSC_GET_NODE_NAME (request code 9008)
Obsolescent. Use getnodename(2)
instead.
RETURN VALUE
None. Errors are returned in the result parameter.
ERRORS
[NSR_BOUNDS_VIO] One of the pointer arguments is invalid.
[NSR_DESC] The argument descriptor is not a valid
NetIPC socket descriptor.
[NSR_DLEN] The specified wlen or rlen parameter is
invalid.
Hewlett-Packard Company - 3 - HP-UX Release 9.0: August 1992
ipccontrol(2) ipccontrol(2)
[NSR_NO_ERROR] The call was successful.
[NSR_REQUEST] The request was unknown.
[NSR_TIMEOUT_VALUE] An illegal timeout value was specified.
[NSR_THRESH_VALUE] An illegal threshold value was
specified.
AUTHOR
ipccontrol() was developed by HP.
SEE ALSO
ipcconnect(2), ipccreate(2), ipcdest(2), ipcgetnodename(2),
ipclookup(2), ipcname(2), ipcnamerase(2), ipcrecv(2), ipcrecvcn(2),
ipcselect(2), ipcsend(2), ipcsetnodename(2), ipcshutdown(2),
addopt(3N), initopt(3N), ipcerrmsg(3N), optoverhead(3N), readopt(3N).
Hewlett-Packard Company - 4 - HP-UX Release 9.0: August 1992