Barrelfish
|
RPC definitions. More...
Data Structures | |
struct | rpc_client |
RPC client instance data. More... | |
Typedefs | |
typedef void(* | rpc_callback_t) (struct rpc_client *rpc_client, void *arg1, void *arg2, uint32_t replystat, uint32_t acceptstat, XDR *reply_xdr) |
Callback function for RPC reply handlers. More... | |
Enumerations |
Functions | |
err_t | rpc_init (struct rpc_client *client, struct ip_addr server) |
Initialise a new RPC client instance. More... | |
void | rpc_destroy (struct rpc_client *client) |
Destroy the given client, freeing any associated memory. | |
err_t | rpc_call (struct rpc_client *client, uint16_t port, uint32_t prog, uint32_t vers, uint32_t proc, xdrproc_t args_xdrproc, void *args, size_t args_size, rpc_callback_t callback, void *cbarg1, void *cbarg2) |
Initiate an RPC Call. More... | |
RPC definitions.
typedef void(* rpc_callback_t) (struct rpc_client *rpc_client, void *arg1, void *arg2, uint32_t replystat, uint32_t acceptstat, XDR *reply_xdr) |
Callback function for RPC reply handlers.
rpc_client | RPC client instance pointer |
arg1,arg2 | Opaque argument values provided to rpc_call() |
replystat | Reply status (RPC_MSG_ACCEPTED on success) |
acceptstat | Accept status (RPC_SUCCESS on success) |
reply_xdr | XDR pointer for deserialising any return values |
enum rpc_accept_stat |
Given that a call message was accepted, the following is the status of an attempt to call a remote procedure.
enum rpc_auth_stat |
enum rpc_reject_stat |
enum rpc_reply_stat |
A reply to a call message can take on two forms: The message was either accepted or rejected.
err_t rpc_call | ( | struct rpc_client * | client, |
uint16_t | port, | ||
uint32_t | prog, | ||
uint32_t | vers, | ||
uint32_t | proc, | ||
xdrproc_t | args_xdrproc, | ||
void * | args, | ||
size_t | args_size, | ||
rpc_callback_t | callback, | ||
void * | cbarg1, | ||
void * | cbarg2 | ||
) |
Initiate an RPC Call.
client | RPC client, previously initialised by a call to rpc_init() |
port | UDP port on server to call |
prog | RPC program number |
vers | RPC program version |
proc | RPC procedure number |
args_xdrproc | XDR serialisation function for arguments to call |
args | Argument data to be passed to #args_xdrproc |
args_size | Upper bound on size of serialised argument data |
callback | Callback function to be invoked when call either completes or fails |
cbarg1,cbarg2 | Opaque arguments to be passed to callback function |
err_t rpc_init | ( | struct rpc_client * | client, |
struct ip_addr | server | ||
) |
Initialise a new RPC client instance.
client | Pointer to memory for RPC client data, to be initialised |
server | IP address of server to be called |