|
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 |
1.8.11