67 #include <amxc/amxc_macros.h>
68 #include <amxc/amxc.h>
69 #include <amxm/amxm.h>
90 amxc_var_t* ret_dummy = NULL;
92 when_null_trace(args, exit, ERROR,
"args is NULL");
95 when_null_trace(so_name, exit, ERROR,
"No vendor module loaded");
98 if(amxc_var_new(&ret_dummy)) {
99 SAH_TRACEZ_ERROR(
ME,
"Failed to allocate memory");
104 rc = amxm_execute_function(so_name,
MOD_PON_CTRL, func_name, args,
105 ret ? ret : ret_dummy);
107 SAH_TRACEZ_ERROR(
ME,
"%s.%s.%s() failed: rc=%d", so_name,
MOD_PON_CTRL,
112 if(ret_dummy != NULL) {
113 amxc_var_delete(&ret_dummy);
124 amxc_var_init(&args);
125 amxc_var_set(uint32_t, &args, MAX_NR_OF_ONUS);
128 SAH_TRACEZ_ERROR(
ME,
"Failed to set max nr of ONUs");
131 amxc_var_clean(&args);
156 amxc_var_init(&args);
160 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
162 amxc_var_add_key(cstring_t, &args,
"path", path);
163 amxc_var_add_key(
bool, &args,
"enable", enable);
166 SAH_TRACEZ_ERROR(
ME,
"path='%s' enable=%d: %s() failed",
170 amxc_var_clean(&args);
190 amxc_var_init(&args);
191 amxc_var_set(cstring_t, &args, path);
196 amxc_var_clean(&args);
219 amxc_var_init(&args);
221 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
222 amxc_var_add_key(cstring_t, &args,
"path", path);
224 amxc_var_add_key(uint32_t, &args,
"index", index);
229 amxc_var_clean(&args);
249 const char*
const names,
253 amxc_var_init(&args);
255 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
256 amxc_var_add_key(cstring_t, &args,
"path", path);
257 amxc_var_add_key(cstring_t, &args,
"names", names);
262 amxc_var_clean(&args);
281 amxc_var_set(fd_t, &var, fd);
283 amxc_var_clean(&var);
296 const char*
const password,
299 amxc_var_init(&args);
301 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
302 amxc_var_add_key(cstring_t, &args,
"ani_path", ani_path);
303 amxc_var_add_key(cstring_t, &args,
"password", password);
304 amxc_var_add_key(
bool, &args,
"is_hexadecimal_password", hex);
308 amxc_var_clean(&args);
const char * mod_get_vendor_module_loaded(void)
static const char *const GET_LIST_OF_INSTANCES
static const char *const MOD_PON_CTRL
static const char *const SET_PASSWORD
int pon_ctrl_get_param_values(const char *const path, const char *const names, amxc_var_t *ret)
void pon_ctrl_set_password(const char *const ani_path, const char *const password, bool hex)
static const char *const GET_PARAM_VALUES
void pon_ctrl_set_enable(const char *const path, bool enable)
static int call_pon_ctrl_function_common(const char *const func_name, amxc_var_t *args, amxc_var_t *ret)
int pon_ctrl_get_object_content(const char *const path, uint32_t index, amxc_var_t *ret)
int pon_ctrl_get_list_of_instances(const char *const path, amxc_var_t *ret)
void pon_ctrl_handle_file_descriptor(int fd)
static const char *const HANDLE_FILE_DESCRIPTOR
static const char *const GET_OBJECT_CONTENT
static const char *const SET_MAX_NR_OF_ONUS
static void set_max_nr_of_onus(void)
static const char *const SET_ENABLE
#define SAH_TRACEZ_DEBUG(zone, format,...)