Golioth Zephyr SDK
rpc.h File Reference
#include <stdint.h>
#include <zephyr/net/coap.h>
#include <zephyr/kernel.h>

Go to the source code of this file.

Data Structures

struct  zcbor_state_t
 
struct  golioth_rpc_method
 Data for each registered RPC method. More...
 
struct  golioth_rpc
 Global/shared RPC state data, placed in struct golioth_client. More...
 

Typedefs

typedef enum golioth_rpc_status(* golioth_rpc_cb_fn) (zcbor_state_t *request_params_array, zcbor_state_t *response_detail_map, void *callback_arg)
 Callback function type for remote procedure call. More...
 

Enumerations

enum  golioth_rpc_status {
  GOLIOTH_RPC_OK = 0 , GOLIOTH_RPC_CANCELED = 1 , GOLIOTH_RPC_UNKNOWN = 2 , GOLIOTH_RPC_INVALID_ARGUMENT = 3 ,
  GOLIOTH_RPC_DEADLINE_EXCEEDED = 4 , GOLIOTH_RPC_NOT_FOUND = 5 , GOLIOTH_RPC_ALREADYEXISTS = 6 , GOLIOTH_RPC_PERMISSION_DENIED = 7 ,
  GOLIOTH_RPC_RESOURCE_EXHAUSTED = 8 , GOLIOTH_RPC_FAILED_PRECONDITION = 9 , GOLIOTH_RPC_ABORTED = 10 , GOLIOTH_RPC_OUT_OF_RANGE = 11 ,
  GOLIOTH_RPC_UNIMPLEMENTED = 12 , GOLIOTH_RPC_INTERNAL = 13 , GOLIOTH_RPC_UNAVAILABLE = 14 , GOLIOTH_RPC_DATA_LOSS = 15 ,
  GOLIOTH_RPC_UNAUTHENTICATED = 16
}
 Enumeration of RPC status codes, sent in the RPC response. More...
 

Functions

int golioth_rpc_init (struct golioth_client *client)
 Initialize RPC. More...
 
int golioth_rpc_register (struct golioth_client *client, const char *method_name, golioth_rpc_cb_fn callback, void *callback_arg)
 Register an RPC method. More...
 
int golioth_rpc_observe (struct golioth_client *client)
 Observe for RPC method invocations. More...