RPC_SVC_INPUT(3NSL) Networking Services Library Functions
NAME
rpc_svc_input, svc_add_input, svc_remove_input - declare or remove a
callback on a file descriptor
SYNOPSIS
#include <rpc/rpc.h>
typedef void (*svc_callback_t)(
svc_input_id_t id,
int fd,
unsigned int events,
void *cookie);
svc_input_id_t svc_add_input(
int fd,
unsigned int revents,
svc_callback_t callback,
void *cookie);
int svc_remove_input(
svc_input_t id);
DESCRIPTION
The following RPC routines are used to declare or remove a callback
on a file descriptor.
Routines
See
rpc(3NSL) for the definition of the
SVCXPRT data structure.
svc_add_input() This function is used to register a
callback function on a file descriptor,
fd. The file
descriptor,
fd, is the first parameter to be
passed to
svc_add_input(). This
callback function will be automatically called if any of
the events specified in the
events parameter
occur on this descriptor. The
events parameter
is used to specify when the callback is
invoked. This parameter is a mask of poll
events to which the user wants to listen. See
poll(2) for further details of the events that
can be specified.
The callback to be invoked is specified using
the
callback parameter. The
cookie parameter
can be used to pass any data to the
callback function. This parameter is a user-defined
value which is passed as an argument to the
callback function, and it is not used by the
Sun RPC library itself.
Several callbacks can be registered on the same
file descriptor as long as each callback
registration specifies a separate set of event
flags.
The
callback function is called with the
registration
id, the
fd file descriptor, an
revents value, which is a bitmask of all events
concerning the file descriptor, and the
cookie user-defined value.
Upon successful completion, the function
returns a unique identifier for this
registration, that can be used later to remove
this callback. Upon failure,
-1 is returned and
errno is set to indicate the error.
The
svc_add_input() function will fail if:
EINVAL The
fd or
events parameters are
invalid.
EEXIST A callback is already registered to
the file descriptor with one of the
specified events.
ENOMEM Memory is exhausted.
svc_remove_input() This function is used to unregister a callback
function on a file descriptor,
fd. The
id parameter specifies the registration to be
removed.
Upon successful completion, the function
returns zero. Upon failure,
-1 is returned and
errno is set to indicate the error.
The
svc_remove_input() function will fail if:
EINVAL The
id parameter is invalid.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Architecture | All |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
poll(2),
rpc(3NSL),
attributes(7) January 6, 2003 RPC_SVC_INPUT(3NSL)