libamxd  6.4.1
Data Model Manager
amxd_types.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  _amxd_dm_cb
 
struct  _amxd_object_attr
 
struct  _amxd_object
 
struct  _amxd_dm
 
struct  _amxd_arg_attr
 
struct  _amxd_func_arg
 
struct  _amxd_func_attr
 
struct  _amxd_function
 RPC method structure. More...
 
struct  _amxd_param_attr
 
struct  _amxd_parameter
 
struct  _amxd_path
 

Macros

#define AMXD_INLINE   static inline
 

Typedefs

typedef enum _amxd_status amxd_status_t
 
typedef enum _amxd_action amxd_action_t
 
typedef enum _amxd_dm_access amxd_dm_access_t
 Access level. More...
 
typedef struct _amxd_object amxd_object_t
 
typedef struct _amxd_parameter amxd_param_t
 
typedef amxd_status_t(* amxd_action_fn_t) (amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
 
typedef struct _amxd_dm_cb amxd_dm_cb_t
 
typedef enum _amxd_object_type amxd_object_type_t
 The different object types. More...
 
typedef enum _amxd_oattr_id amxd_oattr_id_t
 The object attributes. More...
 
typedef enum _amxd_direction amxd_direction_t
 
typedef struct _amxd_object_attr amxd_object_attr_t
 
typedef struct _amxd_dm amxd_dm_t
 
typedef struct _amxd_function amxd_function_t
 
typedef amxd_status_t(* amxd_object_fn_t) (amxd_object_t *object, amxd_function_t *func, amxc_var_t *args, amxc_var_t *ret)
 
typedef enum _amxd_aattr_id amxd_aattr_id_t
 The method argument attributes. More...
 
typedef struct _amxd_arg_attr amxd_arg_attr_t
 
typedef struct _amxd_func_arg amxd_func_arg_t
 
typedef enum _amxd_fattr_id amxd_fattr_id_t
 The method attributes. More...
 
typedef struct _amxd_func_attr amxd_func_attr_t
 
typedef enum _amxd_pattr_id amxd_pattr_id_t
 
typedef struct _amxd_param_attr amxd_param_attr_t
 
typedef enum _amxd_path_type amxd_path_type_t
 
typedef struct _amxd_path amxd_path_t
 

Enumerations

enum  _amxd_status {
  amxd_status_ok , amxd_status_unknown_error , amxd_status_object_not_found , amxd_status_function_not_found ,
  amxd_status_parameter_not_found , amxd_status_function_not_implemented , amxd_status_invalid_function , amxd_status_invalid_function_argument ,
  amxd_status_invalid_name , amxd_status_invalid_attr , amxd_status_invalid_value , amxd_status_invalid_action ,
  amxd_status_invalid_type , amxd_status_duplicate , amxd_status_deferred , amxd_status_read_only ,
  amxd_status_missing_key , amxd_status_file_not_found , amxd_status_invalid_arg , amxd_status_out_of_mem ,
  amxd_status_recursion , amxd_status_invalid_path , amxd_status_invalid_expr , amxd_status_permission_denied ,
  amxd_status_not_supported , amxd_status_not_instantiated , amxd_status_not_a_template , amxd_status_timeout ,
  amxd_status_last
}
 
enum  _amxd_action {
  action_invalid = -1 , action_any = 0 , action_param_read , action_param_write ,
  action_param_validate , action_param_describe , action_param_destroy , action_object_read ,
  action_object_write , action_object_validate , action_object_list , action_object_describe ,
  action_object_tree , action_object_add_inst , action_object_del_inst , action_object_destroy ,
  action_object_add_mib , action_describe_action
}
 
enum  _amxd_dm_access { amxd_dm_access_public , amxd_dm_access_protected , amxd_dm_access_private }
 Access level. More...
 
enum  _amxd_object_type {
  amxd_object_root , amxd_object_singleton , amxd_object_template , amxd_object_instance ,
  amxd_object_mib , amxd_object_invalid
}
 The different object types. More...
 
enum  _amxd_oattr_id {
  amxd_oattr_read_only , amxd_oattr_persistent , amxd_oattr_private , amxd_oattr_locked ,
  amxd_oattr_protected , amxd_oattr_max = amxd_oattr_protected
}
 The object attributes. More...
 
enum  _amxd_direction { amxd_direction_up , amxd_direction_down , amxd_direction_down_reverse }
 
enum  _amxd_aattr_id {
  amxd_aattr_in , amxd_aattr_out , amxd_aattr_mandatory , amxd_aattr_strict ,
  amxd_aattr_max = amxd_aattr_strict
}
 The method argument attributes. More...
 
enum  _amxd_fattr_id {
  amxd_fattr_template , amxd_fattr_instance , amxd_fattr_private , amxd_fattr_protected ,
  amxd_fattr_async , amxd_fattr_max = amxd_fattr_async
}
 The method attributes. More...
 
enum  _amxd_pattr_id {
  amxd_pattr_template , amxd_pattr_instance , amxd_pattr_private , amxd_pattr_read_only ,
  amxd_pattr_persistent , amxd_pattr_variable , amxd_pattr_counter , amxd_pattr_key ,
  amxd_pattr_unique , amxd_pattr_protected , amxd_pattr_mutable , amxd_pattr_max = amxd_pattr_mutable
}
 
enum  _amxd_path_type {
  amxd_path_invalid , amxd_path_object , amxd_path_search , amxd_path_supported ,
  amxd_path_reference
}
 

Macro Definition Documentation

◆ AMXD_INLINE

#define AMXD_INLINE   static inline

Definition at line 66 of file amxd_types.h.

Typedef Documentation

◆ amxd_action_fn_t

typedef amxd_status_t(* amxd_action_fn_t) (amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)

Definition at line 150 of file amxd_types.h.

◆ amxd_action_t

◆ amxd_arg_attr_t

◆ amxd_direction_t

◆ amxd_dm_cb_t

typedef struct _amxd_dm_cb amxd_dm_cb_t

◆ amxd_dm_t

typedef struct _amxd_dm amxd_dm_t

◆ amxd_func_arg_t

◆ amxd_func_attr_t

◆ amxd_function_t

Definition at line 150 of file amxd_types.h.

◆ amxd_object_attr_t

◆ amxd_object_fn_t

typedef amxd_status_t(* amxd_object_fn_t) (amxd_object_t *object, amxd_function_t *func, amxc_var_t *args, amxc_var_t *ret)

Definition at line 272 of file amxd_types.h.

◆ amxd_object_t

typedef struct _amxd_object amxd_object_t

Definition at line 1 of file amxd_types.h.

◆ amxd_param_attr_t

◆ amxd_param_t

typedef struct _amxd_parameter amxd_param_t

Definition at line 1 of file amxd_types.h.

◆ amxd_path_t

typedef struct _amxd_path amxd_path_t

◆ amxd_path_type_t

◆ amxd_pattr_id_t

◆ amxd_status_t

Enumeration Type Documentation

◆ _amxd_action

Enumerator
action_invalid 
action_any 
action_param_read 
action_param_write 
action_param_validate 
action_param_describe 
action_param_destroy 
action_object_read 
action_object_write 
action_object_validate 
action_object_list 
action_object_describe 
action_object_tree 
action_object_add_inst 
action_object_del_inst 
action_object_destroy 
action_object_add_mib 
action_describe_action 

Definition at line 109 of file amxd_types.h.

109  {
110  action_invalid = -1,
111  action_any = 0, // callback functions added with this reason or always called
112  action_param_read, // read parameter value
113  action_param_write, // set parameter value
114  action_param_validate, // validate new value
115  action_param_describe, // get parameter definition
116  action_param_destroy, // remove and clean up parameter
117  action_object_read, // get all parameter values of an object
118  action_object_write, // set parameter values
119  action_object_validate, // validate the full object
120  action_object_list, // fetch list(s)
121  action_object_describe, // describe object, list all parameters, functions or children
122  action_object_tree, // list full tree, starting from an object
123  action_object_add_inst, // add an instance
124  action_object_del_inst, // verify instance can be deleted
125  action_object_destroy, // remove and clean up an object (any)
126  action_object_add_mib, // extend the object with a known mib
127  action_describe_action, // describe the action itself
128 } amxd_action_t;
@ action_param_write
Definition: amxd_types.h:113
@ action_object_write
Definition: amxd_types.h:118
@ action_object_add_inst
Definition: amxd_types.h:123
@ action_param_destroy
Definition: amxd_types.h:116
@ action_object_tree
Definition: amxd_types.h:122
@ action_invalid
Definition: amxd_types.h:110
@ action_object_del_inst
Definition: amxd_types.h:124
@ action_object_describe
Definition: amxd_types.h:121
@ action_describe_action
Definition: amxd_types.h:127
@ action_object_read
Definition: amxd_types.h:117
@ action_object_list
Definition: amxd_types.h:120
@ action_any
Definition: amxd_types.h:111
@ action_object_validate
Definition: amxd_types.h:119
@ action_object_destroy
Definition: amxd_types.h:125
@ action_param_read
Definition: amxd_types.h:112
@ action_param_validate
Definition: amxd_types.h:114
@ action_param_describe
Definition: amxd_types.h:115
@ action_object_add_mib
Definition: amxd_types.h:126
enum _amxd_action amxd_action_t

◆ _amxd_direction

Enumerator
amxd_direction_up 
amxd_direction_down 
amxd_direction_down_reverse 

Definition at line 214 of file amxd_types.h.

214  {
enum _amxd_direction amxd_direction_t
@ amxd_direction_down
Definition: amxd_types.h:216
@ amxd_direction_down_reverse
Definition: amxd_types.h:217
@ amxd_direction_up
Definition: amxd_types.h:215

◆ _amxd_path_type

Enumerator
amxd_path_invalid 
amxd_path_object 
amxd_path_search 
amxd_path_supported 
amxd_path_reference 

Definition at line 398 of file amxd_types.h.

398  {
enum _amxd_path_type amxd_path_type_t
@ amxd_path_invalid
Definition: amxd_types.h:399
@ amxd_path_reference
Definition: amxd_types.h:403
@ amxd_path_supported
Definition: amxd_types.h:402
@ amxd_path_search
Definition: amxd_types.h:401
@ amxd_path_object
Definition: amxd_types.h:400

◆ _amxd_pattr_id

Enumerator
amxd_pattr_template 
amxd_pattr_instance 
amxd_pattr_private 
amxd_pattr_read_only 
amxd_pattr_persistent 
amxd_pattr_variable 
amxd_pattr_counter 
amxd_pattr_key 
amxd_pattr_unique 
amxd_pattr_protected 
amxd_pattr_mutable 
amxd_pattr_max 

Definition at line 354 of file amxd_types.h.

354  {
@ amxd_pattr_template
Definition: amxd_types.h:355
@ amxd_pattr_private
Definition: amxd_types.h:357
@ amxd_pattr_persistent
Definition: amxd_types.h:359
@ amxd_pattr_variable
Definition: amxd_types.h:360
@ amxd_pattr_instance
Definition: amxd_types.h:356
@ amxd_pattr_unique
Definition: amxd_types.h:363
@ amxd_pattr_protected
Definition: amxd_types.h:364
@ amxd_pattr_mutable
Definition: amxd_types.h:365
@ amxd_pattr_key
Definition: amxd_types.h:362
@ amxd_pattr_read_only
Definition: amxd_types.h:358
@ amxd_pattr_counter
Definition: amxd_types.h:361
@ amxd_pattr_max
Definition: amxd_types.h:366
enum _amxd_pattr_id amxd_pattr_id_t

◆ _amxd_status

Enumerator
amxd_status_ok 
amxd_status_unknown_error 
amxd_status_object_not_found 
amxd_status_function_not_found 
amxd_status_parameter_not_found 
amxd_status_function_not_implemented 
amxd_status_invalid_function 
amxd_status_invalid_function_argument 
amxd_status_invalid_name 
amxd_status_invalid_attr 
amxd_status_invalid_value 
amxd_status_invalid_action 
amxd_status_invalid_type 
amxd_status_duplicate 
amxd_status_deferred 
amxd_status_read_only 
amxd_status_missing_key 
amxd_status_file_not_found 
amxd_status_invalid_arg 
amxd_status_out_of_mem 
amxd_status_recursion 
amxd_status_invalid_path 
amxd_status_invalid_expr 
amxd_status_permission_denied 
amxd_status_not_supported 
amxd_status_not_instantiated 
amxd_status_not_a_template 
amxd_status_timeout 
amxd_status_last 

Definition at line 77 of file amxd_types.h.

77  {
107 } amxd_status_t;
enum _amxd_status amxd_status_t
@ amxd_status_invalid_arg
Definition: amxd_types.h:96
@ amxd_status_invalid_expr
Definition: amxd_types.h:100
@ amxd_status_read_only
Definition: amxd_types.h:93
@ amxd_status_invalid_name
Definition: amxd_types.h:86
@ amxd_status_invalid_attr
Definition: amxd_types.h:87
@ amxd_status_missing_key
Definition: amxd_types.h:94
@ amxd_status_parameter_not_found
Definition: amxd_types.h:82
@ amxd_status_function_not_implemented
Definition: amxd_types.h:83
@ amxd_status_last
Definition: amxd_types.h:106
@ amxd_status_permission_denied
Definition: amxd_types.h:101
@ amxd_status_invalid_path
Definition: amxd_types.h:99
@ amxd_status_not_instantiated
Definition: amxd_types.h:103
@ amxd_status_invalid_type
Definition: amxd_types.h:90
@ amxd_status_object_not_found
Definition: amxd_types.h:80
@ amxd_status_invalid_function
Definition: amxd_types.h:84
@ amxd_status_file_not_found
Definition: amxd_types.h:95
@ amxd_status_invalid_function_argument
Definition: amxd_types.h:85
@ amxd_status_ok
Definition: amxd_types.h:78
@ amxd_status_unknown_error
Definition: amxd_types.h:79
@ amxd_status_out_of_mem
Definition: amxd_types.h:97
@ amxd_status_timeout
Definition: amxd_types.h:105
@ amxd_status_invalid_value
Definition: amxd_types.h:88
@ amxd_status_invalid_action
Definition: amxd_types.h:89
@ amxd_status_not_a_template
Definition: amxd_types.h:104
@ amxd_status_deferred
Definition: amxd_types.h:92
@ amxd_status_not_supported
Definition: amxd_types.h:102
@ amxd_status_recursion
Definition: amxd_types.h:98
@ amxd_status_function_not_found
Definition: amxd_types.h:81
@ amxd_status_duplicate
Definition: amxd_types.h:91