mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Ticket refs #1262: bbf-datamodels: dynamic addition of datamodel parameters
This commit is contained in:
parent
b3bae9df19
commit
d4298475a3
39 changed files with 1425 additions and 360 deletions
|
|
@ -12,7 +12,9 @@ libbbfdm_la_SOURCES = \
|
|||
../dmuci.c \
|
||||
../dmcommon.c \
|
||||
../dmoperate.c \
|
||||
../dmdiagnostics.c \
|
||||
../dmdiagnostics.c \
|
||||
../dmentryjson.c \
|
||||
../dmmemjson.c \
|
||||
../wepkey.c
|
||||
|
||||
if BBF_TR181
|
||||
|
|
|
|||
131
dmbbf.c
131
dmbbf.c
|
|
@ -281,65 +281,89 @@ int dm_browse_leaf(struct dmctx *dmctx, DMNODE *parent_node, DMLEAF *leaf, void
|
|||
return err;
|
||||
}
|
||||
|
||||
void dm_browse_entry(struct dmctx *dmctx, DMNODE *parent_node, DMOBJ *entryobj, void *data, char *instance, char *parent_obj, int *err)
|
||||
{
|
||||
DMNODE node = {0};
|
||||
|
||||
node.obj = entryobj;
|
||||
node.parent = parent_node;
|
||||
node.instance_level = parent_node->instance_level;
|
||||
node.matched = parent_node->matched;
|
||||
dmasprintf(&(node.current_object), "%s%s%c", parent_obj, entryobj->obj, dm_delim);
|
||||
|
||||
if (entryobj->bbfdm_type != bbfdatamodel_type && entryobj->bbfdm_type != BBFDM_BOTH)
|
||||
return;
|
||||
|
||||
if (dmctx->checkobj) {
|
||||
*err = dmctx->checkobj(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (*err)
|
||||
return;
|
||||
}
|
||||
|
||||
*err = dmctx->method_obj(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (dmctx->stop)
|
||||
return;
|
||||
|
||||
if (entryobj->checkobj && ((entryobj->checkobj)(dmctx, data) == false) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (entryobj->browseinstobj) {
|
||||
if (dmctx->instance_wildchar) {
|
||||
dm_link_inst_obj(dmctx, &node, data, dmctx->instance_wildchar);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
entryobj->browseinstobj(dmctx, &node, data, instance);
|
||||
*err = dmctx->faultcode;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (entryobj->leaf) {
|
||||
if (dmctx->checkleaf) {
|
||||
*err = dmctx->checkleaf(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (!*err) {
|
||||
*err = dm_browse_leaf(dmctx, &node, entryobj->leaf, data, instance);
|
||||
if (dmctx->stop)
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
*err = dm_browse_leaf(dmctx, &node, entryobj->leaf, data, instance);
|
||||
if (dmctx->stop)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (entryobj->nextobj || entryobj->nextjsonobj) {
|
||||
*err = dm_browse(dmctx, &node, entryobj->nextobj, data, instance);
|
||||
}
|
||||
}
|
||||
|
||||
int dm_browse(struct dmctx *dmctx, DMNODE *parent_node, DMOBJ *entryobj, void *data, char *instance)
|
||||
{
|
||||
DMOBJ *jentryobj;
|
||||
int err = 0;
|
||||
if (!entryobj)
|
||||
return 0;
|
||||
|
||||
char *parent_obj = parent_node->current_object;
|
||||
for (; entryobj->obj; entryobj++) {
|
||||
DMNODE node = {0};
|
||||
node.obj = entryobj;
|
||||
node.parent = parent_node;
|
||||
node.instance_level = parent_node->instance_level;
|
||||
node.matched = parent_node->matched;
|
||||
dmasprintf(&(node.current_object), "%s%s%c", parent_obj, entryobj->obj, dm_delim);
|
||||
if (entryobj->bbfdm_type != bbfdatamodel_type && entryobj->bbfdm_type != BBFDM_BOTH)
|
||||
continue;
|
||||
if (dmctx->checkobj) {
|
||||
err = dmctx->checkobj(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (err)
|
||||
continue;
|
||||
}
|
||||
err = dmctx->method_obj(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
if (entryobj->checkobj && ((entryobj->checkobj)(dmctx, data) == false) ){
|
||||
continue;
|
||||
}
|
||||
if (entryobj->browseinstobj) {
|
||||
if (dmctx->instance_wildchar) {
|
||||
dm_link_inst_obj(dmctx, &node, data, dmctx->instance_wildchar);
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
entryobj->browseinstobj(dmctx, &node, data, instance);
|
||||
err = dmctx->faultcode;
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (entryobj->leaf) {
|
||||
if (dmctx->checkleaf) {
|
||||
err = dmctx->checkleaf(dmctx, &node, entryobj->permission, entryobj->addobj, entryobj->delobj, entryobj->forced_inform, entryobj->notification, entryobj->get_linker, data, instance);
|
||||
if (!err) {
|
||||
err = dm_browse_leaf(dmctx, &node, entryobj->leaf, data, instance);
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
}
|
||||
} else {
|
||||
err = dm_browse_leaf(dmctx, &node, entryobj->leaf, data, instance);
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
if (entryobj->nextobj) {
|
||||
err = dm_browse(dmctx, &node, entryobj->nextobj, data, instance);
|
||||
|
||||
if (entryobj) {
|
||||
for (; entryobj->obj; entryobj++) {
|
||||
dm_browse_entry(dmctx, parent_node, entryobj, data, instance, parent_obj, &err);
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if (parent_node->obj) {
|
||||
jentryobj = parent_node->obj->nextjsonobj;
|
||||
for (; (jentryobj && jentryobj->obj); jentryobj++) {
|
||||
dm_browse_entry(dmctx, parent_node, jentryobj, data, instance, parent_obj, &err);
|
||||
if (dmctx->stop)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
@ -401,7 +425,6 @@ int rootcmp(char *inparam, char *rootobj)
|
|||
return cmp;
|
||||
}
|
||||
|
||||
//END//
|
||||
/***************************
|
||||
* update instance & alias
|
||||
***************************/
|
||||
|
|
@ -1037,9 +1060,7 @@ int string_to_bool(char *v, bool *b)
|
|||
*****************/
|
||||
int dm_entry_operate(struct dmctx *dmctx)
|
||||
{
|
||||
int res;
|
||||
|
||||
res = operate_on_node(dmctx, dmctx->in_param, dmctx->in_value);
|
||||
int res = operate_on_node(dmctx, dmctx->in_param, dmctx->in_value);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
|
|||
15
dmbbf.h
15
dmbbf.h
|
|
@ -122,7 +122,7 @@ typedef struct dm_leaf_s {
|
|||
} DMLEAF;
|
||||
|
||||
typedef struct dm_obj_s {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type(12)*/
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type(13)*/
|
||||
char *obj;
|
||||
struct dm_permession_s *permission;
|
||||
int (*addobj)(char *refparam, struct dmctx *ctx, void *data, char **instance);
|
||||
|
|
@ -131,6 +131,7 @@ typedef struct dm_obj_s {
|
|||
int (*browseinstobj)(struct dmctx *dmctx, struct dmnode *node, void *data, char *instance);
|
||||
struct dm_forced_inform_s *forced_inform;
|
||||
struct dm_notif_s *notification;
|
||||
struct dm_obj_s *nextjsonobj;
|
||||
struct dm_obj_s *nextobj;
|
||||
struct dm_leaf_s *leaf;
|
||||
int (*get_linker)(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker);
|
||||
|
|
@ -186,6 +187,17 @@ struct dm_parameter {
|
|||
unsigned int flags;
|
||||
};
|
||||
|
||||
struct dm_json_parameter {
|
||||
struct list_head list;
|
||||
char *name;
|
||||
char *arg1;
|
||||
char *arg2;
|
||||
char *arg3;
|
||||
char *arg4;
|
||||
char *arg5;
|
||||
char *arg6;
|
||||
};
|
||||
|
||||
struct dmctx
|
||||
{
|
||||
bool stop;
|
||||
|
|
@ -197,6 +209,7 @@ struct dmctx
|
|||
struct list_head list_parameter;
|
||||
struct list_head set_list_tmp;
|
||||
struct list_head list_fault_param;
|
||||
struct list_head list_json_parameter;
|
||||
DMOBJ *dm_entryobj;
|
||||
bool nextlevel;
|
||||
int depth;
|
||||
|
|
|
|||
|
|
@ -1801,7 +1801,8 @@ int copy_temporary_file_to_original_file(char *f1, char *f2)
|
|||
return 1;
|
||||
}
|
||||
|
||||
char* readFileContent(char *filepath){
|
||||
char* readFileContent(char *filepath)
|
||||
{
|
||||
char *str=NULL, *tmp= NULL, *res= NULL;
|
||||
FILE *f = fopen(filepath, "rb");
|
||||
int i, j= 0;
|
||||
|
|
|
|||
14
dmentry.c
14
dmentry.c
|
|
@ -11,17 +11,18 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/wait.h>
|
||||
#include "dmbbf.h"
|
||||
#include "dmubus.h"
|
||||
#include "dmuci.h"
|
||||
#include "dmentry.h"
|
||||
#include "device.h"
|
||||
#include "wepkey.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/wait.h>
|
||||
#include <ctype.h>
|
||||
#include "dmcommon.h"
|
||||
#include "dmoperate.h"
|
||||
#include "dmentryjson.h"
|
||||
|
||||
LIST_HEAD(head_package_change);
|
||||
unsigned char dmcli_timetrack = 0;
|
||||
|
|
@ -106,7 +107,6 @@ static int dm_ctx_init_custom(struct dmctx *ctx, unsigned int dm_type, unsigned
|
|||
|
||||
free(tUPNPSupportedDM);
|
||||
#else
|
||||
strcpy(dmroot, "Device");
|
||||
dm_delim = DMDELIM_CWMP;
|
||||
ctx->dm_entryobj = tEntry181Obj;
|
||||
#endif
|
||||
|
|
@ -177,10 +177,12 @@ void dmentry_instance_lookup_inparam(struct dmctx *ctx)
|
|||
int dm_entry_param_method(struct dmctx *ctx, int cmd, char *inparam, char *arg1, char *arg2)
|
||||
{
|
||||
int fault = 0;
|
||||
bool setnotif = true;
|
||||
bool alarm = false, event = false;
|
||||
bool setnotif = true, alarm = false, event = false;
|
||||
int err, err2;
|
||||
|
||||
if (check_stats_folder(JSON_FOLDER_PATH))
|
||||
load_json_dynamic_arrays(ctx);
|
||||
|
||||
if (!inparam) inparam = "";
|
||||
ctx->in_param = inparam;
|
||||
dmentry_instance_lookup_inparam(ctx);
|
||||
|
|
|
|||
881
dmentryjson.c
Normal file
881
dmentryjson.c
Normal file
|
|
@ -0,0 +1,881 @@
|
|||
/*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Copyright (C) 2019 iopsys Software Solutions AB
|
||||
* Author Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/stat.h>
|
||||
#include <dirent.h>
|
||||
#include "dmcommon.h"
|
||||
#include "dmuci.h"
|
||||
#include "dmubus.h"
|
||||
#include "dmjson.h"
|
||||
#include "dmentryjson.h"
|
||||
#include "dmmemjson.h"
|
||||
#include "device.h"
|
||||
|
||||
LIST_HEAD(json_list);
|
||||
static char json_hash[64] = "";
|
||||
|
||||
static int get_stats_folder(char *folder_path, int *file_count, unsigned long *size, unsigned long *date)
|
||||
{
|
||||
struct stat stats;
|
||||
struct dirent *entry;
|
||||
DIR *dirp = NULL;
|
||||
char buf[256] = {0};
|
||||
int filecount = 0;
|
||||
unsigned long filesize = 0, filedate = 0;
|
||||
|
||||
if (isfolderexist(folder_path)) {
|
||||
dirp = opendir(folder_path);
|
||||
while ((entry = readdir(dirp)) != NULL) {
|
||||
if ((entry->d_type == DT_REG) && (strstr(entry->d_name, ".json"))) {
|
||||
filecount++;
|
||||
sprintf(buf, "%s/%s", folder_path, entry->d_name);
|
||||
if (!stat(buf, &stats)) {
|
||||
filesize = (filesize + stats.st_size) / 2;
|
||||
filedate = (filedate + stats.st_mtime) / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (dirp) closedir(dirp);
|
||||
|
||||
*file_count = filecount;
|
||||
*size = filesize;
|
||||
*date = filedate;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dm_browse_node_object_tree(DMNODE *parent_node, DMOBJ *entryobj)
|
||||
{
|
||||
if (!entryobj)
|
||||
return 0;
|
||||
|
||||
for (; entryobj->obj; entryobj++) {
|
||||
entryobj->nextjsonobj = NULL;
|
||||
DMNODE node = {0};
|
||||
node.obj = entryobj;
|
||||
node.parent = parent_node;
|
||||
node.instance_level = parent_node->instance_level;
|
||||
node.matched = parent_node->matched;
|
||||
|
||||
if (entryobj->nextobj)
|
||||
dm_browse_node_object_tree(&node, entryobj->nextobj);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int free_node_object_tree(void)
|
||||
{
|
||||
DMOBJ *root = tEntry181Obj;
|
||||
DMNODE node = {.current_object = ""};
|
||||
dm_browse_node_object_tree(&node, root);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int free_json_dynamic_arrays(void)
|
||||
{
|
||||
free_json_data_from_list(&json_list);
|
||||
dmcleanmemjson();
|
||||
free_node_object_tree();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int check_stats_folder(char *folder_path)
|
||||
{
|
||||
int file_count = 0;
|
||||
unsigned long size = 0, date = 0;
|
||||
char str[64] = "";
|
||||
|
||||
if (!get_stats_folder(folder_path, &file_count, &size, &date))
|
||||
return 0;
|
||||
|
||||
sprintf(str, "count:%d,sizes:%lu,date:%lu", file_count, size, date);
|
||||
|
||||
if (strcmp(str, json_hash)) {
|
||||
free_json_dynamic_arrays();
|
||||
strcpy(json_hash, str);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void generate_prefixobj_and_obj_full_obj(char *full_obj, char **prefix_obj, char **obj)
|
||||
{
|
||||
char *pch, *pchr, *tmp_obj = NULL, *str = NULL;
|
||||
|
||||
str = dmstrdupjson(full_obj);
|
||||
for (pch = strtok_r(str, ".", &pchr); pch != NULL; pch = strtok_r(NULL, ".", &pchr)) {
|
||||
if (pchr != NULL && *pchr != '\0') {
|
||||
if (*prefix_obj == NULL) {
|
||||
dmasprintfjson(prefix_obj, "%s.", pch);
|
||||
} else {
|
||||
tmp_obj = dmstrdupjson(*prefix_obj);
|
||||
dmfreejson(*prefix_obj);
|
||||
dmasprintfjson(prefix_obj, "%s%s.", tmp_obj, pch);
|
||||
dmfreejson(tmp_obj);
|
||||
}
|
||||
} else {
|
||||
*obj = dmstrdupjson(pch);
|
||||
}
|
||||
}
|
||||
if(str) dmfreejson(str);
|
||||
}
|
||||
|
||||
static char *generate_obj_without_instance(char *full_obj, bool is_obj)
|
||||
{
|
||||
char *pch, *pchr, *tmp_obj = NULL, *str = NULL, *obj = NULL;
|
||||
|
||||
str = dmstrdupjson(full_obj);
|
||||
for (pch = strtok_r(str, ".", &pchr); pch != NULL; pch = strtok_r(NULL, ".", &pchr)) {
|
||||
if (atoi(pch) == 0) {
|
||||
if (obj == NULL) {
|
||||
dmasprintfjson(&obj, "%s.", pch);
|
||||
} else {
|
||||
tmp_obj = dmstrdupjson(obj);
|
||||
dmfreejson(obj);
|
||||
if (is_obj)
|
||||
dmasprintfjson(&obj, "%s%s.", tmp_obj, pch);
|
||||
else {
|
||||
if (pchr != NULL && *pchr != '\0')
|
||||
dmasprintfjson(&obj, "%s%s.", tmp_obj, pch);
|
||||
else
|
||||
dmasprintfjson(&obj, "%s%s", tmp_obj, pch);
|
||||
}
|
||||
dmfreejson(tmp_obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(str) dmfreejson(str);
|
||||
return obj;
|
||||
}
|
||||
|
||||
static char *replace_string(const char *str, const char *old_string, const char *new_string)
|
||||
{
|
||||
char *value;
|
||||
int i, cnt = 0;
|
||||
int new_string_len = strlen(new_string);
|
||||
int old_string_len = strlen(old_string);
|
||||
|
||||
for (i = 0; str[i] != '\0'; i++) {
|
||||
if (strstr(&str[i], old_string) == &str[i]) {
|
||||
cnt++;
|
||||
i += old_string_len - 1;
|
||||
}
|
||||
}
|
||||
|
||||
value = (char *)dmmallocjson(i + cnt * (new_string_len - old_string_len) + 1);
|
||||
i = 0;
|
||||
while (*str) {
|
||||
if (strstr(str, old_string) == str) {
|
||||
strcpy(&value[i], new_string);
|
||||
i += new_string_len;
|
||||
str += old_string_len;
|
||||
}
|
||||
else
|
||||
value[i++] = *str++;
|
||||
}
|
||||
value[i] = '\0';
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
int get_index_of_available_entry(DMOBJ *jentryobj)
|
||||
{
|
||||
int idx = 0;
|
||||
for (; (jentryobj && jentryobj->obj); jentryobj++) {
|
||||
idx++;
|
||||
}
|
||||
return idx;
|
||||
}
|
||||
|
||||
int plugin_json_obj_match(struct dmctx *dmctx, struct dmnode *node, char *entry_obj, char *full_obj)
|
||||
{
|
||||
if (node->matched)
|
||||
return 0;
|
||||
|
||||
if (!dmctx->inparam_isparam && strstr(node->current_object, full_obj) == node->current_object) {
|
||||
node->matched++;
|
||||
dmctx->findparam = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (strstr(full_obj, node->current_object) == full_obj)
|
||||
return 0;
|
||||
|
||||
return FAULT_9005;
|
||||
}
|
||||
|
||||
|
||||
void dm_check_obj(struct dmctx *dmctx, DMNODE *parent_node, DMOBJ *entryobj, char *full_obj, char *obj, DMOBJ **root_entry, int *obj_found)
|
||||
{
|
||||
int err = 0;
|
||||
if (!entryobj)
|
||||
return;
|
||||
char *parent_obj = parent_node->current_object;
|
||||
for (; entryobj->obj; entryobj++) {
|
||||
DMNODE node = {0};
|
||||
node.obj = entryobj;
|
||||
node.parent = parent_node;
|
||||
node.instance_level = parent_node->instance_level;
|
||||
node.matched = parent_node->matched;
|
||||
dmasprintfjson(&(node.current_object), "%s%s%c", parent_obj, entryobj->obj, dm_delim);
|
||||
if (strcmp(node.current_object, obj) == 0) {
|
||||
*root_entry = entryobj;
|
||||
*obj_found = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
err = plugin_json_obj_match(dmctx, &node, entryobj->obj, full_obj);
|
||||
if (err)
|
||||
continue;
|
||||
|
||||
if (entryobj->nextobj)
|
||||
dm_check_obj(dmctx, &node, entryobj->nextobj, full_obj, obj, root_entry, obj_found);
|
||||
}
|
||||
}
|
||||
|
||||
int check_root_obj(struct dmctx *ctx, char *in_param_json, DMOBJ **root_entry)
|
||||
{
|
||||
char *prefix_obj = NULL, *obj = NULL, *full_obj;
|
||||
int prefix_obj_found = 0, obj_found = 0;
|
||||
DMOBJ *root = ctx->dm_entryobj;
|
||||
DMNODE node = {.current_object = ""};
|
||||
|
||||
full_obj = replace_string(in_param_json, ".{i}.", ".");
|
||||
|
||||
if (strcmp(full_obj, "Device.") == 0)
|
||||
prefix_obj = full_obj;
|
||||
else
|
||||
generate_prefixobj_and_obj_full_obj(full_obj, &prefix_obj, &obj);
|
||||
|
||||
dm_check_obj(ctx, &node, root, full_obj, prefix_obj, root_entry, &prefix_obj_found);
|
||||
if(prefix_obj_found && *root_entry) {
|
||||
dm_check_obj(ctx, &node, root, full_obj, full_obj, root_entry, &obj_found);
|
||||
dmfreejson(full_obj);
|
||||
if(obj_found)
|
||||
return 1;
|
||||
else
|
||||
return 2;
|
||||
}
|
||||
dmfreejson(full_obj);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void add_json_data_to_list(struct list_head *dup_list, char *name, char *arg1, char *arg2, char *arg3, char *arg4, char *arg5, char *arg6)
|
||||
{
|
||||
struct dm_json_parameter *dm_json_parameter;
|
||||
dm_json_parameter = dmcallocjson(1, sizeof(struct dm_json_parameter));
|
||||
list_add_tail(&dm_json_parameter->list, dup_list);
|
||||
if(name) dm_json_parameter->name = dmstrdupjson(name);
|
||||
if (arg1) dm_json_parameter->arg1 = dmstrdupjson(arg1);
|
||||
if (arg2) dm_json_parameter->arg2 = dmstrdupjson(arg2);
|
||||
if (arg3) dm_json_parameter->arg3 = dmstrdupjson(arg3);
|
||||
if (arg4) dm_json_parameter->arg4 = dmstrdupjson(arg4);
|
||||
if (arg5) dm_json_parameter->arg5 = dmstrdupjson(arg5);
|
||||
if (arg6) dm_json_parameter->arg6 = dmstrdupjson(arg6);
|
||||
}
|
||||
|
||||
void delete_json_data_from_list(struct dm_json_parameter *dm_json_parameter)
|
||||
{
|
||||
list_del(&dm_json_parameter->list);
|
||||
if (dm_json_parameter->name) dmfreejson(dm_json_parameter->name);
|
||||
if (dm_json_parameter->arg1) dmfreejson(dm_json_parameter->arg1);
|
||||
if (dm_json_parameter->arg2) dmfreejson(dm_json_parameter->arg2);
|
||||
if (dm_json_parameter->arg3) dmfreejson(dm_json_parameter->arg3);
|
||||
if (dm_json_parameter->arg4) dmfreejson(dm_json_parameter->arg4);
|
||||
if (dm_json_parameter->arg5) dmfreejson(dm_json_parameter->arg5);
|
||||
if (dm_json_parameter->arg6) dmfreejson(dm_json_parameter->arg6);
|
||||
if (dm_json_parameter) dmfreejson(dm_json_parameter);
|
||||
}
|
||||
|
||||
void free_json_data_from_list(struct list_head *dup_list)
|
||||
{
|
||||
struct dm_json_parameter *dm_json_parameter;
|
||||
while (dup_list->next != dup_list) {
|
||||
dm_json_parameter = list_entry(dup_list->next, struct dm_json_parameter, list);
|
||||
delete_json_data_from_list(dm_json_parameter);
|
||||
}
|
||||
}
|
||||
|
||||
int browse_obj(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
|
||||
{
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_dmmap_file :: arg5="" :: arg6=""
|
||||
|
||||
char *arg1 = NULL, *arg2 = NULL, *arg3 = NULL, *arg4 = NULL, *prefix_obj = NULL, *object = NULL;
|
||||
char buf_instance[64] = "", buf_alias[64] = "";
|
||||
struct dm_json_parameter *pleaf;
|
||||
|
||||
char *obj = generate_obj_without_instance(parent_node->current_object, true);
|
||||
generate_prefixobj_and_obj_full_obj(parent_node->current_object, &prefix_obj, &object);
|
||||
|
||||
sprintf(buf_instance, "%s_instance", object);
|
||||
sprintf(buf_alias, "%s_alias", object);
|
||||
for (int i = 0; buf_instance[i]; i++) {
|
||||
buf_instance[i] = tolower(buf_instance[i]);
|
||||
}
|
||||
for (int i = 0; buf_alias[i]; i++) {
|
||||
buf_alias[i] = tolower(buf_alias[i]);
|
||||
}
|
||||
|
||||
list_for_each_entry(pleaf, &json_list, list) {
|
||||
if (strcmp(pleaf->name, obj) == 0) {
|
||||
arg1 = pleaf->arg1;
|
||||
arg2 = pleaf->arg2;
|
||||
arg3 = pleaf->arg3;
|
||||
arg4 = pleaf->arg4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 && strcmp(arg1, "uci") == 0) {
|
||||
char *instance = NULL, *instnbr = NULL;
|
||||
struct dmmap_dup *p;
|
||||
LIST_HEAD(dup_list);
|
||||
|
||||
if(arg2 && arg3 && arg4) {
|
||||
synchronize_specific_config_sections_with_dmmap(arg2, arg3, arg4, &dup_list);
|
||||
list_for_each_entry(p, &dup_list, list) {
|
||||
instance = handle_update_instance(1, dmctx, &instnbr, update_instance_alias, 3, p->dmmap_section, buf_instance, buf_alias);
|
||||
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)p->config_section, instance) == DM_STOP)
|
||||
break;
|
||||
}
|
||||
}
|
||||
free_dmmap_config_dup_list(&dup_list);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int add_obj(char *refparam, struct dmctx *ctx, void *data, char **instance)
|
||||
{
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_dmmap_file :: arg5="" :: arg6=""
|
||||
|
||||
char *arg1 = NULL, *arg2 = NULL, *arg3 = NULL, *arg4 = NULL, *prefix_obj = NULL, *object = NULL;
|
||||
struct dm_json_parameter *pleaf;
|
||||
char buf_instance[64] = "";
|
||||
|
||||
char *obj = generate_obj_without_instance(refparam, true);
|
||||
list_for_each_entry(pleaf, &json_list, list) {
|
||||
if (strcmp(pleaf->name, obj) == 0) {
|
||||
arg1 = pleaf->arg1;
|
||||
arg2 = pleaf->arg2;
|
||||
arg3 = pleaf->arg3;
|
||||
arg4 = pleaf->arg4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 && strcmp(arg1, "uci") == 0) {
|
||||
generate_prefixobj_and_obj_full_obj(refparam, &prefix_obj, &object);
|
||||
sprintf(buf_instance, "%s_instance", object);
|
||||
for (int i = 0; buf_instance[i]; i++) {
|
||||
buf_instance[i] = tolower(buf_instance[i]);
|
||||
}
|
||||
|
||||
if(arg2 && arg3 && arg4) {
|
||||
char *inst = NULL, *sect_name = NULL;
|
||||
struct uci_section *section = NULL, *dmmap = NULL, *v;
|
||||
|
||||
check_create_dmmap_package(arg4);
|
||||
inst = get_last_instance_bbfdm(arg4, arg3, buf_instance);
|
||||
dmuci_add_section(arg2, arg3, §ion, §_name);
|
||||
|
||||
dmuci_add_section_bbfdm(arg4, arg3, &dmmap, &v);
|
||||
dmuci_set_value_by_section(dmmap, "section_name", sect_name);
|
||||
*instance = update_instance_bbfdm(dmmap, inst, buf_instance);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int delete_obj(char *refparam, struct dmctx *ctx, void *data, char *instance, unsigned char del_action)
|
||||
{
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_dmmap_file :: arg5="" :: arg6=""
|
||||
|
||||
char *arg1 = NULL, *arg2 = NULL, *arg3 = NULL, *arg4 = NULL;
|
||||
struct dm_json_parameter *pleaf;
|
||||
|
||||
char *obj = generate_obj_without_instance(refparam, true);
|
||||
list_for_each_entry(pleaf, &json_list, list) {
|
||||
if (strcmp(pleaf->name, obj) == 0) {
|
||||
arg1 = pleaf->arg1;
|
||||
arg2 = pleaf->arg2;
|
||||
arg3 = pleaf->arg3;
|
||||
arg4 = pleaf->arg4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 && strcmp(arg1, "uci") == 0) {
|
||||
if(arg2 && arg3 && arg4) {
|
||||
struct uci_section *s = NULL, *ss = NULL, *dmmap_section= NULL;
|
||||
int found = 0;
|
||||
|
||||
switch (del_action) {
|
||||
case DEL_INST:
|
||||
get_dmmap_section_of_config_section(arg4, arg3, section_name((struct uci_section *)data), &dmmap_section);
|
||||
if (dmmap_section != NULL)
|
||||
dmuci_delete_by_section(dmmap_section, NULL, NULL);
|
||||
dmuci_delete_by_section((struct uci_section *)data, NULL, NULL);
|
||||
break;
|
||||
case DEL_ALL:
|
||||
uci_foreach_sections(arg2, arg3, s) {
|
||||
if (found != 0) {
|
||||
get_dmmap_section_of_config_section(arg4, arg3, section_name(ss), &dmmap_section);
|
||||
if (dmmap_section != NULL)
|
||||
dmuci_delete_by_section(dmmap_section, NULL, NULL);
|
||||
dmuci_delete_by_section(ss, NULL, NULL);
|
||||
}
|
||||
ss = s;
|
||||
found++;
|
||||
}
|
||||
if (ss != NULL) {
|
||||
get_dmmap_section_of_config_section(arg4, arg3, section_name(ss), &dmmap_section);
|
||||
if(dmmap_section != NULL)
|
||||
dmuci_delete_by_section(dmmap_section, NULL, NULL);
|
||||
dmuci_delete_by_section(ss, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int getvalue_param(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
struct dm_json_parameter *pleaf;
|
||||
char *arg1 = NULL, *arg2 = NULL, *arg3 = NULL, *arg4 = NULL, *arg5 = NULL, *arg6 = NULL;
|
||||
|
||||
char *obj = generate_obj_without_instance(refparam, false);
|
||||
list_for_each_entry(pleaf, &json_list, list) {
|
||||
if (strcmp(pleaf->name, obj) == 0) {
|
||||
arg1 = pleaf->arg1;
|
||||
arg2 = pleaf->arg2;
|
||||
arg3 = pleaf->arg3;
|
||||
arg4 = pleaf->arg4;
|
||||
arg5 = pleaf->arg5;
|
||||
arg6 = pleaf->arg6;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 && strcmp(arg1, "uci") == 0) {
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_section_name :: arg5=uci_section_index :: arg6=uci_option_name
|
||||
|
||||
if (data && arg6) {
|
||||
dmuci_get_value_by_section_string((struct uci_section *)data, arg6, value);
|
||||
} else {
|
||||
if (arg2 && arg4 && arg6)
|
||||
dmuci_get_option_value_string(arg2, arg4, arg6, value);
|
||||
else
|
||||
*value = "";
|
||||
}
|
||||
} else if (arg1 && strcmp(arg1, "ubus") == 0) {
|
||||
//UBUS: arg1=type :: arg2=ubus_object :: arg3=ubus_method :: arg4=ubus_args1 :: arg5=ubus_args2 :: arg6=ubus_key
|
||||
|
||||
json_object *res;
|
||||
if (arg2 && arg3 && arg4 && arg5) {
|
||||
if (data && (strcmp(arg5, "@Name") == 0))
|
||||
dmubus_call(arg2, arg3, UBUS_ARGS{{arg4, section_name((struct uci_section *)data), String}}, 1, &res);
|
||||
else
|
||||
dmubus_call(arg2, arg3, UBUS_ARGS{{arg4, arg5, String}}, 1, &res);
|
||||
|
||||
} else if (arg2 && arg3) {
|
||||
dmubus_call(arg2, arg3, UBUS_ARGS{{}}, 0, &res);
|
||||
}
|
||||
|
||||
DM_ASSERT(res, *value = "");
|
||||
|
||||
if (arg6) {
|
||||
char arg6_1[32] = "";
|
||||
strcpy(arg6_1, arg6);
|
||||
char *opt = strchr(arg6_1, '.');
|
||||
if (opt) {
|
||||
*opt = '\0';
|
||||
char *arg6_2 = opt + 1;
|
||||
if (data && (strcmp(arg6_1, "@Name") == 0))
|
||||
*value = dmjson_get_value(res, 2, section_name((struct uci_section *)data), arg6_2);
|
||||
else
|
||||
*value = dmjson_get_value(res, 2, arg6_1, arg6_2);
|
||||
} else {
|
||||
*value = dmjson_get_value(res, 1, arg6);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
*value = "";
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int setvalue_param(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
struct dm_json_parameter *pleaf;
|
||||
char *arg1 = NULL, *arg2 = NULL, *arg4 = NULL, *arg6 = NULL;
|
||||
|
||||
char *obj = generate_obj_without_instance(refparam, false);
|
||||
list_for_each_entry(pleaf, &json_list, list) {
|
||||
if (strcmp(pleaf->name, obj) == 0) {
|
||||
arg1 = pleaf->arg1;
|
||||
arg2 = pleaf->arg2;
|
||||
arg4 = pleaf->arg4;
|
||||
arg6 = pleaf->arg6;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 && strcmp(arg1, "uci") == 0) {
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_section_name :: arg5=uci_section_index :: arg6=uci_option_name
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
break;
|
||||
case VALUESET:
|
||||
if (data && arg6) {
|
||||
dmuci_set_value_by_section((struct uci_section *)data, arg6, value);
|
||||
} else {
|
||||
if (arg2 && arg4 && arg6)
|
||||
dmuci_set_value(arg2, arg4, arg6, value);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool is_obj(char *object, json_object *jobj)
|
||||
{
|
||||
json_object_object_foreach(jobj, key, json_obj) {
|
||||
if((strcmp(key, "type") == 0) && (strcmp(json_object_get_string(json_obj), "object") == 0))
|
||||
return true;
|
||||
else if((strcmp(key, "type") == 0) && (strcmp(json_object_get_string(json_obj), "object") != 0))
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void parse_mapping_obj(char *object, json_object *mapping, struct list_head *list)
|
||||
{
|
||||
struct json_object *type, *obj;
|
||||
json_object_object_get_ex(mapping, "type", &type);
|
||||
|
||||
if (strcmp(json_object_get_string(type), "uci") == 0) {
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_dmmap_file :: arg5="" :: arg6=""
|
||||
|
||||
struct json_object *file, *section, *section_type, *dmmap_file;
|
||||
json_object_object_get_ex(mapping, "uci", &obj);
|
||||
json_object_object_get_ex(obj, "file", &file);
|
||||
json_object_object_get_ex(obj, "section", §ion);
|
||||
json_object_object_get_ex(section, "type", §ion_type);
|
||||
json_object_object_get_ex(obj, "dmmapfile", &dmmap_file);
|
||||
|
||||
//Add to list
|
||||
add_json_data_to_list(list, object, "uci", json_object_get_string(file), json_object_get_string(section_type), json_object_get_string(dmmap_file), "", "");
|
||||
}
|
||||
else {
|
||||
//Add to list
|
||||
add_json_data_to_list(list, object, "", "", "", "", "", "");
|
||||
}
|
||||
}
|
||||
|
||||
static void parse_mapping_param(char *parameter, json_object *mapping, struct list_head *list)
|
||||
{
|
||||
struct json_object *type, *obj;
|
||||
json_object_object_get_ex(mapping, "type", &type);
|
||||
|
||||
if (strcmp(json_object_get_string(type), "uci") == 0) {
|
||||
//UCI: arg1=type :: arg2=uci_file :: arg3=uci_section_type :: arg4=uci_section_name :: arg5=uci_section_index :: arg6=uci_option_name
|
||||
|
||||
struct json_object *file, *section, *type, *section_name, *index, *option, *option_name;
|
||||
json_object_object_get_ex(mapping, "uci", &obj);
|
||||
json_object_object_get_ex(obj, "file", &file);
|
||||
json_object_object_get_ex(obj, "section", §ion);
|
||||
json_object_object_get_ex(section, "type", &type);
|
||||
json_object_object_get_ex(section, "name", §ion_name);
|
||||
json_object_object_get_ex(section, "index", &index);
|
||||
json_object_object_get_ex(obj, "option", &option);
|
||||
json_object_object_get_ex(option, "name", &option_name);
|
||||
|
||||
//Add to list
|
||||
add_json_data_to_list(list, parameter, "uci", json_object_get_string(file), json_object_get_string(type), json_object_get_string(section_name), json_object_get_string(index), json_object_get_string(option_name));
|
||||
}
|
||||
else if (strcmp(json_object_get_string(type), "ubus") == 0) {
|
||||
//UBUS: arg1=type :: arg2=ubus_object :: arg3=ubus_method :: arg4=ubus_args1 :: arg5=ubus_args2 :: arg6=ubus_key
|
||||
|
||||
struct json_object *object, *method, *key, *args;
|
||||
char *args1 = NULL;
|
||||
json_object_object_get_ex(mapping, "ubus", &obj);
|
||||
json_object_object_get_ex(obj, "object", &object);
|
||||
json_object_object_get_ex(obj, "method", &method);
|
||||
json_object_object_get_ex(obj, "args", &args);
|
||||
json_object_object_foreach(args, arg1, args2) {
|
||||
args1 = arg1;
|
||||
}
|
||||
json_object_object_get_ex(obj, "key", &key);
|
||||
|
||||
//Add to list
|
||||
add_json_data_to_list(list, parameter, "ubus", json_object_get_string(object), json_object_get_string(method), args1, json_object_get_string(args2), json_object_get_string(key));
|
||||
}
|
||||
else {
|
||||
//Add to list
|
||||
add_json_data_to_list(list, parameter, "", "", "", "", "", "");
|
||||
}
|
||||
}
|
||||
|
||||
static void parse_param(char *object, char *param, json_object *jobj, DMLEAF *pleaf, int i, struct list_head *list)
|
||||
{
|
||||
/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type(8)*/
|
||||
struct json_object *type, *protocols, *proto, *write, *mapping;
|
||||
char full_param[256] = "";
|
||||
size_t n_proto, n_mapping;
|
||||
|
||||
//PARAM
|
||||
pleaf[i].parameter = dmstrdupjson(param);
|
||||
|
||||
//permission
|
||||
json_object_object_get_ex(jobj, "write", &write);
|
||||
pleaf[i].permission = json_object_get_boolean(write) ? &DMWRITE : &DMREAD;
|
||||
|
||||
//type
|
||||
json_object_object_get_ex(jobj, "type", &type);
|
||||
if (strcmp(json_object_get_string(type), "boolean") == 0)
|
||||
pleaf[i].type = DMT_BOOL;
|
||||
else if ((strcmp(json_object_get_string(type), "unsignedInt") == 0) || (strcmp(json_object_get_string(type), "unsignedLong") == 0))
|
||||
pleaf[i].type = DMT_UNINT;
|
||||
else if (strcmp(json_object_get_string(type), "hexBinary") == 0)
|
||||
pleaf[i].type = DMT_HEXBIN;
|
||||
else if (strcmp(json_object_get_string(type), "int") == 0)
|
||||
pleaf[i].type = DMT_INT;
|
||||
else if (strcmp(json_object_get_string(type), "long") == 0)
|
||||
pleaf[i].type = DMT_LONG;
|
||||
else if (strcmp(json_object_get_string(type), "dateTime") == 0)
|
||||
pleaf[i].type = DMT_TIME;
|
||||
else
|
||||
pleaf[i].type = DMT_STRING;
|
||||
|
||||
//getvalue
|
||||
pleaf[i].getvalue = getvalue_param;
|
||||
|
||||
//setvalue
|
||||
pleaf[i].setvalue = json_object_get_boolean(write) ? setvalue_param : NULL;
|
||||
|
||||
//forced_inform
|
||||
pleaf[i].forced_inform = NULL;
|
||||
|
||||
//notification
|
||||
pleaf[i].notification = NULL;
|
||||
|
||||
//bbfdm_type
|
||||
json_object_object_get_ex(jobj, "protocols", &protocols);
|
||||
n_proto = json_object_array_length(protocols);
|
||||
if (n_proto == 2)
|
||||
pleaf[i].bbfdm_type = BBFDM_BOTH;
|
||||
else if (n_proto == 1) {
|
||||
proto = json_object_array_get_idx(protocols, 0);
|
||||
if (strcmp(json_object_get_string(proto), "cwmp") == 0)
|
||||
pleaf[i].bbfdm_type = BBFDM_CWMP;
|
||||
else if (strcmp(json_object_get_string(proto), "usp") == 0)
|
||||
pleaf[i].bbfdm_type = BBFDM_USP;
|
||||
else
|
||||
pleaf[i].bbfdm_type = BBFDM_BOTH;
|
||||
} else
|
||||
pleaf[i].bbfdm_type = BBFDM_BOTH;
|
||||
|
||||
sprintf(full_param, "%s%s", object, param);
|
||||
json_object_object_get_ex(jobj, "mapping", &mapping);
|
||||
parse_mapping_param(full_param, mapping, list);
|
||||
}
|
||||
|
||||
static void count_obj_param_under_jsonobj(json_object *jsonobj, int *obj_number, int *param_number)
|
||||
{
|
||||
json_object_object_foreach(jsonobj, key, jobj) {
|
||||
if (json_object_get_type(jobj) == json_type_object) {
|
||||
json_object_object_foreach(jobj, key1, jobj1) {
|
||||
if ((strcmp(key1, "type") == 0) && (strcmp(json_object_get_string(jobj1), "object") == 0)) {
|
||||
(*obj_number)++;
|
||||
break;
|
||||
}
|
||||
else if (((strcmp(key1, "type") == 0) && (strcmp(json_object_get_string(jobj1), "object") != 0)) && (strcmp(key, "mapping") != 0)) {
|
||||
(*param_number)++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void parse_obj(char *object, json_object *jobj, DMOBJ *pobj, int index, struct list_head *list)
|
||||
{
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type(13)*/
|
||||
|
||||
char *full_obj = NULL, *prfix_obj = NULL, *obj_str = NULL;
|
||||
int obj_number = 0, param_number = 0, i = 0, j = 0;
|
||||
DMOBJ *next_obj;
|
||||
DMLEAF *next_leaf;
|
||||
|
||||
count_obj_param_under_jsonobj(jobj, &obj_number, ¶m_number);
|
||||
full_obj = replace_string(object, ".{i}.", ".");
|
||||
generate_prefixobj_and_obj_full_obj(full_obj, &prfix_obj, &obj_str);
|
||||
|
||||
//OBJ
|
||||
pobj[index].obj = obj_str;
|
||||
|
||||
//nextobj
|
||||
if (obj_number != 0) {
|
||||
next_obj = dmcallocjson(obj_number+1, sizeof(struct dm_obj_s));
|
||||
pobj[index].nextobj = next_obj;
|
||||
} else {
|
||||
pobj[index].nextobj = NULL;
|
||||
}
|
||||
|
||||
//leaf
|
||||
if (param_number != 0) {
|
||||
next_leaf = dmcallocjson(param_number+1, sizeof(struct dm_leaf_s));
|
||||
pobj[index].leaf = next_leaf;
|
||||
} else {
|
||||
pobj[index].leaf = NULL;
|
||||
}
|
||||
|
||||
json_object_object_foreach(jobj, key, json_obj) {
|
||||
//bbfdm_type
|
||||
if (strcmp(key, "protocols") == 0) {
|
||||
size_t n_proto = json_object_array_length(json_obj);
|
||||
if (n_proto == 2)
|
||||
pobj[index].bbfdm_type = BBFDM_BOTH;
|
||||
else if (n_proto == 1) {
|
||||
struct json_object *proto = json_object_array_get_idx(json_obj, 0);
|
||||
if (strcmp(json_object_get_string(proto), "cwmp") == 0)
|
||||
pobj[index].bbfdm_type = BBFDM_CWMP;
|
||||
else if (strcmp(json_object_get_string(proto), "usp") == 0)
|
||||
pobj[index].bbfdm_type = BBFDM_USP;
|
||||
else
|
||||
pobj[index].bbfdm_type = BBFDM_BOTH;
|
||||
} else
|
||||
pobj[index].bbfdm_type = BBFDM_BOTH;
|
||||
}
|
||||
|
||||
if (strcmp(key, "array") == 0) {
|
||||
//permission
|
||||
pobj[index].permission = json_object_get_boolean(json_obj) ? &DMWRITE : &DMREAD;
|
||||
|
||||
//addobj
|
||||
pobj[index].addobj = json_object_get_boolean(json_obj) ? add_obj : NULL;
|
||||
|
||||
//delobj
|
||||
pobj[index].delobj = json_object_get_boolean(json_obj) ? delete_obj : NULL;
|
||||
|
||||
//checkobj
|
||||
pobj[index].checkobj = NULL;
|
||||
|
||||
//browseinstobj
|
||||
pobj[index].browseinstobj = json_object_get_boolean(json_obj) ? browse_obj : NULL;
|
||||
|
||||
//forced_inform
|
||||
pobj[index].forced_inform = NULL;
|
||||
|
||||
//notification
|
||||
pobj[index].notification = NULL;
|
||||
|
||||
//nextjsonobj
|
||||
pobj[index].nextjsonobj = NULL;
|
||||
|
||||
//linker
|
||||
pobj[index].get_linker = NULL;
|
||||
}
|
||||
|
||||
if (strcmp(key, "mapping") == 0 && json_object_get_type(json_obj) == json_type_object) {
|
||||
parse_mapping_obj(full_obj, json_obj, list);
|
||||
}
|
||||
|
||||
if (json_object_get_type(json_obj) == json_type_object && is_obj(key, json_obj)) {
|
||||
parse_obj(key, json_obj, next_obj, j, list);
|
||||
j++;
|
||||
}
|
||||
|
||||
if (json_object_get_type(json_obj) == json_type_object && !is_obj(key, json_obj) && strcmp(key, "mapping") != 0) {
|
||||
parse_param(full_obj, key, json_obj, next_leaf, i, list);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void parse_next_obj(struct dmctx *ctx, json_object *jobj)
|
||||
{
|
||||
json_object_object_foreach(jobj, key, json_obj) {
|
||||
DMOBJ *dm_entryobj = NULL;
|
||||
if (json_object_get_type(json_obj) == json_type_object && is_obj(key, json_obj)) {
|
||||
int check_obj = check_root_obj(ctx, key, &dm_entryobj);
|
||||
if (check_obj == 0) continue;
|
||||
if (check_obj == 1) {
|
||||
parse_next_obj(ctx, json_obj);
|
||||
} else {
|
||||
if (!dm_entryobj) continue;
|
||||
if (dm_entryobj->nextjsonobj == NULL) {
|
||||
dm_entryobj->nextjsonobj = dmcallocjson(2, sizeof(struct dm_obj_s));
|
||||
parse_obj(key, json_obj, dm_entryobj->nextjsonobj, 0, &json_list);
|
||||
} else {
|
||||
int idx = get_index_of_available_entry(dm_entryobj->nextjsonobj);
|
||||
dm_entryobj->nextjsonobj = dmreallocjson(dm_entryobj->nextjsonobj, (idx + 2) * sizeof(struct dm_obj_s));
|
||||
memset(dm_entryobj->nextjsonobj + (idx + 1), 0, sizeof(struct dm_obj_s));
|
||||
parse_obj(key, json_obj, dm_entryobj->nextjsonobj, idx, &json_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int load_json_dynamic_arrays(struct dmctx *ctx)
|
||||
{
|
||||
struct dirent *ent;
|
||||
DIR *dir = NULL;
|
||||
|
||||
if (isfolderexist(JSON_FOLDER_PATH)) {
|
||||
sysfs_foreach_file(JSON_FOLDER_PATH, dir, ent) {
|
||||
if (strstr(ent->d_name, ".json")) {
|
||||
DMOBJ *dm_entryobj = NULL;
|
||||
json_object *json;
|
||||
char buf[32] = "";
|
||||
sprintf(buf, "%s/%s", JSON_FOLDER_PATH, ent->d_name);
|
||||
json = json_object_from_file(buf);
|
||||
if (!json) continue;
|
||||
|
||||
json_object_object_foreach(json, key, jobj) {
|
||||
if (!key) break;
|
||||
int check_obj = check_root_obj(ctx, key, &dm_entryobj);
|
||||
if (check_obj == 0) continue;
|
||||
if (check_obj == 1) {
|
||||
parse_next_obj(ctx, jobj);
|
||||
continue;
|
||||
}
|
||||
if (!dm_entryobj) continue;
|
||||
if (dm_entryobj->nextjsonobj == NULL) {
|
||||
dm_entryobj->nextjsonobj = dmcallocjson(2, sizeof(struct dm_obj_s));
|
||||
parse_obj(key, jobj, dm_entryobj->nextjsonobj, 0, &json_list);
|
||||
} else {
|
||||
int idx = get_index_of_available_entry(dm_entryobj->nextjsonobj);
|
||||
dm_entryobj->nextjsonobj = dmreallocjson(dm_entryobj->nextjsonobj, (idx + 2) * sizeof(struct dm_obj_s));
|
||||
memset(dm_entryobj->nextjsonobj + (idx + 1), 0, sizeof(struct dm_obj_s));
|
||||
parse_obj(key, jobj, dm_entryobj->nextjsonobj, idx, &json_list);
|
||||
|
||||
}
|
||||
}
|
||||
if (json) json_object_put(json);
|
||||
}
|
||||
}
|
||||
if (dir) closedir(dir);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
21
dmentryjson.h
Normal file
21
dmentryjson.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Copyright (C) 2019 iopsys Software Solutions AB
|
||||
* Author Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DMENTRYJSON_H__
|
||||
#define __DMENTRYJSON_H__
|
||||
|
||||
#define JSON_FOLDER_PATH "/etc/bbfdm/json"
|
||||
|
||||
int check_stats_folder(char *folder_path);
|
||||
int load_json_dynamic_arrays(struct dmctx *ctx);
|
||||
int free_json_dynamic_arrays(void);
|
||||
|
||||
#endif //__DMENTRYJSON_H__
|
||||
84
dmmemjson.c
Normal file
84
dmmemjson.c
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Copyright (C) 2019 iopsys Software Solutions AB
|
||||
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "dmmemjson.h"
|
||||
|
||||
LIST_HEAD(memheadjson);
|
||||
|
||||
inline void *__dmmallocjson(size_t size)
|
||||
{
|
||||
struct dmmemjson *m = malloc(sizeof(struct dmmemjson) + size);
|
||||
if (m == NULL) return NULL;
|
||||
list_add(&m->list, &memheadjson);
|
||||
return (void *)m->mem;
|
||||
}
|
||||
|
||||
inline void *__dmcallocjson(int n, size_t size)
|
||||
{
|
||||
struct dmmemjson *m = calloc(n, sizeof(struct dmmemjson) + size);
|
||||
if (m == NULL) return NULL;
|
||||
list_add(&m->list, &memheadjson);
|
||||
return (void *)m->mem;
|
||||
}
|
||||
|
||||
inline void *__dmreallocjson(void *old, size_t size)
|
||||
{
|
||||
struct dmmemjson *m = NULL;
|
||||
if (old != NULL) {
|
||||
m = container_of(old, struct dmmemjson, mem);
|
||||
list_del(&m->list);
|
||||
}
|
||||
m = realloc(m, sizeof(struct dmmemjson) + size);
|
||||
if (m == NULL) return NULL;
|
||||
list_add(&m->list, &memheadjson);
|
||||
return (void *)m->mem;
|
||||
}
|
||||
|
||||
inline void dmfreejson(void *m)
|
||||
{
|
||||
if (m == NULL) return;
|
||||
struct dmmemjson *rm;
|
||||
rm = container_of(m, struct dmmemjson, mem);
|
||||
list_del(&rm->list);
|
||||
free(rm);
|
||||
}
|
||||
|
||||
void dmcleanmemjson()
|
||||
{
|
||||
struct dmmemjson *dmm;
|
||||
while (memheadjson.next != &memheadjson) {
|
||||
dmm = list_entry(memheadjson.next, struct dmmemjson, list);
|
||||
list_del(&dmm->list);
|
||||
free(dmm);
|
||||
}
|
||||
}
|
||||
|
||||
char *__dmstrdupjson(const char *s)
|
||||
{
|
||||
size_t len = strlen(s) + 1;
|
||||
void *new = __dmmallocjson(len);
|
||||
if (new == NULL) return NULL;
|
||||
return (char *) memcpy(new, s, len);
|
||||
}
|
||||
|
||||
|
||||
int __dmasprintfjson(char **s, const char *format, ...)
|
||||
{
|
||||
char buf[512];
|
||||
va_list arg;
|
||||
int ret;
|
||||
va_start(arg,format);
|
||||
ret = vsprintf(buf, format, arg);
|
||||
va_end(arg);
|
||||
*s = __dmstrdup(buf);
|
||||
if (*s == NULL) return -1;
|
||||
return 0;
|
||||
}
|
||||
40
dmmemjson.h
Normal file
40
dmmemjson.h
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Copyright (C) 2019 iopsys Software Solutions AB
|
||||
* Author: Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <libubox/list.h>
|
||||
|
||||
#ifndef __DMMEMJSON_H
|
||||
#define __DMMEMJSON_H
|
||||
|
||||
struct dmmemjson {
|
||||
struct list_head list;
|
||||
char mem[0];
|
||||
};
|
||||
|
||||
void *__dmmallocjson(size_t size);
|
||||
void *__dmcallocjson(int n, size_t size);
|
||||
void *__dmreallocjson(void *n, size_t size);
|
||||
char *__dmstrdupjson(const char *s);
|
||||
int __dmasprintfjson(char **s, const char *format, ...);
|
||||
void dmfreejson(void *m);
|
||||
void dmcleanmemjson();
|
||||
|
||||
#define dmmallocjson(x) __dmmallocjson(x)
|
||||
#define dmcallocjson(n, x) __dmcallocjson(n, x)
|
||||
#define dmreallocjson(x, n) __dmreallocjson(x, n)
|
||||
#define dmstrdupjson(x) __dmstrdupjson(x)
|
||||
#define dmasprintfjson(s, format, ...) __dmasprintfjson(s, format, ## __VA_ARGS__)
|
||||
|
||||
#endif //__DMMEMJSON_H
|
||||
|
|
@ -22,16 +22,16 @@
|
|||
|
||||
/* *** Device.Services. *** */
|
||||
DMOBJ tServicesObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"VoiceService", &DMREAD, NULL, NULL, NULL, browseVoiceServiceInst, NULL, NULL, tServicesVoiceServiceObj, tServicesVoiceServiceParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"VoiceService", &DMREAD, NULL, NULL, NULL, browseVoiceServiceInst, NULL, NULL, NULL, tServicesVoiceServiceObj, tServicesVoiceServiceParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.Services.VoiceService.{i}. *** */
|
||||
DMOBJ tServicesVoiceServiceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Capabilities", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesObj, tServicesVoiceServiceCapabilitiesParams, NULL, BBFDM_BOTH},
|
||||
{"VoiceProfile", &DMWRITE, add_profile_object, delete_profile_object, NULL, browseProfileInst, NULL, NULL, tServicesVoiceServiceVoiceProfileObj, tServicesVoiceServiceVoiceProfileParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Capabilities", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesObj, tServicesVoiceServiceCapabilitiesParams, NULL, BBFDM_BOTH},
|
||||
{"VoiceProfile", &DMWRITE, add_profile_object, delete_profile_object, NULL, browseProfileInst, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileObj, tServicesVoiceServiceVoiceProfileParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -43,9 +43,9 @@ DMLEAF tServicesVoiceServiceParams[] = {
|
|||
|
||||
/* *** Device.Services.VoiceService.{i}.Capabilities. *** */
|
||||
DMOBJ tServicesVoiceServiceCapabilitiesObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesSIPParams, NULL, BBFDM_BOTH},
|
||||
{"Codecs", &DMREAD, NULL, NULL, NULL, browseCodecsInst, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesCodecsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesSIPParams, NULL, BBFDM_BOTH},
|
||||
{"Codecs", &DMREAD, NULL, NULL, NULL, browseCodecsInst, NULL, NULL, NULL, NULL, tServicesVoiceServiceCapabilitiesCodecsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -111,12 +111,12 @@ DMLEAF tServicesVoiceServiceCapabilitiesCodecsParams[] = {
|
|||
|
||||
/* *** Device.Services.VoiceService.{i}.VoiceProfile.{i}. *** */
|
||||
DMOBJ tServicesVoiceServiceVoiceProfileObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileSIPParams, NULL, BBFDM_BOTH},
|
||||
{"ServiceProviderInfo", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileServiceProviderInfoParams, NULL, BBFDM_BOTH},
|
||||
{"FaxT38", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileFaxT38Params, NULL, BBFDM_BOTH},
|
||||
{"RTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPObj, tServicesVoiceServiceVoiceProfileRTPParams, NULL, BBFDM_BOTH},
|
||||
{"Line", &DMWRITE, add_line_object, delete_line_object, NULL, browseLineInst, NULL, NULL, tServicesVoiceServiceVoiceProfileLineObj, tServicesVoiceServiceVoiceProfileLineParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileSIPParams, NULL, BBFDM_BOTH},
|
||||
{"ServiceProviderInfo", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileServiceProviderInfoParams, NULL, BBFDM_BOTH},
|
||||
{"FaxT38", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileFaxT38Params, NULL, BBFDM_BOTH},
|
||||
{"RTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPObj, tServicesVoiceServiceVoiceProfileRTPParams, NULL, BBFDM_BOTH},
|
||||
{"Line", &DMWRITE, add_line_object, delete_line_object, NULL, browseLineInst, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineObj, tServicesVoiceServiceVoiceProfileLineParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -172,9 +172,9 @@ DMLEAF tServicesVoiceServiceVoiceProfileFaxT38Params[] = {
|
|||
|
||||
/* *** Device.Services.VoiceService.{i}.VoiceProfile.{i}.RTP. *** */
|
||||
DMOBJ tServicesVoiceServiceVoiceProfileRTPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RTCP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPRTCPParams, NULL, BBFDM_BOTH},
|
||||
{"SRTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPSRTPParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RTCP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPRTCPParams, NULL, BBFDM_BOTH},
|
||||
{"SRTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileRTPSRTPParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -203,11 +203,11 @@ DMLEAF tServicesVoiceServiceVoiceProfileRTPSRTPParams[] = {
|
|||
|
||||
/* *** Device.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}. *** */
|
||||
DMOBJ tServicesVoiceServiceVoiceProfileLineObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"VoiceProcessing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineVoiceProcessingParams, NULL, BBFDM_BOTH},
|
||||
{"CallingFeatures", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCallingFeaturesParams, NULL, BBFDM_BOTH},
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineSIPParams, NULL, BBFDM_BOTH},
|
||||
{"Codec", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCodecObj, NULL, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"VoiceProcessing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineVoiceProcessingParams, NULL, BBFDM_BOTH},
|
||||
{"CallingFeatures", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCallingFeaturesParams, NULL, BBFDM_BOTH},
|
||||
{"SIP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineSIPParams, NULL, BBFDM_BOTH},
|
||||
{"Codec", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCodecObj, NULL, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -250,8 +250,8 @@ DMLEAF tServicesVoiceServiceVoiceProfileLineSIPParams[] = {
|
|||
|
||||
/* *** Device.Services.VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Codec. *** */
|
||||
DMOBJ tServicesVoiceServiceVoiceProfileLineCodecObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"List", &DMREAD, NULL, NULL, NULL, browseLineCodecListInst, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCodecListParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"List", &DMREAD, NULL, NULL, NULL, browseLineCodecListInst, NULL, NULL, NULL, NULL, tServicesVoiceServiceVoiceProfileLineCodecListParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@
|
|||
|
||||
/* *** Device.IP.Diagnostics. *** */
|
||||
DMOBJ tIPDiagnosticsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPPing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsIPPingParams, NULL, BBFDM_CWMP},
|
||||
{"TraceRoute", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsTraceRouteObj, tIPDiagnosticsTraceRouteParams, NULL, BBFDM_CWMP},
|
||||
{"DownloadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsDownloadDiagnosticsObj, tIPDiagnosticsDownloadDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"UploadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUploadDiagnosticsObj, tIPDiagnosticsUploadDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"UDPEchoConfig", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUDPEchoConfigParams, NULL, BBFDM_BOTH},
|
||||
{"UDPEchoDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUDPEchoDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"ServerSelectionDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsServerSelectionDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPPing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsIPPingParams, NULL, BBFDM_CWMP},
|
||||
{"TraceRoute", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsTraceRouteObj, tIPDiagnosticsTraceRouteParams, NULL, BBFDM_CWMP},
|
||||
{"DownloadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsDownloadDiagnosticsObj, tIPDiagnosticsDownloadDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"UploadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUploadDiagnosticsObj, tIPDiagnosticsUploadDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"UDPEchoConfig", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUDPEchoConfigParams, NULL, BBFDM_BOTH},
|
||||
{"UDPEchoDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsUDPEchoDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{"ServerSelectionDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsServerSelectionDiagnosticsParams, NULL, BBFDM_CWMP},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -74,8 +74,8 @@ DMLEAF tIPDiagnosticsIPPingParams[] = {
|
|||
|
||||
/* *** Device.IP.Diagnostics.TraceRoute. *** */
|
||||
DMOBJ tIPDiagnosticsTraceRouteObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RouteHops", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsTraceRouteRouteHopsInst, NULL, NULL, NULL, tIPDiagnosticsTraceRouteRouteHopsParams, NULL, BBFDM_CWMP},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RouteHops", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsTraceRouteRouteHopsInst, NULL, NULL, NULL, NULL, tIPDiagnosticsTraceRouteRouteHopsParams, NULL, BBFDM_CWMP},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -107,8 +107,8 @@ DMLEAF tIPDiagnosticsTraceRouteRouteHopsParams[] = {
|
|||
|
||||
/* *** Device.IP.Diagnostics.DownloadDiagnostics. *** */
|
||||
DMOBJ tIPDiagnosticsDownloadDiagnosticsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PerConnectionResult", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsDownloadDiagnosticsPerConnectionResultInst, NULL, NULL, NULL, tIPDiagnosticsDownloadDiagnosticsPerConnectionResultParams, NULL, BBFDM_CWMP},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PerConnectionResult", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsDownloadDiagnosticsPerConnectionResultInst, NULL, NULL, NULL, NULL, tIPDiagnosticsDownloadDiagnosticsPerConnectionResultParams, NULL, BBFDM_CWMP},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -156,8 +156,8 @@ DMLEAF tIPDiagnosticsDownloadDiagnosticsPerConnectionResultParams[] = {
|
|||
|
||||
/* *** Device.IP.Diagnostics.UploadDiagnostics. *** */
|
||||
DMOBJ tIPDiagnosticsUploadDiagnosticsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PerConnectionResult", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsUploadDiagnosticsPerConnectionResultInst, NULL, NULL, NULL, tIPDiagnosticsUploadDiagnosticsPerConnectionResultParams, NULL, BBFDM_CWMP},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PerConnectionResult", &DMREAD, NULL, NULL, NULL, browseIPDiagnosticsUploadDiagnosticsPerConnectionResultInst, NULL, NULL, NULL, NULL, tIPDiagnosticsUploadDiagnosticsPerConnectionResultParams, NULL, BBFDM_CWMP},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
/* *** Device.BulkData. *** */
|
||||
DMOBJ tBulkDataObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Profile", &DMWRITE, addObjBulkDataProfile, delObjBulkDataProfile, NULL, browseBulkDataProfileInst, NULL, NULL, tBulkDataProfileObj, tBulkDataProfileParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Profile", &DMWRITE, addObjBulkDataProfile, delObjBulkDataProfile, NULL, browseBulkDataProfileInst, NULL, NULL, NULL, tBulkDataProfileObj, tBulkDataProfileParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -39,11 +39,11 @@ DMLEAF tBulkDataParams[] = {
|
|||
|
||||
/* *** Device.BulkData.Profile.{i}. *** */
|
||||
DMOBJ tBulkDataProfileObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Parameter", &DMWRITE, addObjBulkDataProfileParameter, delObjBulkDataProfileParameter, NULL, browseBulkDataProfileParameterInst, NULL, NULL, NULL, tBulkDataProfileParameterParams, NULL, BBFDM_BOTH},
|
||||
{"CSVEncoding", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileCSVEncodingParams, NULL, BBFDM_BOTH},
|
||||
{"JSONEncoding", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileJSONEncodingParams, NULL, BBFDM_BOTH},
|
||||
{"HTTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileHTTPObj, tBulkDataProfileHTTPParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Parameter", &DMWRITE, addObjBulkDataProfileParameter, delObjBulkDataProfileParameter, NULL, browseBulkDataProfileParameterInst, NULL, NULL, NULL, NULL, tBulkDataProfileParameterParams, NULL, BBFDM_BOTH},
|
||||
{"CSVEncoding", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileCSVEncodingParams, NULL, BBFDM_BOTH},
|
||||
{"JSONEncoding", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileJSONEncodingParams, NULL, BBFDM_BOTH},
|
||||
{"HTTP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataProfileHTTPObj, tBulkDataProfileHTTPParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -98,8 +98,8 @@ DMLEAF tBulkDataProfileJSONEncodingParams[] = {
|
|||
|
||||
/* *** Device.BulkData.Profile.{i}.HTTP. *** */
|
||||
DMOBJ tBulkDataProfileHTTPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RequestURIParameter", &DMWRITE, addObjBulkDataProfileHTTPRequestURIParameter, delObjBulkDataProfileHTTPRequestURIParameter, NULL, browseBulkDataProfileHTTPRequestURIParameterInst, NULL, NULL, NULL, tBulkDataProfileHTTPRequestURIParameterParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RequestURIParameter", &DMWRITE, addObjBulkDataProfileHTTPRequestURIParameter, delObjBulkDataProfileHTTPRequestURIParameter, NULL, browseBulkDataProfileHTTPRequestURIParameterInst, NULL, NULL, NULL, NULL, tBulkDataProfileHTTPRequestURIParameterParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -21,15 +21,15 @@
|
|||
|
||||
/*** ATM. ***/
|
||||
DMOBJ tATMObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Link", &DMWRITE, add_atm_link, delete_atm_link, NULL, browseAtmLinkInst, NULL, NULL, tATMLinkObj, tATMLinkParams, get_atm_linker, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Link", &DMWRITE, add_atm_link, delete_atm_link, NULL, browseAtmLinkInst, NULL, NULL, NULL, tATMLinkObj, tATMLinkParams, get_atm_linker, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/*** ATM.Link. ***/
|
||||
DMOBJ tATMLinkObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tATMLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tATMLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ static char *wan_baseifname = NULL;
|
|||
|
||||
/*** Bridging. ***/
|
||||
DMOBJ tBridgingObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Bridge", &DMWRITE, add_bridge, delete_bridge, NULL, browseBridgeInst, NULL, NULL, tBridgingBridgeObj, tBridgingBridgeParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Bridge", &DMWRITE, add_bridge, delete_bridge, NULL, browseBridgeInst, NULL, NULL, NULL, tBridgingBridgeObj, tBridgingBridgeParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -43,10 +43,10 @@ DMLEAF tBridgingParams[] = {
|
|||
|
||||
/*** Bridging.Bridge.{i}. ***/
|
||||
DMOBJ tBridgingBridgeObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Port", &DMWRITE, add_br_port, delete_br_port, NULL, browseBridgePortInst, NULL, NULL, tBridgingBridgePortObj, tBridgingBridgePortParams, get_linker_br_port, BBFDM_BOTH},
|
||||
{"VLAN", &DMWRITE, add_br_vlan, delete_br_vlan, NULL, browseBridgeVlanInst, NULL, NULL, NULL, tBridgingBridgeVLANParams, get_linker_br_vlan, BBFDM_BOTH},
|
||||
{"VLANPort", &DMREAD, NULL, NULL, NULL, browseBridgeVlanPortInst, NULL, NULL, NULL, tBridgingBridgeVLANPortParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Port", &DMWRITE, add_br_port, delete_br_port, NULL, browseBridgePortInst, NULL, NULL, NULL, tBridgingBridgePortObj, tBridgingBridgePortParams, get_linker_br_port, BBFDM_BOTH},
|
||||
{"VLAN", &DMWRITE, add_br_vlan, delete_br_vlan, NULL, browseBridgeVlanInst, NULL, NULL, NULL, NULL, tBridgingBridgeVLANParams, get_linker_br_vlan, BBFDM_BOTH},
|
||||
{"VLANPort", &DMREAD, NULL, NULL, NULL, browseBridgeVlanPortInst, NULL, NULL, NULL, NULL, tBridgingBridgeVLANPortParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -65,8 +65,8 @@ DMLEAF tBridgingBridgeParams[] = {
|
|||
|
||||
/*** Bridging.Bridge.{i}.Port.{i}. ***/
|
||||
DMOBJ tBridgingBridgePortObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingBridgePortStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingBridgePortStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -59,8 +59,8 @@
|
|||
|
||||
/* *** BBFDM *** */
|
||||
DMOBJ tEntry181Obj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{(char *)&dmroot, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot_181_Obj, tRoot_181_Params, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, NULL, tRoot_181_Obj, tRoot_181_Params, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -72,48 +72,48 @@ DMLEAF tRoot_181_Params[] = {
|
|||
};
|
||||
|
||||
DMOBJ tRoot_181_Obj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tDeviceInfoObj, tDeviceInfoParams, NULL, BBFDM_BOTH},
|
||||
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tManagementServerParams, NULL, BBFDM_BOTH},
|
||||
{"Time", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tTimeParams, NULL, BBFDM_BOTH},
|
||||
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tUPnPObj, NULL, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, NULL, tDeviceInfoObj, tDeviceInfoParams, NULL, BBFDM_BOTH},
|
||||
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, NULL, NULL, tManagementServerParams, NULL, BBFDM_BOTH},
|
||||
{"Time", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, NULL, tTimeParams, NULL, BBFDM_BOTH},
|
||||
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, tUPnPObj, NULL, NULL, BBFDM_BOTH},
|
||||
#ifdef BBF_TR104
|
||||
{"Services", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tServicesObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"Services", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, tServicesObj, NULL, NULL, BBFDM_BOTH},
|
||||
#endif
|
||||
{CUSTOM_PREFIX"ICE", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IceParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IGMP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IgmpParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IpAccCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSe_IpAccObj, NULL, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"LoginCfg", &DMREAD, NULL, NULL, NULL, NULL,NULL, &DMNONE,NULL, tSe_LoginCfgParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"PowerManagement", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_PowerManagementParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"SyslogCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_SyslogCfgParam, NULL, BBFDM_BOTH},
|
||||
{"SoftwareModules", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSoftwareModulesObj, NULL, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,XIopsysEuOwsdObj, XIopsysEuOwsdParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIopsysEuDropbear, NULL, &DMNONE, NULL, X_IOPSYS_EU_DropbearParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Buttons", &DMREAD, NULL, NULL, NULL, browseXIopsysEuButton, NULL, &DMNONE, NULL, X_IOPSYS_EU_ButtonParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"WiFiLife", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, X_IOPSYS_EU_WiFiLifeObj, X_IOPSYS_EU_WiFiLifeParams, NULL, BBFDM_BOTH},
|
||||
{"Bridging",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingObj, tBridgingParams, NULL, BBFDM_BOTH},
|
||||
{"WiFi",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiObj, tWiFiParams, NULL, BBFDM_BOTH},
|
||||
{"IP",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPObj, tIPParams, NULL, BBFDM_BOTH},
|
||||
{"Ethernet", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetObj, tEthernetParams, NULL, BBFDM_BOTH},
|
||||
{"DSL",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDSLObj, tDSLParams, NULL, BBFDM_BOTH},
|
||||
{"ATM",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tATMObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"PTM", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tPTMObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"DHCPv4", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDhcpv4Obj, tDHCPv4Params, NULL, BBFDM_BOTH},
|
||||
{"DHCPv6", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv6Obj, tDHCPv6Params, NULL, BBFDM_BOTH},
|
||||
{"Hosts", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tHostsObj, tHostsParams, NULL, BBFDM_BOTH},
|
||||
{"NAT", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tNATObj, tNATParams, NULL, BBFDM_BOTH},
|
||||
{"PPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tPPPObj, tPPPParams, NULL, BBFDM_BOTH},
|
||||
{"Routing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingObj, tRoutingParams, NULL, BBFDM_BOTH},
|
||||
{"UserInterface", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUserInterfaceObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"Firewall", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tFirewallObj, tFirewallParams, NULL, BBFDM_BOTH},
|
||||
{"DNS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDNSObj, tDNSParams, NULL, BBFDM_BOTH},
|
||||
{"Users", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUsersObj, tUsersParams, NULL, BBFDM_BOTH},
|
||||
{"InterfaceStack", &DMREAD, NULL, NULL, NULL, browseInterfaceStackInst, NULL, NULL, NULL, tInterfaceStackParams, NULL, BBFDM_BOTH},
|
||||
{"USB", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUSBObj, tUSBParams, NULL, BBFDM_BOTH},
|
||||
//{"QoS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tQoSObj, tQoSParams, NULL, BBFDM_BOTH},
|
||||
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL,tXMPPObj, tXMPPParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"ICE", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, NULL, tSe_IceParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IGMP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, NULL, tSe_IgmpParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IpAccCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, tSe_IpAccObj, NULL, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"LoginCfg", &DMREAD, NULL, NULL, NULL, NULL,NULL, &DMNONE, NULL, NULL, tSe_LoginCfgParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"PowerManagement", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, NULL, tSe_PowerManagementParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"SyslogCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, NULL, tSe_SyslogCfgParam, NULL, BBFDM_BOTH},
|
||||
{"SoftwareModules", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, tSoftwareModulesObj, NULL, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, XIopsysEuOwsdObj, XIopsysEuOwsdParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIopsysEuDropbear, NULL, &DMNONE, NULL, NULL, X_IOPSYS_EU_DropbearParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"Buttons", &DMREAD, NULL, NULL, NULL, browseXIopsysEuButton, NULL, &DMNONE, NULL, NULL, X_IOPSYS_EU_ButtonParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"WiFiLife", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE, NULL, X_IOPSYS_EU_WiFiLifeObj, X_IOPSYS_EU_WiFiLifeParams, NULL, BBFDM_BOTH},
|
||||
{"Bridging",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingObj, tBridgingParams, NULL, BBFDM_BOTH},
|
||||
{"WiFi",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiObj, tWiFiParams, NULL, BBFDM_BOTH},
|
||||
{"IP",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPObj, tIPParams, NULL, BBFDM_BOTH},
|
||||
{"Ethernet", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetObj, tEthernetParams, NULL, BBFDM_BOTH},
|
||||
{"DSL",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLObj, tDSLParams, NULL, BBFDM_BOTH},
|
||||
{"ATM",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tATMObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"PTM", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPTMObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"DHCPv4", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDhcpv4Obj, tDHCPv4Params, NULL, BBFDM_BOTH},
|
||||
{"DHCPv6", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv6Obj, tDHCPv6Params, NULL, BBFDM_BOTH},
|
||||
{"Hosts", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tHostsObj, tHostsParams, NULL, BBFDM_BOTH},
|
||||
{"NAT", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tNATObj, tNATParams, NULL, BBFDM_BOTH},
|
||||
{"PPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPPPObj, tPPPParams, NULL, BBFDM_BOTH},
|
||||
{"Routing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingObj, tRoutingParams, NULL, BBFDM_BOTH},
|
||||
{"UserInterface", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUserInterfaceObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"Firewall", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tFirewallObj, tFirewallParams, NULL, BBFDM_BOTH},
|
||||
{"DNS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDNSObj, tDNSParams, NULL, BBFDM_BOTH},
|
||||
{"Users", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUsersObj, tUsersParams, NULL, BBFDM_BOTH},
|
||||
{"InterfaceStack", &DMREAD, NULL, NULL, NULL, browseInterfaceStackInst, NULL, NULL, NULL, NULL, tInterfaceStackParams, NULL, BBFDM_BOTH},
|
||||
{"USB", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUSBObj, tUSBParams, NULL, BBFDM_BOTH},
|
||||
//{"QoS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tQoSObj, tQoSParams, NULL, BBFDM_BOTH},
|
||||
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tXMPPObj, tXMPPParams, NULL, BBFDM_BOTH},
|
||||
#ifdef BBF_TR157
|
||||
{"BulkData", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataObj, tBulkDataParams, NULL, BBFDM_BOTH},
|
||||
{"BulkData", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBulkDataObj, tBulkDataParams, NULL, BBFDM_BOTH},
|
||||
#endif
|
||||
{0}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
|
||||
/* *** Device.DeviceInfo. *** */
|
||||
DMOBJ tDeviceInfoObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"CATV", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tCatTvParams, NULL, BBFDM_BOTH},
|
||||
{"VendorConfigFile", &DMREAD, NULL, NULL, NULL, browseVcfInst, NULL, NULL, NULL, tDeviceInfoVendorConfigFileParams, NULL, BBFDM_BOTH},
|
||||
{"VendorLogFile", &DMREAD, NULL, NULL, NULL, browseVlfInst, NULL, NULL, NULL, tDeviceInfoVendorLogFileParams, NULL, BBFDM_BOTH},
|
||||
{"MemoryStatus", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDeviceInfoMemoryStatusParams, NULL, BBFDM_BOTH},
|
||||
{"ProcessStatus", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDeviceInfoProcessStatusObj, tDeviceInfoProcessStatusParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"CATV", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tCatTvParams, NULL, BBFDM_BOTH},
|
||||
{"VendorConfigFile", &DMREAD, NULL, NULL, NULL, browseVcfInst, NULL, NULL, NULL, NULL, tDeviceInfoVendorConfigFileParams, NULL, BBFDM_BOTH},
|
||||
{"VendorLogFile", &DMREAD, NULL, NULL, NULL, browseVlfInst, NULL, NULL, NULL, NULL, tDeviceInfoVendorLogFileParams, NULL, BBFDM_BOTH},
|
||||
{"MemoryStatus", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDeviceInfoMemoryStatusParams, NULL, BBFDM_BOTH},
|
||||
{"ProcessStatus", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDeviceInfoProcessStatusObj, tDeviceInfoProcessStatusParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -75,8 +75,8 @@ DMLEAF tDeviceInfoMemoryStatusParams[] = {
|
|||
|
||||
/* *** Device.DeviceInfo.ProcessStatus. *** */
|
||||
DMOBJ tDeviceInfoProcessStatusObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Process", &DMREAD, NULL, NULL, NULL, browsePocessEntriesInst, NULL, NULL, NULL, tDeviceInfoProcessStatusProcessParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Process", &DMREAD, NULL, NULL, NULL, browsePocessEntriesInst, NULL, NULL, NULL, NULL, tDeviceInfoProcessStatusProcessParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@
|
|||
|
||||
/*** DHCPv4. ***/
|
||||
DMOBJ tDhcpv4Obj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMWRITE, addObjDHCPv4Client, delObjDHCPv4Client, NULL, browseDHCPv4ClientInst, NULL, NULL, tDHCPv4ClientObj, tDHCPv4ClientParams, NULL, BBFDM_BOTH},
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDhcpv4ServerObj, tDHCPv4ServerParams, NULL, BBFDM_BOTH},
|
||||
{"Relay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv4RelayObj, tDHCPv4RelayParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMWRITE, addObjDHCPv4Client, delObjDHCPv4Client, NULL, browseDHCPv4ClientInst, NULL, NULL, NULL, tDHCPv4ClientObj, tDHCPv4ClientParams, NULL, BBFDM_BOTH},
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDhcpv4ServerObj, tDHCPv4ServerParams, NULL, BBFDM_BOTH},
|
||||
{"Relay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv4RelayObj, tDHCPv4RelayParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -40,9 +40,9 @@ DMLEAF tDHCPv4Params[] = {
|
|||
|
||||
/* *** Device.DHCPv4.Client.{i}. *** */
|
||||
DMOBJ tDHCPv4ClientObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SentOption", &DMWRITE, addObjDHCPv4ClientSentOption, delObjDHCPv4ClientSentOption, NULL, browseDHCPv4ClientSentOptionInst, NULL, NULL, NULL, tDHCPv4ClientSentOptionParams, NULL, BBFDM_BOTH},
|
||||
{"ReqOption", &DMWRITE, addObjDHCPv4ClientReqOption, delObjDHCPv4ClientReqOption, NULL, browseDHCPv4ClientReqOptionInst, NULL, NULL, NULL, tDHCPv4ClientReqOptionParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"SentOption", &DMWRITE, addObjDHCPv4ClientSentOption, delObjDHCPv4ClientSentOption, NULL, browseDHCPv4ClientSentOptionInst, NULL, NULL, NULL, NULL, tDHCPv4ClientSentOptionParams, NULL, BBFDM_BOTH},
|
||||
{"ReqOption", &DMWRITE, addObjDHCPv4ClientReqOption, delObjDHCPv4ClientReqOption, NULL, browseDHCPv4ClientReqOptionInst, NULL, NULL, NULL, NULL, tDHCPv4ClientReqOptionParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -97,25 +97,25 @@ DMLEAF tDHCPv4ServerParams[] = {
|
|||
|
||||
/*** DHCPv4.Server. ***/
|
||||
DMOBJ tDhcpv4ServerObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Pool", &DMWRITE, add_dhcp_server, delete_dhcp_server, NULL, browseDhcpInst, NULL, NULL, tDhcpServerPoolObj, tDhcpServerPoolParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Pool", &DMWRITE, add_dhcp_server, delete_dhcp_server, NULL, browseDhcpInst, NULL, NULL, NULL, tDhcpServerPoolObj, tDhcpServerPoolParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/*** DHCPv4.Server.Pool.{i}. ***/
|
||||
DMOBJ tDhcpServerPoolObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"StaticAddress", &DMWRITE, add_dhcp_staticaddress, delete_dhcp_staticaddress, NULL, browseDhcpStaticInst, NULL, NULL, NULL, tDhcpServerPoolAddressParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMWRITE, addObjDHCPv4ServerPoolOption, delObjDHCPv4ServerPoolOption, NULL, browseDHCPv4ServerPoolOptionInst, NULL, NULL, NULL, tDHCPv4ServerPoolOptionParams, NULL, BBFDM_BOTH},
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDhcpClientInst, NULL, NULL, tDhcpServerPoolClientObj, tDhcpServerPoolClientParams, get_dhcp_client_linker},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"StaticAddress", &DMWRITE, add_dhcp_staticaddress, delete_dhcp_staticaddress, NULL, browseDhcpStaticInst, NULL, NULL, NULL, NULL, tDhcpServerPoolAddressParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMWRITE, addObjDHCPv4ServerPoolOption, delObjDHCPv4ServerPoolOption, NULL, browseDHCPv4ServerPoolOptionInst, NULL, NULL, NULL, NULL, tDHCPv4ServerPoolOptionParams, NULL, BBFDM_BOTH},
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDhcpClientInst, NULL, NULL, NULL, tDhcpServerPoolClientObj, tDhcpServerPoolClientParams, get_dhcp_client_linker},
|
||||
{0}
|
||||
};
|
||||
|
||||
/*** DHCPv4.Server.Pool.{i}.Client.{i}. ***/
|
||||
DMOBJ tDhcpServerPoolClientObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Address", &DMREAD, NULL, NULL, NULL, browseDhcpClientIPv4Inst, NULL, NULL, NULL, tDhcpServerPoolClientIPv4AddressParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMREAD, NULL, NULL, NULL, browseDHCPv4ServerPoolClientOptionInst, NULL, NULL, NULL, tDHCPv4ServerPoolClientOptionParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Address", &DMREAD, NULL, NULL, NULL, browseDhcpClientIPv4Inst, NULL, NULL, NULL, NULL, tDhcpServerPoolClientIPv4AddressParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMREAD, NULL, NULL, NULL, browseDHCPv4ServerPoolClientOptionInst, NULL, NULL, NULL, NULL, tDHCPv4ServerPoolClientOptionParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -186,8 +186,8 @@ DMLEAF tDHCPv4ServerPoolClientOptionParams[] = {
|
|||
|
||||
/* *** Device.DHCPv4.Relay. *** */
|
||||
DMOBJ tDHCPv4RelayObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker*/
|
||||
{"Forwarding", &DMWRITE, addObjDHCPv4RelayForwarding, delObjDHCPv4RelayForwarding, NULL, browseDHCPv4RelayForwardingInst, NULL, NULL, NULL, tDHCPv4RelayForwardingParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Forwarding", &DMWRITE, addObjDHCPv4RelayForwarding, delObjDHCPv4RelayForwarding, NULL, browseDHCPv4RelayForwardingInst, NULL, NULL, NULL, NULL, tDHCPv4RelayForwardingParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@
|
|||
|
||||
/* *** Device.DHCPv6. *** */
|
||||
DMOBJ tDHCPv6Obj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMWRITE, addObjDHCPv6Client, delObjDHCPv6Client, NULL, browseDHCPv6ClientInst, NULL, NULL, tDHCPv6ClientObj, tDHCPv6ClientParams, NULL, BBFDM_BOTH},
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv6ServerObj, tDHCPv6ServerParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMWRITE, addObjDHCPv6Client, delObjDHCPv6Client, NULL, browseDHCPv6ClientInst, NULL, NULL, NULL, tDHCPv6ClientObj, tDHCPv6ClientParams, NULL, BBFDM_BOTH},
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDHCPv6ServerObj, tDHCPv6ServerParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -36,10 +36,10 @@ DMLEAF tDHCPv6Params[] = {
|
|||
|
||||
/* *** Device.DHCPv6.Client.{i}. *** */
|
||||
DMOBJ tDHCPv6ClientObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, browseDHCPv6ClientServerInst, NULL, NULL, NULL, tDHCPv6ClientServerParams, NULL, BBFDM_BOTH},
|
||||
{"SentOption", &DMWRITE, addObjDHCPv6ClientSentOption, delObjDHCPv6ClientSentOption, NULL, browseDHCPv6ClientSentOptionInst, NULL, NULL, NULL, tDHCPv6ClientSentOptionParams, NULL, BBFDM_BOTH},
|
||||
{"ReceivedOption", &DMREAD, NULL, NULL, NULL, browseDHCPv6ClientReceivedOptionInst, NULL, NULL, NULL, tDHCPv6ClientReceivedOptionParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, browseDHCPv6ClientServerInst, NULL, NULL, NULL, NULL, tDHCPv6ClientServerParams, NULL, BBFDM_BOTH},
|
||||
{"SentOption", &DMWRITE, addObjDHCPv6ClientSentOption, delObjDHCPv6ClientSentOption, NULL, browseDHCPv6ClientSentOptionInst, NULL, NULL, NULL, NULL, tDHCPv6ClientSentOptionParams, NULL, BBFDM_BOTH},
|
||||
{"ReceivedOption", &DMREAD, NULL, NULL, NULL, browseDHCPv6ClientReceivedOptionInst, NULL, NULL, NULL, NULL, tDHCPv6ClientReceivedOptionParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -94,8 +94,8 @@ DMLEAF tDHCPv6ClientReceivedOptionParams[] = {
|
|||
|
||||
/* *** Device.DHCPv6.Server. *** */
|
||||
DMOBJ tDHCPv6ServerObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Pool", &DMWRITE, addObjDHCPv6ServerPool, delObjDHCPv6ServerPool, NULL, browseDHCPv6ServerPoolInst, NULL, NULL, tDHCPv6ServerPoolObj, tDHCPv6ServerPoolParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Pool", &DMWRITE, addObjDHCPv6ServerPool, delObjDHCPv6ServerPool, NULL, browseDHCPv6ServerPoolInst, NULL, NULL, NULL, tDHCPv6ServerPoolObj, tDHCPv6ServerPoolParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -108,9 +108,9 @@ DMLEAF tDHCPv6ServerParams[] = {
|
|||
|
||||
/* *** Device.DHCPv6.Server.Pool.{i}. *** */
|
||||
DMOBJ tDHCPv6ServerPoolObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientInst, NULL, NULL, tDHCPv6ServerPoolClientObj, tDHCPv6ServerPoolClientParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMWRITE, addObjDHCPv6ServerPoolOption, delObjDHCPv6ServerPoolOption, NULL, browseDHCPv6ServerPoolOptionInst, NULL, NULL, NULL, tDHCPv6ServerPoolOptionParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientInst, NULL, NULL, NULL, tDHCPv6ServerPoolClientObj, tDHCPv6ServerPoolClientParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMWRITE, addObjDHCPv6ServerPoolOption, delObjDHCPv6ServerPoolOption, NULL, browseDHCPv6ServerPoolOptionInst, NULL, NULL, NULL, NULL, tDHCPv6ServerPoolOptionParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -144,10 +144,10 @@ DMLEAF tDHCPv6ServerPoolParams[] = {
|
|||
|
||||
/* *** Device.DHCPv6.Server.Pool.{i}.Client.{i}. *** */
|
||||
DMOBJ tDHCPv6ServerPoolClientObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv6Address", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientIPv6AddressInst, NULL, NULL, NULL, tDHCPv6ServerPoolClientIPv6AddressParams, NULL, BBFDM_BOTH},
|
||||
{"IPv6Prefix", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientIPv6PrefixInst, NULL, NULL, NULL, tDHCPv6ServerPoolClientIPv6PrefixParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientOptionInst, NULL, NULL, NULL, tDHCPv6ServerPoolClientOptionParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv6Address", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientIPv6AddressInst, NULL, NULL, NULL, NULL, tDHCPv6ServerPoolClientIPv6AddressParams, NULL, BBFDM_BOTH},
|
||||
{"IPv6Prefix", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientIPv6PrefixInst, NULL, NULL, NULL, NULL, tDHCPv6ServerPoolClientIPv6PrefixParams, NULL, BBFDM_BOTH},
|
||||
{"Option", &DMREAD, NULL, NULL, NULL, browseDHCPv6ServerPoolClientOptionInst, NULL, NULL, NULL, NULL, tDHCPv6ServerPoolClientOptionParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@
|
|||
|
||||
/* *** Device.DNS. *** */
|
||||
DMOBJ tDNSObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDNSClientObj, tDNSClientParams, NULL, BBFDM_BOTH},
|
||||
{"Relay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDNSRelayObj, tDNSRelayParams, NULL, BBFDM_BOTH},
|
||||
{"Diagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDNSDiagnosticsObj, NULL, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDNSClientObj, tDNSClientParams, NULL, BBFDM_BOTH},
|
||||
{"Relay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDNSRelayObj, tDNSRelayParams, NULL, BBFDM_BOTH},
|
||||
{"Diagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDNSDiagnosticsObj, NULL, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -33,8 +33,8 @@ DMLEAF tDNSParams[] = {
|
|||
|
||||
/* *** Device.DNS.Client. *** */
|
||||
DMOBJ tDNSClientObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMWRITE, add_client_server, delete_client_server, NULL, browseServerInst, NULL, NULL, NULL, tDNSClientServerParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMWRITE, add_client_server, delete_client_server, NULL, browseServerInst, NULL, NULL, NULL, NULL, tDNSClientServerParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -60,8 +60,8 @@ DMLEAF tDNSClientServerParams[] = {
|
|||
|
||||
/* *** Device.DNS.Relay. *** */
|
||||
DMOBJ tDNSRelayObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Forwarding", &DMWRITE, add_relay_forwarding, delete_relay_forwarding, NULL, browseRelayForwardingInst, NULL, NULL, NULL, tDNSRelayForwardingParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Forwarding", &DMWRITE, add_relay_forwarding, delete_relay_forwarding, NULL, browseRelayForwardingInst, NULL, NULL, NULL, NULL, tDNSRelayForwardingParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -87,15 +87,15 @@ DMLEAF tDNSRelayForwardingParams[] = {
|
|||
|
||||
/* *** Device.DNS.Diagnostics. *** */
|
||||
DMOBJ tDNSDiagnosticsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"NSLookupDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDNSDiagnosticsNSLookupDiagnosticsObj, tDNSDiagnosticsNSLookupDiagnosticsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"NSLookupDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDNSDiagnosticsNSLookupDiagnosticsObj, tDNSDiagnosticsNSLookupDiagnosticsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.DNS.Diagnostics.NSLookupDiagnostics. *** */
|
||||
DMOBJ tDNSDiagnosticsNSLookupDiagnosticsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Result", &DMREAD, NULL, NULL, NULL, browseResultInst, NULL, NULL, NULL, tDNSDiagnosticsNSLookupDiagnosticsResultParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Result", &DMREAD, NULL, NULL, NULL, browseResultInst, NULL, NULL, NULL, NULL, tDNSDiagnosticsNSLookupDiagnosticsResultParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@
|
|||
|
||||
/* *** Device.DSL. *** */
|
||||
DMOBJ tDSLObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseDSLLineInst, NULL, NULL, tDSLLineObj, tDSLLineParams, get_dsl_line_linker, BBFDM_BOTH},
|
||||
{"Channel", &DMREAD, NULL, NULL, NULL, browseDSLChannelInst, NULL, NULL, tDSLChannelObj, tDSLChannelParams, get_dsl_channel_linker, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseDSLLineInst, NULL, NULL, NULL, tDSLLineObj, tDSLLineParams, get_dsl_line_linker, BBFDM_BOTH},
|
||||
{"Channel", &DMREAD, NULL, NULL, NULL, browseDSLChannelInst, NULL, NULL, NULL, tDSLChannelObj, tDSLChannelParams, get_dsl_channel_linker, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -38,8 +38,8 @@ DMLEAF tDSLParams[] = {
|
|||
|
||||
/* *** Device.DSL.Line.{i}. *** */
|
||||
DMOBJ tDSLLineObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsObj, tDSLLineStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsObj, tDSLLineStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -98,12 +98,12 @@ DMLEAF tDSLLineParams[] = {
|
|||
|
||||
/* *** Device.DSL.Line.{i}.Stats. *** */
|
||||
DMOBJ tDSLLineStatsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Total", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsTotalParams, NULL, BBFDM_BOTH},
|
||||
{"Showtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"LastShowtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsLastShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"CurrentDay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsCurrentDayParams, NULL, BBFDM_BOTH},
|
||||
{"QuarterHour", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsQuarterHourParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Total", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsTotalParams, NULL, BBFDM_BOTH},
|
||||
{"Showtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"LastShowtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsLastShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"CurrentDay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsCurrentDayParams, NULL, BBFDM_BOTH},
|
||||
{"QuarterHour", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLLineStatsQuarterHourParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -159,8 +159,8 @@ DMLEAF tDSLLineStatsQuarterHourParams[] = {
|
|||
|
||||
/* *** Device.DSL.Channel.{i}. *** */
|
||||
DMOBJ tDSLChannelObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsObj, tDSLChannelStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsObj, tDSLChannelStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -191,12 +191,12 @@ DMLEAF tDSLChannelParams[] = {
|
|||
|
||||
/* *** Device.DSL.Channel.{i}.Stats. *** */
|
||||
DMOBJ tDSLChannelStatsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Total", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsTotalParams, NULL, BBFDM_BOTH},
|
||||
{"Showtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"LastShowtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsLastShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"CurrentDay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsCurrentDayParams, NULL, BBFDM_BOTH},
|
||||
{"QuarterHour", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsQuarterHourParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Total", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsTotalParams, NULL, BBFDM_BOTH},
|
||||
{"Showtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"LastShowtime", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsLastShowtimeParams, NULL, BBFDM_BOTH},
|
||||
{"CurrentDay", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsCurrentDayParams, NULL, BBFDM_BOTH},
|
||||
{"QuarterHour", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tDSLChannelStatsQuarterHourParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ char *wan_ifname = NULL;
|
|||
|
||||
/* *** Device.Ethernet. *** */
|
||||
DMOBJ tEthernetObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseEthernetInterfaceInst, NULL, NULL, tEthernetInterfaceObj, tEthernetInterfaceParams, get_linker_interface, BBFDM_BOTH},
|
||||
{"Link", &DMWRITE, addObjEthernetLink, delObjEthernetLink, NULL, browseEthernetLinkInst, NULL, NULL, tEthernetLinkObj, tEthernetLinkParams, get_linker_link, BBFDM_BOTH},
|
||||
{"VLANTermination", &DMWRITE, addObjEthernetVLANTermination, delObjEthernetVLANTermination, NULL, browseEthernetVLANTerminationInst, NULL, NULL, tEthernetVLANTerminationObj, tEthernetVLANTerminationParams, get_linker_vlan_term, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseEthernetInterfaceInst, NULL, NULL, NULL, tEthernetInterfaceObj, tEthernetInterfaceParams, get_linker_interface, BBFDM_BOTH},
|
||||
{"Link", &DMWRITE, addObjEthernetLink, delObjEthernetLink, NULL, browseEthernetLinkInst, NULL, NULL, NULL, tEthernetLinkObj, tEthernetLinkParams, get_linker_link, BBFDM_BOTH},
|
||||
{"VLANTermination", &DMWRITE, addObjEthernetVLANTermination, delObjEthernetVLANTermination, NULL, browseEthernetVLANTerminationInst, NULL, NULL, NULL, tEthernetVLANTerminationObj, tEthernetVLANTerminationParams, get_linker_vlan_term, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -42,8 +42,8 @@ DMLEAF tEthernetParams[] = {
|
|||
|
||||
/* *** Device.Ethernet.Interface.{i}. *** */
|
||||
DMOBJ tEthernetInterfaceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -87,8 +87,8 @@ DMLEAF tEthernetInterfaceStatsParams[] = {
|
|||
|
||||
/* *** Device.Ethernet.Link.{i}. *** */
|
||||
DMOBJ tEthernetLinkObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -127,8 +127,8 @@ DMLEAF tEthernetLinkStatsParams[] = {
|
|||
|
||||
/* *** Device.Ethernet.VLANTermination.{i}. *** */
|
||||
DMOBJ tEthernetVLANTerminationObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetVLANTerminationStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tEthernetVLANTerminationStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
|
||||
/* *** Device.Firewall. *** */
|
||||
DMOBJ tFirewallObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Level", &DMREAD, NULL, NULL, NULL, browseLevelInst, NULL, NULL, NULL, tFirewallLevelParams, NULL, BBFDM_BOTH},
|
||||
{"Chain", &DMREAD, NULL, NULL, NULL, browseChainInst, NULL, NULL, tFirewallChainObj, tFirewallChainParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Level", &DMREAD, NULL, NULL, NULL, browseLevelInst, NULL, NULL, NULL, NULL, tFirewallLevelParams, NULL, BBFDM_BOTH},
|
||||
{"Chain", &DMREAD, NULL, NULL, NULL, browseChainInst, NULL, NULL, NULL, tFirewallChainObj, tFirewallChainParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -45,8 +45,8 @@ DMLEAF tFirewallLevelParams[] = {
|
|||
|
||||
/* *** Device.Firewall.Chain.{i}. *** */
|
||||
DMOBJ tFirewallChainObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Rule", &DMWRITE, add_firewall_rule, delete_firewall_rule, NULL, browseRuleInst, NULL, NULL, tFirewallChainRuleObj, tFirewallChainRuleParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Rule", &DMWRITE, add_firewall_rule, delete_firewall_rule, NULL, browseRuleInst, NULL, NULL, NULL, tFirewallChainRuleObj, tFirewallChainRuleParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -61,8 +61,8 @@ DMLEAF tFirewallChainParams[] = {
|
|||
|
||||
/* *** Device.Firewall.Chain.{i}.Rule.{i}. *** */
|
||||
DMOBJ tFirewallChainRuleObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"TimeSpan", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tTimeSpanParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"TimeSpan", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tTimeSpanParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
|
||||
/* *** Device.Hosts. *** */
|
||||
DMOBJ tHostsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Host", &DMREAD, NULL, NULL, NULL, browsehostInst, NULL, NULL, NULL, tHostsHostParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Host", &DMREAD, NULL, NULL, NULL, browsehostInst, NULL, NULL, NULL, NULL, tHostsHostParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,10 @@ struct dm_forced_inform_s IPv6INFRM = {0, get_ipv6_finform};
|
|||
|
||||
/* *** Device.IP. *** */
|
||||
DMOBJ tIPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMWRITE, add_ip_interface, delete_ip_interface, NULL, browseIPIfaceInst, NULL, NULL, tInterfaceObj, tIPintParams, get_linker_ip_interface, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMWRITE, add_ip_interface, delete_ip_interface, NULL, browseIPIfaceInst, NULL, NULL, NULL, tInterfaceObj, tIPintParams, get_linker_ip_interface, BBFDM_BOTH},
|
||||
#ifdef BBF_TR143
|
||||
{"Diagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsObj, tIPDiagnosticsParams, NULL, BBFDM_BOTH},
|
||||
{"Diagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsObj, tIPDiagnosticsParams, NULL, BBFDM_BOTH},
|
||||
#endif
|
||||
{0}
|
||||
};
|
||||
|
|
@ -52,12 +52,12 @@ DMLEAF tIPParams[] = {
|
|||
|
||||
/* *** Device.IP.Interface. *** */
|
||||
DMOBJ tInterfaceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Address", &DMWRITE, add_ipv4, delete_ipv4, NULL, browseIfaceIPv4Inst, NULL, NULL, NULL, tIPv4Params, NULL, BBFDM_BOTH},
|
||||
{"IPv6Address", &DMWRITE, add_ipv6, delete_ipv6, NULL, browseIfaceIPv6Inst, NULL, NULL, NULL, tIPv6Params, NULL, BBFDM_BOTH},
|
||||
{"IPv6Prefix", &DMWRITE, add_ipv6_prefix, delete_ipv6_prefix, NULL, browseIfaceIPv6PrefixInst, NULL, NULL, NULL, tIPv6PrefixParams, get_linker_ipv6_prefix, BBFDM_BOTH},
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{"TWAMPReflector", &DMWRITE, addObjIPInterfaceTWAMPReflector, delObjIPInterfaceTWAMPReflector, NULL, browseIPInterfaceTWAMPReflectorInst, NULL, NULL, NULL, tIPInterfaceTWAMPReflectorParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Address", &DMWRITE, add_ipv4, delete_ipv4, NULL, browseIfaceIPv4Inst, NULL, NULL, NULL, NULL, tIPv4Params, NULL, BBFDM_BOTH},
|
||||
{"IPv6Address", &DMWRITE, add_ipv6, delete_ipv6, NULL, browseIfaceIPv6Inst, NULL, NULL, NULL, NULL, tIPv6Params, NULL, BBFDM_BOTH},
|
||||
{"IPv6Prefix", &DMWRITE, add_ipv6_prefix, delete_ipv6_prefix, NULL, browseIfaceIPv6PrefixInst, NULL, NULL, NULL, NULL, tIPv6PrefixParams, get_linker_ipv6_prefix, BBFDM_BOTH},
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{"TWAMPReflector", &DMWRITE, addObjIPInterfaceTWAMPReflector, delObjIPInterfaceTWAMPReflector, NULL, browseIPInterfaceTWAMPReflectorInst, NULL, NULL, NULL, NULL, tIPInterfaceTWAMPReflectorParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@
|
|||
|
||||
/* *** Device.NAT. *** */
|
||||
DMOBJ tNATObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"InterfaceSetting", &DMWRITE, add_NAT_InterfaceSetting, delete_NAT_InterfaceSetting, NULL, browseInterfaceSettingInst, NULL, NULL, NULL, tNATInterfaceSettingParams, NULL, BBFDM_BOTH},
|
||||
{"PortMapping", &DMWRITE, add_NAT_PortMapping, delete_NAT_PortMapping, NULL, browsePortMappingInst, NULL, NULL, NULL, tNATPortMappingParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"InterfaceSetting", &DMWRITE, add_NAT_InterfaceSetting, delete_NAT_InterfaceSetting, NULL, browseInterfaceSettingInst, NULL, NULL, NULL, NULL, tNATInterfaceSettingParams, NULL, BBFDM_BOTH},
|
||||
{"PortMapping", &DMWRITE, add_NAT_PortMapping, delete_NAT_PortMapping, NULL, browsePortMappingInst, NULL, NULL, NULL, NULL, tNATPortMappingParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
|
||||
/* *** Device.PPP. *** */
|
||||
DMOBJ tPPPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMWRITE, add_ppp_interface, delete_ppp_interface, NULL, browseInterfaceInst, NULL, NULL, tPPPInterfaceObj, tPPPInterfaceParams, get_linker_ppp_interface, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMWRITE, add_ppp_interface, delete_ppp_interface, NULL, browseInterfaceInst, NULL, NULL, NULL, tPPPInterfaceObj, tPPPInterfaceParams, get_linker_ppp_interface, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -35,9 +35,9 @@ DMLEAF tPPPParams[] = {
|
|||
|
||||
/* *** Device.PPP.Interface.{i}. *** */
|
||||
DMOBJ tPPPInterfaceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PPPoE", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPPPInterfacePPPoEParams, NULL, BBFDM_BOTH},
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPPPInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"PPPoE", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPPPInterfacePPPoEParams, NULL, BBFDM_BOTH},
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPPPInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ DMLEAF tPPPInterfaceParams[] = {
|
|||
|
||||
/* *** Device.PPP.Interface.{i}.PPPoE. *** */
|
||||
DMLEAF tPPPInterfacePPPoEParams[] = {
|
||||
/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/
|
||||
/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/
|
||||
{"SessionID", &DMREAD, DMT_UNINT, get_PPPInterfacePPPoE_SessionID, NULL, NULL, NULL, BBFDM_BOTH},
|
||||
{"ACName", &DMWRITE, DMT_STRING, get_PPPInterfacePPPoE_ACName, set_PPPInterfacePPPoE_ACName, NULL, NULL, BBFDM_BOTH},
|
||||
{"ServiceName", &DMWRITE, DMT_STRING, get_PPPInterfacePPPoE_ServiceName, set_PPPInterfacePPPoE_ServiceName, NULL, NULL, BBFDM_BOTH},
|
||||
|
|
|
|||
|
|
@ -21,15 +21,15 @@
|
|||
|
||||
/* *** Device.PTM. *** */
|
||||
DMOBJ tPTMObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Link", &DMWRITE, add_ptm_link, delete_ptm_link, NULL, browsePtmLinkInst, NULL, NULL, tPTMLinkObj, tPTMLinkParams, get_ptm_linker, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Link", &DMWRITE, add_ptm_link, delete_ptm_link, NULL, browsePtmLinkInst, NULL, NULL, NULL, tPTMLinkObj, tPTMLinkParams, get_ptm_linker, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.PTM.Link.{i}. *** */
|
||||
DMOBJ tPTMLinkObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPTMLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tPTMLinkStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
/* *** Device.QoS. *** */
|
||||
DMOBJ tQoSObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Classification", &DMWRITE, addObjQoSClassification, delObjQoSClassification, NULL, browseQoSClassificationInst, NULL, NULL, NULL, tQoSClassificationParams, NULL, BBFDM_BOTH},
|
||||
{"App", &DMWRITE, addObjQoSApp, delObjQoSApp, NULL, browseQoSAppInst, NULL, NULL, NULL, tQoSAppParams, NULL, BBFDM_BOTH},
|
||||
{"Flow", &DMWRITE, addObjQoSFlow, delObjQoSFlow, NULL, browseQoSFlowInst, NULL, NULL, NULL, tQoSFlowParams, NULL, BBFDM_BOTH},
|
||||
{"Policer", &DMWRITE, addObjQoSPolicer, delObjQoSPolicer, NULL, browseQoSPolicerInst, NULL, NULL, NULL, tQoSPolicerParams, NULL, BBFDM_BOTH},
|
||||
{"Queue", &DMWRITE, addObjQoSQueue, delObjQoSQueue, NULL, browseQoSQueueInst, NULL, NULL, NULL, tQoSQueueParams, get_linker_qos_queue, BBFDM_BOTH},
|
||||
{"QueueStats", &DMWRITE, addObjQoSQueueStats, delObjQoSQueueStats, NULL, browseQoSQueueStatsInst, NULL, NULL, NULL, tQoSQueueStatsParams, NULL, BBFDM_BOTH},
|
||||
{"Shaper", &DMWRITE, addObjQoSShaper, delObjQoSShaper, NULL, browseQoSShaperInst, NULL, NULL, NULL, tQoSShaperParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Classification", &DMWRITE, addObjQoSClassification, delObjQoSClassification, NULL, browseQoSClassificationInst, NULL, NULL, NULL, NULL, tQoSClassificationParams, NULL, BBFDM_BOTH},
|
||||
{"App", &DMWRITE, addObjQoSApp, delObjQoSApp, NULL, browseQoSAppInst, NULL, NULL, NULL, NULL, tQoSAppParams, NULL, BBFDM_BOTH},
|
||||
{"Flow", &DMWRITE, addObjQoSFlow, delObjQoSFlow, NULL, browseQoSFlowInst, NULL, NULL, NULL, NULL, tQoSFlowParams, NULL, BBFDM_BOTH},
|
||||
{"Policer", &DMWRITE, addObjQoSPolicer, delObjQoSPolicer, NULL, browseQoSPolicerInst, NULL, NULL, NULL, NULL, tQoSPolicerParams, NULL, BBFDM_BOTH},
|
||||
{"Queue", &DMWRITE, addObjQoSQueue, delObjQoSQueue, NULL, browseQoSQueueInst, NULL, NULL, NULL, NULL, tQoSQueueParams, get_linker_qos_queue, BBFDM_BOTH},
|
||||
{"QueueStats", &DMWRITE, addObjQoSQueueStats, delObjQoSQueueStats, NULL, browseQoSQueueStatsInst, NULL, NULL, NULL, NULL, tQoSQueueStatsParams, NULL, BBFDM_BOTH},
|
||||
{"Shaper", &DMWRITE, addObjQoSShaper, delObjQoSShaper, NULL, browseQoSShaperInst, NULL, NULL, NULL, NULL, tQoSShaperParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ enum enum_route_type {
|
|||
|
||||
/* *** Device.Routing. *** */
|
||||
DMOBJ tRoutingObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Router", &DMREAD, NULL, NULL, NULL, browseRouterInst, NULL, NULL, tRoutingRouterObj, tRoutingRouterParams, NULL, BBFDM_BOTH},
|
||||
{"RouteInformation", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingRouteInformationObj, tRoutingRouteInformationParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Router", &DMREAD, NULL, NULL, NULL, browseRouterInst, NULL, NULL, NULL, tRoutingRouterObj, tRoutingRouterParams, NULL, BBFDM_BOTH},
|
||||
{"RouteInformation", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingRouteInformationObj, tRoutingRouteInformationParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -44,9 +44,9 @@ DMLEAF tRoutingParams[] = {
|
|||
|
||||
/* *** Device.Routing.Router.{i}. *** */
|
||||
DMOBJ tRoutingRouterObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Forwarding", &DMWRITE, add_ipv4forwarding, delete_ipv4forwarding, NULL, browseIPv4ForwardingInst, NULL, NULL, NULL, tRoutingRouterIPv4ForwardingParams, NULL, BBFDM_BOTH},
|
||||
{"IPv6Forwarding", &DMWRITE, add_ipv6Forwarding, delete_ipv6Forwarding, NULL, browseIPv6ForwardingInst, NULL, NULL, NULL, tRoutingRouterIPv6ForwardingParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"IPv4Forwarding", &DMWRITE, add_ipv4forwarding, delete_ipv4forwarding, NULL, browseIPv4ForwardingInst, NULL, NULL, NULL, NULL, tRoutingRouterIPv4ForwardingParams, NULL, BBFDM_BOTH},
|
||||
{"IPv6Forwarding", &DMWRITE, add_ipv6Forwarding, delete_ipv6Forwarding, NULL, browseIPv6ForwardingInst, NULL, NULL, NULL, NULL, tRoutingRouterIPv6ForwardingParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -95,8 +95,8 @@ DMLEAF tRoutingRouterIPv6ForwardingParams[] = {
|
|||
|
||||
/* *** Device.Routing.RouteInformation. *** */
|
||||
DMOBJ tRoutingRouteInformationObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"InterfaceSetting", &DMREAD, NULL, NULL, NULL, browseRoutingRouteInformationInterfaceSettingInst, NULL, NULL, NULL, tRoutingRouteInformationInterfaceSettingParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"InterfaceSetting", &DMREAD, NULL, NULL, NULL, browseRoutingRouteInformationInterfaceSettingInst, NULL, NULL, NULL, NULL, tRoutingRouteInformationInterfaceSettingParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
/* *** Device.SoftwareModules. *** */
|
||||
DMOBJ tSoftwareModulesObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"DeploymentUnit", &DMREAD, NULL, NULL, NULL, browsesoftwaremodules_deploymentunitInst, NULL, NULL, NULL, tSoftwareModulesDeploymentUnitParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"DeploymentUnit", &DMREAD, NULL, NULL, NULL, browsesoftwaremodules_deploymentunitInst, NULL, NULL, NULL, NULL, tSoftwareModulesDeploymentUnitParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
/* *** Device.UPnP. *** */
|
||||
DMOBJ tUPnPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUPnPDeviceParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUPnPDeviceParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@
|
|||
|
||||
/* *** Device.USB. *** */
|
||||
DMOBJ tUSBObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseUSBInterfaceInst, NULL, NULL, tUSBInterfaceObj, tUSBInterfaceParams, NULL, BBFDM_BOTH},
|
||||
{"Port", &DMREAD, NULL, NULL, NULL, browseUSBPortInst, NULL, NULL, NULL, tUSBPortParams, get_linker_usb_port, BBFDM_BOTH},
|
||||
{"USBHosts", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUSBUSBHostsObj, tUSBUSBHostsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseUSBInterfaceInst, NULL, NULL, NULL, tUSBInterfaceObj, tUSBInterfaceParams, NULL, BBFDM_BOTH},
|
||||
{"Port", &DMREAD, NULL, NULL, NULL, browseUSBPortInst, NULL, NULL, NULL, NULL, tUSBPortParams, get_linker_usb_port, BBFDM_BOTH},
|
||||
{"USBHosts", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUSBUSBHostsObj, tUSBUSBHostsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -31,8 +31,8 @@ DMLEAF tUSBParams[] = {
|
|||
|
||||
/* *** Device.USB.Interface.{i}. *** */
|
||||
DMOBJ tUSBInterfaceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUSBInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUSBInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -87,8 +87,8 @@ DMLEAF tUSBPortParams[] = {
|
|||
|
||||
/* *** Device.USB.USBHosts. *** */
|
||||
DMOBJ tUSBUSBHostsObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Host", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostInst, NULL, NULL, tUSBUSBHostsHostObj, tUSBUSBHostsHostParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Host", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostInst, NULL, NULL, NULL, tUSBUSBHostsHostObj, tUSBUSBHostsHostParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -100,8 +100,8 @@ DMLEAF tUSBUSBHostsParams[] = {
|
|||
|
||||
/* *** Device.USB.USBHosts.Host.{i}. *** */
|
||||
DMOBJ tUSBUSBHostsHostObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceInst, NULL, NULL, tUSBUSBHostsHostDeviceObj, tUSBUSBHostsHostDeviceParams, get_linker_usb_host_device, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceInst, NULL, NULL, NULL, tUSBUSBHostsHostDeviceObj, tUSBUSBHostsHostDeviceParams, get_linker_usb_host_device, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -120,8 +120,8 @@ DMLEAF tUSBUSBHostsHostParams[] = {
|
|||
|
||||
/* *** Device.USB.USBHosts.Host.{i}.Device.{i}. *** */
|
||||
DMOBJ tUSBUSBHostsHostDeviceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Configuration", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceConfigurationInst, NULL, NULL, tUSBUSBHostsHostDeviceConfigurationObj, tUSBUSBHostsHostDeviceConfigurationParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Configuration", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceConfigurationInst, NULL, NULL, NULL, tUSBUSBHostsHostDeviceConfigurationObj, tUSBUSBHostsHostDeviceConfigurationParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -151,8 +151,8 @@ DMLEAF tUSBUSBHostsHostDeviceParams[] = {
|
|||
|
||||
/* *** Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}. *** */
|
||||
DMOBJ tUSBUSBHostsHostDeviceConfigurationObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceConfigurationInterfaceInst, NULL, NULL, NULL, tUSBUSBHostsHostDeviceConfigurationInterfaceParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceConfigurationInterfaceInst, NULL, NULL, NULL, NULL, tUSBUSBHostsHostDeviceConfigurationInterfaceParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ int browseUSBInterfaceInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_
|
|||
{
|
||||
DIR *dir;
|
||||
struct dirent *ent;
|
||||
char *netfolderpath, *iface_name, *iface_path, *statistics_path, *port_link, *v, *instnbr, *instance;
|
||||
char *netfolderpath, *iface_name, *iface_path, *statistics_path, *port_link, *v, *instnbr = NULL, *instance = NULL;
|
||||
size_t length;
|
||||
char **foldersplit;
|
||||
struct uci_section *s;
|
||||
|
|
@ -249,7 +249,7 @@ int browseUSBInterfaceInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_
|
|||
int browseUSBPortInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
|
||||
{
|
||||
int ret1, ret2;
|
||||
char *folderpath, *instnbr, *instance, *v;
|
||||
char *folderpath, *instnbr = NULL, *instance = NULL, *v;
|
||||
struct uci_section *s;
|
||||
struct usb_port port= {};
|
||||
LIST_HEAD(dup_list);
|
||||
|
|
@ -280,7 +280,7 @@ int browseUSBUSBHostsHostInst(struct dmctx *dmctx, DMNODE *parent_node, void *pr
|
|||
struct dirent *ent;
|
||||
LIST_HEAD(dup_list);
|
||||
struct sysfs_dmsection *p;
|
||||
char *instance, *instnbr;
|
||||
char *instance = NULL, *instnbr = NULL;
|
||||
struct usb_port port= {};
|
||||
|
||||
check_create_dmmap_package("dmmap_usb");
|
||||
|
|
@ -378,7 +378,7 @@ int browseUSBUSBHostsHostDeviceInst(struct dmctx *dmctx, DMNODE *parent_node, vo
|
|||
struct dirent *ent;
|
||||
LIST_HEAD(dup_list);
|
||||
struct sysfs_dmsection *p;
|
||||
char *instance, *instnbr;
|
||||
char *instance = NULL, *instnbr = NULL;
|
||||
struct usb_port port= {};
|
||||
struct usb_port *prev_port= (struct usb_port *)prev_data;
|
||||
check_create_dmmap_package("dmmap_usb");
|
||||
|
|
@ -423,7 +423,7 @@ int browseUSBUSBHostsHostDeviceConfigurationInterfaceInst(struct dmctx *dmctx, D
|
|||
struct usb_port *usb_dev= (struct usb_port*)prev_data;
|
||||
struct usb_port port= {};
|
||||
int ret1, ret2;
|
||||
char *sysfs_rep_path, *v, *instance, *instnbr = NULL;
|
||||
char *sysfs_rep_path, *v, *instance = NULL, *instnbr = NULL;
|
||||
struct uci_section *dmmap_sect;
|
||||
ret1= regcomp(®ex1, "^[0-9][0-9]*-[0-9]*[0-9]:[0-9][0-9]*\.[0-9]*[0-9]$", 0);
|
||||
ret2= regcomp(®ex2, "^[0-9][0-9]*-[0-9]*[0-9]\.[0-9]*[0-9]:[0-9][0-9]*\.[0-9]*[0-9]$", 0);
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
|
||||
/* *** Device.UserInterface. *** */
|
||||
DMOBJ tUserInterfaceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RemoteAccess", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUserInterfaceRemoteAccessParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"RemoteAccess", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tUserInterfaceRemoteAccessParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
/* *** Device.Users. *** */
|
||||
DMOBJ tUsersObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"User", &DMWRITE, add_users_user, delete_users_user, NULL, browseUserInst, NULL, NULL, NULL, tUsersUserParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"User", &DMWRITE, add_users_user, delete_users_user, NULL, browseUserInst, NULL, NULL, NULL, NULL, tUsersUserParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
|
||||
/* *** Device.WiFi. *** */
|
||||
DMOBJ tWiFiObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Radio", &DMREAD, NULL, NULL, NULL, browseWifiRadioInst, NULL, NULL, tWiFiRadioObj, tWiFiRadioParams, get_linker_Wifi_Radio, BBFDM_BOTH},
|
||||
{"SSID", &DMWRITE, add_wifi_ssid, delete_wifi_ssid, NULL, browseWifiSsidInst, NULL, NULL, tWiFiSSIDObj, tWiFiSSIDParams, get_linker_Wifi_Ssid, BBFDM_BOTH},
|
||||
{"AccessPoint", &DMREAD, NULL, NULL, NULL, browseWifiAccessPointInst, NULL, NULL, tWiFiAccessPointObj, tWiFiAccessPointParams, NULL, BBFDM_BOTH},
|
||||
{"NeighboringWiFiDiagnostic", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiNeighboringWiFiDiagnosticObj, tWiFiNeighboringWiFiDiagnosticParams, NULL, BBFDM_BOTH},
|
||||
{"EndPoint", &DMWRITE, addObjWiFiEndPoint, delObjWiFiEndPoint, NULL, browseWiFiEndPointInst, NULL, NULL, tWiFiEndPointObj, tWiFiEndPointParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Radio", &DMREAD, NULL, NULL, NULL, browseWifiRadioInst, NULL, NULL, NULL, tWiFiRadioObj, tWiFiRadioParams, get_linker_Wifi_Radio, BBFDM_BOTH},
|
||||
{"SSID", &DMWRITE, add_wifi_ssid, delete_wifi_ssid, NULL, browseWifiSsidInst, NULL, NULL, NULL, tWiFiSSIDObj, tWiFiSSIDParams, get_linker_Wifi_Ssid, BBFDM_BOTH},
|
||||
{"AccessPoint", &DMREAD, NULL, NULL, NULL, browseWifiAccessPointInst, NULL, NULL, NULL, tWiFiAccessPointObj, tWiFiAccessPointParams, NULL, BBFDM_BOTH},
|
||||
{"NeighboringWiFiDiagnostic", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiNeighboringWiFiDiagnosticObj, tWiFiNeighboringWiFiDiagnosticParams, NULL, BBFDM_BOTH},
|
||||
{"EndPoint", &DMWRITE, addObjWiFiEndPoint, delObjWiFiEndPoint, NULL, browseWiFiEndPointInst, NULL, NULL, NULL, tWiFiEndPointObj, tWiFiEndPointParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -46,8 +46,8 @@ DMLEAF tWiFiParams[] = {
|
|||
|
||||
/* *** Device.WiFi.Radio.{i}. *** */
|
||||
DMOBJ tWiFiRadioObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiRadioStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiRadioStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -104,8 +104,8 @@ DMLEAF tWiFiRadioStatsParams[] = {
|
|||
|
||||
/* *** Device.WiFi.NeighboringWiFiDiagnostic. *** */
|
||||
DMOBJ tWiFiNeighboringWiFiDiagnosticObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Result", &DMREAD, NULL, NULL, NULL, browseWifiNeighboringWiFiDiagnosticResultInst, NULL, NULL, NULL, tWiFiNeighboringWiFiDiagnosticResultParams, NULL, BBFDM_CWMP},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Result", &DMREAD, NULL, NULL, NULL, browseWifiNeighboringWiFiDiagnosticResultInst, NULL, NULL, NULL, NULL, tWiFiNeighboringWiFiDiagnosticResultParams, NULL, BBFDM_CWMP},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -130,8 +130,8 @@ DMLEAF tWiFiNeighboringWiFiDiagnosticResultParams[] = {
|
|||
|
||||
/* *** Device.WiFi.SSID.{i}. *** */
|
||||
DMOBJ tWiFiSSIDObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiSSIDStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiSSIDStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -170,12 +170,12 @@ DMLEAF tWiFiSSIDStatsParams[] = {
|
|||
|
||||
/* *** Device.WiFi.AccessPoint.{i}. *** */
|
||||
DMOBJ tWiFiAccessPointObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Security", &DMWRITE, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointSecurityParams, NULL, BBFDM_BOTH},
|
||||
{"AssociatedDevice", &DMREAD, NULL, NULL, NULL, browse_wifi_associated_device, NULL, NULL, tWiFiAccessPointAssociatedDeviceObj, tWiFiAccessPointAssociatedDeviceParams, get_linker_associated_device, BBFDM_BOTH},
|
||||
{"WPS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointWPSParams, NULL, BBFDM_BOTH},
|
||||
{"Accounting", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointAccountingParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IEEE80211r", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAcessPointIEEE80211rParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Security", &DMWRITE, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointSecurityParams, NULL, BBFDM_BOTH},
|
||||
{"AssociatedDevice", &DMREAD, NULL, NULL, NULL, browse_wifi_associated_device, NULL, NULL, NULL, tWiFiAccessPointAssociatedDeviceObj, tWiFiAccessPointAssociatedDeviceParams, get_linker_associated_device, BBFDM_BOTH},
|
||||
{"WPS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointWPSParams, NULL, BBFDM_BOTH},
|
||||
{"Accounting", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointAccountingParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"IEEE80211r", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAcessPointIEEE80211rParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -230,8 +230,8 @@ DMLEAF tWiFiAccessPointWPSParams[] = {
|
|||
|
||||
/* *** Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}. *** */
|
||||
DMOBJ tWiFiAccessPointAssociatedDeviceObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointAssociatedDeviceStatsParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointAssociatedDeviceStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -286,11 +286,11 @@ DMLEAF tWiFiAcessPointIEEE80211rParams[] = {
|
|||
|
||||
/* *** Device.WiFi.EndPoint.{i}. *** */
|
||||
DMOBJ tWiFiEndPointObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointStatsParams, NULL, BBFDM_BOTH},
|
||||
{"Security", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointSecurityParams, NULL, BBFDM_BOTH},
|
||||
{"Profile", &DMREAD, NULL, NULL, NULL, browseWiFiEndPointProfileInst, NULL, NULL, tWiFiEndPointProfileObj, tWiFiEndPointProfileParams, NULL, BBFDM_BOTH},
|
||||
{"WPS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointWPSParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointStatsParams, NULL, BBFDM_BOTH},
|
||||
{"Security", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointSecurityParams, NULL, BBFDM_BOTH},
|
||||
{"Profile", &DMREAD, NULL, NULL, NULL, browseWiFiEndPointProfileInst, NULL, NULL, NULL, tWiFiEndPointProfileObj, tWiFiEndPointProfileParams, NULL, BBFDM_BOTH},
|
||||
{"WPS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointWPSParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -324,8 +324,8 @@ DMLEAF tWiFiEndPointSecurityParams[] = {
|
|||
|
||||
/* *** Device.WiFi.EndPoint.{i}.Profile.{i}. *** */
|
||||
DMOBJ tWiFiEndPointProfileObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Security", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointProfileSecurityParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Security", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiEndPointProfileSecurityParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@
|
|||
|
||||
/*** DMROOT.X_IOPSYS_EU_IpAccCfg. ***/
|
||||
DMOBJ tSe_IpAccObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"IpAccListCfgObj", &DMWRITE, add_ipacccfg_rule, delete_ipacccfg_rule, NULL, browseAccListInst, NULL, NULL, NULL, tSe_IpAccCfgParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"PortForwarding", &DMWRITE, add_ipacccfg_port_forwarding, delete_ipacccfg_port_forwarding, NULL, browseport_forwardingInst, NULL, NULL, NULL, tSe_PortForwardingParam, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"IpAccListCfgObj", &DMWRITE, add_ipacccfg_rule, delete_ipacccfg_rule, NULL, browseAccListInst, NULL, NULL, NULL, NULL, tSe_IpAccCfgParam, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"PortForwarding", &DMWRITE, add_ipacccfg_port_forwarding, delete_ipacccfg_port_forwarding, NULL, browseport_forwardingInst, NULL, NULL, NULL, NULL, tSe_PortForwardingParam, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ DMLEAF XIopsysEuOwsdParams[] = {
|
|||
};
|
||||
|
||||
DMOBJ XIopsysEuOwsdObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"UbusProxy", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, UbusProxyParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"ListenObj", &DMWRITE, add_owsd_listen, delete_owsd_listen_instance, NULL, browseXIopsysEuOwsdListenObj, NULL, NULL, NULL, X_IOPSYS_EU_ListenObjParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{CUSTOM_PREFIX"UbusProxy", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, UbusProxyParams, NULL, BBFDM_BOTH},
|
||||
{CUSTOM_PREFIX"ListenObj", &DMWRITE, add_owsd_listen, delete_owsd_listen_instance, NULL, browseXIopsysEuOwsdListenObj, NULL, NULL, NULL, NULL, X_IOPSYS_EU_ListenObjParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
/*** DMROOT.X_IOPSYS_EU_WiFiLife. ****/
|
||||
DMOBJ X_IOPSYS_EU_WiFiLifeObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Steering", &DMREAD, NULL, NULL, NULL, browseWifiLifeSteeringObj, NULL, NULL, NULL, WiFiLifeSteeringParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Steering", &DMREAD, NULL, NULL, NULL, browseWifiLifeSteeringObj, NULL, NULL, NULL, NULL, WiFiLifeSteeringParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
/* *** Device.XMPP. *** */
|
||||
DMOBJ tXMPPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Connection", &DMWRITE, add_xmpp_connection, delete_xmpp_connection, NULL, browsexmpp_connectionInst, NULL, NULL, tXMPPConnectionObj, tXMPPConnectionParams, get_xmpp_connection_linker, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Connection", &DMWRITE, add_xmpp_connection, delete_xmpp_connection, NULL, browsexmpp_connectionInst, NULL, NULL, NULL, tXMPPConnectionObj, tXMPPConnectionParams, get_xmpp_connection_linker, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
@ -34,8 +34,8 @@ DMLEAF tXMPPParams[] = {
|
|||
|
||||
/* *** Device.XMPP.Connection.{i}. *** */
|
||||
DMOBJ tXMPPConnectionObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, browsexmpp_connection_serverInst, NULL, NULL, NULL, tXMPPConnectionServerParams, NULL, BBFDM_BOTH},
|
||||
/* OBJ, permission, addobj, delobj, checkobj, browseinstobj, forced_inform, notification, nextjsonobj, nextobj, leaf, linker, bbfdm_type*/
|
||||
{"Server", &DMREAD, NULL, NULL, NULL, browsexmpp_connection_serverInst, NULL, NULL, NULL, NULL, tXMPPConnectionServerParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue