rpc_svc_input(3NSL) Networking Services Library Functions rpc_svc_input(3NSL)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_call‐
back_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 auto‐
matically 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 fur‐
ther details of the events that can be specified.
The callback to be invoked is specified using the callback parame‐
ter. The cookie parameter can be used to pass any data to the call‐
back 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 identi‐
fier 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 fail‐
ure, -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 (5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │All │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWcsl (32-bit) │
├─────────────────────────────┼─────────────────────────────┤
│ │SUNWcslx (64-bit) │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Evolving │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOpoll(2), rpc(3NSL), attributes (5)
SunOS 5.10 6 Jan 2003 rpc_svc_input(3NSL)