libamxb  4.8.2
Bus Agnostic C API
amxb_be_intf.h File Reference

Ambiorix Bus Backend Interface. More...

#include <amxb/amxb_types.h>

Go to the source code of this file.

Data Structures

struct  _amxb_be_funcs
 The back-end interface structure. More...
 

Macros

#define AMXB_BE_DISCOVER_DESCRIBE   0x0001
 
#define AMXB_BE_DISCOVER_LIST   0x0002
 
#define AMXB_BE_DISCOVER   0x0004
 
#define AMXB_BE_DISCOVER_RESOLVE   0x0008
 

Typedefs

typedef struct _amxb_bus_ctx amxb_bus_ctx_t
 
typedef struct _amxb_request amxb_request_t
 
typedef struct _amxb_invoke amxb_invoke_t
 
typedef void *(* amxb_be_connect_fn_t) (const char *host, const char *port, const char *path, amxp_signal_mngr_t *sigmngr)
 Opens a bus connection or creates a socket connection. More...
 
typedef void *(* amxb_be_listen_fn_t) (const char *host, const char *port, const char *path, amxp_signal_mngr_t *sigmngr)
 Creates a listen socket. More...
 
typedef void *(* amxb_be_accept_fn_t) (void *const ctx, amxp_signal_mngr_t *sigmngr)
 Accepts or drops an incoming connection. More...
 
typedef int(* amxb_be_disconnect_fn_t) (void *const ctx)
 Closes a bus connection or disconnects a socket. More...
 
typedef int(* amxb_be_get_fd_fn_t) (void *const ctx)
 Get the file descriptor that represents the opened bus connection or the connected socket. More...
 
typedef int(* amxb_be_read_fn_t) (void *const ctx)
 Read data from file descriptor and dispatch the request. More...
 
typedef int(* amxb_be_read_raw_fn_t) (void *const ctx, void *buf, size_t count)
 
typedef int(* amxb_be_new_invoke_fn_t) (amxb_invoke_t *invoke_ctx)
 Updates the invoke context with bus specific data. More...
 
typedef void(* amxb_be_free_invoke_fn_t) (amxb_invoke_t *invoke_ctx)
 Frees the bus specific data from the invoke context. More...
 
typedef int(* amxb_be_invoke_fn_t) (void *const ctx, amxb_invoke_t *invoke_ctx, amxc_var_t *args, amxb_request_t *request, int timeout)
 Invokes a remote procedure call in the data model and waits for the reply. More...
 
typedef int(* amxb_be_async_invoke_fn_t) (void *const ctx, amxb_invoke_t *invoke_ctx, amxc_var_t *args, amxb_request_t *request)
 Invokes a remote procedure call in the data model and return immediately without waiting for reply. More...
 
typedef int(* amxb_be_close_request_fn_t) (void *const ctx, amxb_request_t *request)
 Closes or cancels a pending asynchronous request. More...
 
typedef int(* amxb_be_wait_request_fn_t) (void *const ctx, amxb_request_t *request, int timeout)
 Waits until an asynchronous request has finished. More...
 
typedef int(* amxb_be_subscribe_fn_t) (void *const ctx, const char *object)
 Creates a subscription for a specific object. More...
 
typedef int(* amxb_be_unsubscribe_fn_t) (void *const ctx, const char *object)
 Removes a subscription for a specific object. More...
 
typedef int(* amxb_be_register_fn_t) (void *const ctx, amxd_dm_t *const dm)
 Registers an ambiorix data model to the bus system. More...
 
typedef void(* amxb_be_free_fn_t) (void *const ctx)
 Frees allocated memory for bus connection. More...
 
typedef int(* amxb_be_get_t) (void *const ctx, const char *object, const char *search_path, int32_t depth, uint32_t access, amxc_var_t *ret, int timeout)
 Performs a get operation on one or more objects in the data model tree. More...
 
typedef int(* amxb_be_get_filtered_t) (void *const ctx, const char *object, const char *search_path, const char *filter, int32_t depth, uint32_t access, amxc_var_t *ret, int timeout)
 Performs a get operation on one or more objects in the data model tree. More...
 
typedef int(* amxb_be_set_t) (void *const ctx, const char *object, const char *search_path, uint32_t flags, amxc_var_t *values, amxc_var_t *ovalues, uint32_t access, amxc_var_t *ret, int timeout)
 Performs a set operation on one or more objects in the data model tree. More...
 
typedef int(* amxb_be_add_t) (void *const ctx, const char *object, const char *search_path, uint32_t index, const char *name, amxc_var_t *values, uint32_t access, amxc_var_t *ret, int timeout)
 Performs an add instance operation on one multi instance object in the data model tree. More...
 
typedef int(* amxb_be_del_t) (void *const ctx, const char *object, const char *search_path, uint32_t index, const char *name, uint32_t access, amxc_var_t *ret, int timeout)
 Performs a delete instance operation on one object in the data model tree. More...
 
typedef int(* amxb_be_get_supported_t) (void *const ctx, const char *object, const char *search_path, uint32_t flags, amxc_var_t *retval, int timeout)
 Performs a get supported data model operation on a data model (sub-)tree. More...
 
typedef int(* amxb_be_describe_t) (void *const ctx, const char *object, const char *search_path, uint32_t flags, uint32_t access, amxc_var_t *retval, int timeout)
 
typedef int(* amxb_be_list_t) (void *const ctx, const char *object, uint32_t flags, uint32_t access, amxb_request_t *request)
 
typedef int(* amxb_be_wait_for_fn_t) (void *const ctx, const char *object)
 
typedef uint32_t(* amxb_be_capabilities_fn_t) (void *const ctx)
 
typedef bool(* amxb_be_has_fn_t) (void *const ctx, const char *object)
 
typedef int(* amxb_be_get_instances_t) (void *const ctx, const char *object, const char *search_path, int32_t depth, uint32_t access, amxc_var_t *ret, int timeout)
 Performs a get instances data model operation on multi-instance objects. More...
 
typedef int(* amxb_be_set_config_t) (amxc_var_t *const configuration)
 Passes a hash table variant containing configuration options to the back-end. More...
 

Detailed Description

Ambiorix Bus Backend Interface.

Definition in file amxb_be_intf.h.

Macro Definition Documentation

◆ AMXB_BE_DISCOVER

#define AMXB_BE_DISCOVER   0x0004

Definition at line 343 of file amxb_be_intf.h.

◆ AMXB_BE_DISCOVER_DESCRIBE

#define AMXB_BE_DISCOVER_DESCRIBE   0x0001

Definition at line 341 of file amxb_be_intf.h.

◆ AMXB_BE_DISCOVER_LIST

#define AMXB_BE_DISCOVER_LIST   0x0002

Definition at line 342 of file amxb_be_intf.h.

◆ AMXB_BE_DISCOVER_RESOLVE

#define AMXB_BE_DISCOVER_RESOLVE   0x0008

Definition at line 344 of file amxb_be_intf.h.

Typedef Documentation

◆ amxb_be_capabilities_fn_t

typedef uint32_t(* amxb_be_capabilities_fn_t) (void *const ctx)

Definition at line 1661 of file amxb_be_intf.h.

◆ amxb_be_describe_t

typedef int(* amxb_be_describe_t) (void *const ctx, const char *object, const char *search_path, uint32_t flags, uint32_t access, amxc_var_t *retval, int timeout)

Definition at line 1644 of file amxb_be_intf.h.

◆ amxb_be_has_fn_t

typedef bool(* amxb_be_has_fn_t) (void *const ctx, const char *object)

Definition at line 1663 of file amxb_be_intf.h.

◆ amxb_be_list_t

typedef int(* amxb_be_list_t) (void *const ctx, const char *object, uint32_t flags, uint32_t access, amxb_request_t *request)

Definition at line 1652 of file amxb_be_intf.h.

◆ amxb_be_read_raw_fn_t

typedef int(* amxb_be_read_raw_fn_t) (void *const ctx, void *buf, size_t count)

Definition at line 611 of file amxb_be_intf.h.

◆ amxb_be_wait_for_fn_t

typedef int(* amxb_be_wait_for_fn_t) (void *const ctx, const char *object)

Definition at line 1658 of file amxb_be_intf.h.

◆ amxb_bus_ctx_t

typedef struct _amxb_bus_ctx amxb_bus_ctx_t

Definition at line 1 of file amxb_be_intf.h.

◆ amxb_invoke_t

typedef struct _amxb_invoke amxb_invoke_t

Definition at line 1 of file amxb_be_intf.h.

◆ amxb_request_t

typedef struct _amxb_request amxb_request_t

Definition at line 1 of file amxb_be_intf.h.