summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup')
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable.h6
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUIndex.m2d35
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d35
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupData.m2d43
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupIndex.m2d35
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/table-spc300EoCOnlineSlaveSNRTable.m2d103
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-FIRST.txt167
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-spc300EoCOnlineSlaveSNRTable.txt479
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.c217
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.h207
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.c429
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.h81
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.c237
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.h74
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.c28
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.h28
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_enums.h39
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.c991
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.h101
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_oids.h33
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable.h6
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUIndex.m2d35
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d35
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapRx.m2d43
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapTx.m2d43
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/table-spc300EoCOnlineSlaveTonemapTable.m2d103
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-FIRST.txt167
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-spc300EoCOnlineSlaveTonemapTable.txt473
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.c217
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.h212
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.c466
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.h83
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.c324
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.h77
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.c28
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.h28
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_enums.h39
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.c979
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.h103
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_oids.h33
40 files changed, 6862 insertions, 0 deletions
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable.h
new file mode 100644
index 0000000000..2d7c9d3377
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable.h
@@ -0,0 +1,6 @@
+config_require(sarft-eoc-mib/modEoCCNUGroup/modEoCOnlineCNUTable)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set)
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUIndex.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUIndex.m2d
new file mode 100644
index 0000000000..ca766d7b73
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUIndex.m2d
@@ -0,0 +1,35 @@
+########################################################################
+##
+## mib2c node setting for modEoCOnlineCNUIndex
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = long@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 0@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d
new file mode 100644
index 0000000000..4b996f048c
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d
@@ -0,0 +1,35 @@
+########################################################################
+##
+## mib2c node setting for modEoCOnlineCNUMasterIndex
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = long@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 0@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupData.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupData.m2d
new file mode 100644
index 0000000000..ab0bfea85a
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupData.m2d
@@ -0,0 +1,43 @@
+########################################################################
+##
+## mib2c node setting for spc300EoCOnlineSlaveSNRGroupData
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = char@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 1@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
+########################################################################
+## Allow realloc when data size exceeds length? If your data
+## store for this node is a pointer allocated with one of the
+## alloc family functions, you can set this to 1 to use realloc
+## when a new value length exceeds the old lenght. If you are
+## using a fixed size buffer, this value should be 0.
+##
+## @eval $m2c_node_realloc = 0@
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupIndex.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupIndex.m2d
new file mode 100644
index 0000000000..d03d1252f2
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/node-spc300EoCOnlineSlaveSNRGroupIndex.m2d
@@ -0,0 +1,35 @@
+########################################################################
+##
+## mib2c node setting for spc300EoCOnlineSlaveSNRGroupIndex
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = long@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 0@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/table-spc300EoCOnlineSlaveSNRTable.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/table-spc300EoCOnlineSlaveSNRTable.m2d
new file mode 100644
index 0000000000..f6eebd1d44
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/defaults/table-spc300EoCOnlineSlaveSNRTable.m2d
@@ -0,0 +1,103 @@
+## ########################################################################
+##
+## mib2c Table setting for spc300EoCOnlineSlaveSNRTable
+##
+## ########################################################################
+##
+## User context structure type
+##
+@eval $m2c_context_reg = "netsnmp_data_list"@
+##
+## ########################################################################
+##
+## Allocate data structure in row structure? (vs embedd)
+##
+@eval $m2c_data_allocate = 0@
+##
+## ########################################################################
+##
+## Generate code to cache data?
+##
+@eval $m2c_data_cache = 1@
+##
+## ########################################################################
+##
+## Data context structure type
+##
+@eval $m2c_data_context = "generated"@ [generated|NAME]
+##
+## ########################################################################
+##
+## Generate function to initialize row context when created?
+##
+@eval $m2c_data_init = 1@
+##
+## ########################################################################
+##
+## Persistence of data context
+## // 0:persistent, 1:semi-transient, 2:transient
+##
+@eval $m2c_data_transient = 2@
+##
+## ########################################################################
+##
+## Include some example code?
+##
+@eval $m2c_include_examples = 0@
+##
+## ########################################################################
+##
+## Generate code for irreversible_commit mode?
+##
+@eval $m2c_irreversible_commit = 0@
+##
+## ########################################################################
+##
+## Data access method
+##
+@eval $m2c_table_access = "container-cached"@
+##
+## ########################################################################
+##
+## Generate row dependency function?
+##
+@eval $m2c_table_dependencies = 0@
+##
+## ########################################################################
+##
+## Generate data store/restore functions for persistent storage?
+##
+@eval $m2c_table_persistent = 0@
+##
+## ########################################################################
+##
+## Generate code for dynamic row creation?
+##
+@eval $m2c_table_row_creation = 0@
+##
+## ########################################################################
+##
+## Generate code for settable objects?
+##
+@eval $m2c_table_settable = 0@
+##
+## ########################################################################
+##
+## Skip mapping between data context and MIB formats?
+## // 0:generate maps, 1:skip maps, -1:skip unless enum/oid
+##
+@eval $m2c_table_skip_mapping = 1@
+##
+## ########################################################################
+##
+## Generate code for sparse tables?
+##
+@eval $m2c_table_sparse = 0@
+##
+## ########################################################################
+##
+## Generate Makefile/AgentX code?
+##
+@eval $mfd_generate_makefile = 0@
+@eval $mfd_generate_subagent = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-FIRST.txt b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-FIRST.txt
new file mode 100644
index 0000000000..39a9397f68
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-FIRST.txt
@@ -0,0 +1,167 @@
+************************************************************************
+spc300EoCOnlineSlaveSNRTable README
+------------------------------------------------------------------------
+This document describes the results of the mib2c code generation
+system using the mfd code generation template. The resulting files
+are documented both in this README file as well as per-table specific
+README files. All of the files generated by this run of mib2c will
+begin with the spc300EoCOnlineSlaveSNRTable prefix.
+
+Quick Start
+-----------
+For those interested in a quick start, to get a pseudo-todo list, try
+this command in directory with the generated code:
+
+ grep -n "TODO:" *.[ch] | sed 's/\([^ ]*\) \(.*\)TODO\(.*\)/\3 (\1)/' | sort -n
+
+Key:
+ :o: Optional
+ :r: Recommended
+ :M: Mandatory
+ :A: Advanced users
+
+This will give you and ordered list of places in the code that you
+may (or must) take a closer look at).
+
+You may also want to take a look at the on-line tutorial, found here:
+
+ http://www.net-snmp.org/tutorial/tutorial-5/toolkit/mfd/index.html
+
+
+MIBs For Dummies Overview
+-------------------------
+The MIBs For Dummies (MFD) configuration files have been written to help
+SNMP novices implement SNMP MIBs. This section will be a brief
+introduction to some of the general concepts you should be familar with.
+
+ Managed Information Base (MIB)
+ ------------------------------
+ A SNMP MIB (Managed information base) is a text file that describes the
+ syntax for some set of data objects. The MIB creates a correlation
+ between an ASCII name for an object and a number OID (Object Identifier).
+ The SNMP protocol communicates information using the OIDs, and the MIB
+ allows tools to display a name, which we humans find easier to deal with.
+
+ To use an analogy, a MIB is much like a menu at a restaurant. If you've
+ ever been to a reataurant and ordered a meal, and later received a bill
+ that simply had '#6' on it, you get the idea. The name is easier for
+ the customers to remember, and the waiters and chefs use the number for
+ efficency.
+
+
+ Scalars
+ -------
+ A scalar variable is a unique object in a MIB which can represent
+ a single value. For example, the SNMP standard MIB-II defines a
+ variable, sysContact.0, which is a string containing the contact
+ information for the person in charge of a particular agent. Note
+ that scalar variable always end with '.0'.
+
+
+ Rows and Tables
+ ---------------
+ When a group of related attributes occur more than once, they can be
+ grouped together in a table. A table has an index, which uniquely
+ identifies a particular row, and data columns, which contain the
+ attributes for that row.
+
+ For example, the SNMP standard MIB-II defines a table, ifTable, which
+ contains information on the ethernet interfaces on a system.
+
+
+ Data Structures
+ ---------------
+ The code generated by the MFD configuration files has a few important
+ structures.
+
+
+ The Data Context
+ ----------------
+ The data context structure should contain the necessary information
+ to provide the data for the columns in a given row. As long as you
+ can extract the data for a column for the data context, the data context
+ can be anything you want: a pointer to an existing structure, the
+ parameters needed for a function call or an actual copy of the data.
+
+ By default, a data context structure is generated with storage for
+ all the data in a row. Information on changing the default is presented
+ later on in this help.
+
+
+ The MIB Context
+ ---------------
+ The MIB context structure is generated with storage for all the
+ indexes of a table. This data will be used when searching for the
+ correct row to process for a request.
+
+
+ The Row Request Context
+ -----------------------
+ Each table will have a unique data structure for holding data during
+ the processing of a particular row. The row request context contains
+ the registration context (that you supply during initilization),
+ the data context, the MIB context, the undo context (for settable
+ tables) and other data. There is also a netsnmp_data_list, which can
+ be used to temporary storage during processing.
+
+
+ The Table Registration Pointer
+ ------------------------------
+ During initilization, you may provide a pointer to arbitrary data for
+ you own use. This pointer will be saved in the row request context,
+ and is passed as a parameter to several functions. It is not required,
+ and is provided as a way for you to access table specific data in
+ the generated code.
+
+
+
+These files are top-level files potentially useful for all the tables:
+------------------------------------------------------------------------
+
+ File : spc300EoCOnlineSlaveSNRTable_Makefile
+ ----------------------------------------------------------------------
+ Purpose : Make file for compiling a (sub)agent. This file is only
+ useful if you don't want to compile your code directly
+ into the Net-SNMP master agent.
+ Editable: Optional
+ Usage : make -f spc300EoCOnlineSlaveSNRTable_Makefile
+
+
+ File : spc300EoCOnlineSlaveSNRTable_subagent.c
+ ----------------------------------------------------------------------
+ Purpose : This file contains a main() function for an agent or
+ sub-agent and is compiled using the Makefile above.
+
+
+
+
+Table specific README files
+------------------------------------------------------------------------
+Each table for which code was generated has its own README file
+describing the files specifically associated with each table. You
+should probably read these next:
+
+ spc300EoCOnlineSlaveSNRTable-README-spc300EoCOnlineSlaveSNRTable.txt
+
+
+
+These are miscellaneous auto-generated code files you generally
+shouldn't edit. They contain code that ties your code together with
+the Net-SNMP agent.
+------------------------------------------------------------------------
+ File : spc300EoCOnlineSlaveSNRTable.h
+ Purpose : Header file for the module set. Includes config_require
+ macros to auto-load the other code pieces when compiled
+ into the agent.
+
+ File : spc300EoCOnlineSlaveSNRTable_oids.h
+ Purpose : C #define definitions of the tables, columns, and OIDs
+
+ File : spc300EoCOnlineSlaveSNRTable_enums.h
+ Purpose : C #define definitions of the enumerated type values for
+ each column of each table that requires them.
+
+ File : spc300EoCOnlineSlaveSNRTable_interface.c
+ Purpose : MFD interface to Net-SNMP. This auto-generated code ties the
+ functions you will fill out to the code that the agent needs.
+
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-spc300EoCOnlineSlaveSNRTable.txt b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-spc300EoCOnlineSlaveSNRTable.txt
new file mode 100644
index 0000000000..d184df6723
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable-README-spc300EoCOnlineSlaveSNRTable.txt
@@ -0,0 +1,479 @@
+************************************************************************
+spc300EoCOnlineSlaveSNRTable README
+------------------------------------------------------------------------
+ This readme file describes the code generated by mib2c (using the MIBs
+ for Dummies (MFD) configuration file). The code generated was
+ generated specifically for the following SNMP table:
+
+ spc300EoCOnlineSlaveSNRTable
+
+ Your code will be called when the snmp agent receives requests for
+ the spc300EoCOnlineSlaveSNRTable table. The agent will start by looking for the right
+ row in your existing data to operate on, if one exists.
+
+
+ Configuration Variables
+ ------------------------------------------------------------
+ Some variables used for code generation may be set to affect the code
+ generation. You may override these variables by setting them in the
+ file defaults/table-spc300EoCOnlineSlaveSNRTable.m2d, and then re-running mib2c.
+
+ m2c_table_settable (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ MIB object which have an access of read-write or read-create. The
+ default is set based on whether or not the table contains writable
+ objects, but can be over-ridden.
+
+ Syntax: @eval $m2c_table_settable = 0@
+
+
+ m2c_table_dependencies (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ checking dependencies between columns, rows or tables. The default
+ is set based on whether or not the table contains writable objects,
+ but can be over-ridden.
+
+ Syntax: @eval $m2c_table_dependencies = 0@
+
+
+ m2c_table_row_creation (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ checking creation of new rows via SNMP. The default is set based on
+ whether or not the table contains read-create objects, but can be
+ over-ridden.
+
+ Syntax: @eval $m2c_table_row_creation = 0@
+
+
+ m2c_context_reg (currently 'netsnmp_data_list')
+ --------------------------------------------------------
+ This variable contains the structure name to typedef for the
+ spc300EoCOnlineSlaveSNRTable_registration.
+
+ During initilization, you will provide a pointer to a structure of
+ this type. This pointer is used as a parameter to many functions so
+ that you have access to your registration data. The default is a
+ netsnmp_data_list pointer, which will allow you to keep multiple
+ pointers tagged by a text name. If you have a new or existing structure
+ you would rather use, you can redefine this variable.
+
+
+ To avoid regenerating code, you may also change this typedef directly
+ in the spc300EoCOnlineSlaveSNRTable.h header.
+
+ Syntax: @eval $m2c_context_reg = "struct my_registration_context@
+
+
+ m2c_data_context (currently 'generated')
+ --------------------------------------------------------
+ This variable contains the structure name to typedef for the
+ spc300EoCOnlineSlaveSNRTable_data.
+
+ This typedef is used in the row request context structure for the table,
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx.
+
+ The typedef in the primary table context will be used for the data and
+ undo structure types. This structure should contain all the data
+ needed for all the columns in the table. The default is 'generated',
+ which will cuase a new data strcuture to be generated with data members
+ for each column.
+
+ To avoid regenerating code, you may also change this typedef directly
+ in the spc300EoCOnlineSlaveSNRTable.h header.
+
+ Syntax: @eval $m2c_data_context = "struct my_data_context"@
+
+
+ m2c_data_allocate (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not the data context (see above)
+ requires memory to be allocated. The default generated data structure
+ does not. If you are using a custom data context which needs to
+ allocate memory, override this value and two additional functions
+ will be generated:
+
+ spc300EoCOnlineSlaveSNRTable_allocate_data
+ spc300EoCOnlineSlaveSNRTable_release_data
+
+ Syntax: @eval $m2c_data_allocate = 1@
+
+
+ m2c_data_init (currently '1')
+ --------------------------------------------------------
+ This variable determines whether or not the data context (see above)
+ or any other items you have added to the table context requires
+ initialization. The default generated data structure does not. If you
+ are using a custom data context or have added items needing initialization
+ to the table context, override this value and two additional functions
+ will be generated:
+
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup
+
+ Syntax: @eval 1 = 1@
+
+
+ m2c_table_access (currently 'container-cached')
+ ------------------------------------------------------------------
+ This variable determines which data interface will be use to generate
+ code for looking up data for a given index. The default is the
+ 'container-cached' access code, which caches the data in a netsnmp-
+ container (usually a sorted array).
+
+ Available options can be determined by checking for mib2c configuration
+ files that begin with 'mfd-access-*'.
+
+ Syntax: @eval $m2c_table_access = 'container-cached'@
+
+
+ m2c_include_examples (currently '0')
+ ------------------------------------------------------------------
+ This variable determines whether or not to generate example code. The
+ default is to generate example code.
+
+ Syntax: @eval $m2c_include_examples = 0@
+
+
+ m2c_data_transient (currently '2')
+ ------------------------------------------------------------------
+ This variable determines how the generated example code deals with the
+ data during data lookup. See the table readme file for details on how
+ the current table access method interprets this value. In general,
+ a value of 0 indicates persistent data, 1 indicates semi-transient and
+ 2 indicates transient data.
+
+ Syntax: @eval $m2c_data_transient = 0@
+
+
+ Index(es) for the spc300EoCOnlineSlaveSNRTable table
+ ------------------------------------------------------------
+ The index(es) for the spc300EoCOnlineSlaveSNRTable table are:
+
+ modEoCOnlineCNUMasterIndex:
+ Syntax: INTEGER
+ DataType: INTEGER
+ ASN type: ASN_INTEGER
+ C-code type: long
+ modEoCOnlineCNUIndex:
+ Syntax: INTEGER
+ DataType: INTEGER
+ ASN type: ASN_INTEGER
+ C-code type: long
+ spc300EoCOnlineSlaveSNRGroupIndex:
+ Syntax: INTEGER32
+ DataType: INTEGER32
+ ASN type: ASN_INTEGER
+ C-code type: long
+
+ You should know how to set all these values from your data context,
+ spc300EoCOnlineSlaveSNRTable_data.
+
+
+************************************************************************
+spc300EoCOnlineSlaveSNRTable File Overview
+------------------------------------------------------------------------
+ Several files have been generated to implement the spc300EoCOnlineSlaveSNRTable
+ table. We'll go through these files, one by one, explaining each and
+ letting you know which you need to edit.
+
+
+File: spc300EoCOnlineSlaveSNRTable_data_access.[c|h]
+------------------------------------------------------------------------
+ The spc300EoCOnlineSlaveSNRTable_data_access file contains the interface to your data in
+ its raw format. These functions are used to build the row cache or
+ locate the row (depending on the table access method).
+
+ Set MIB context
+ -----------------
+ TODO : Set MIB index values
+ FUNC : spc300EoCOnlineSlaveSNRTable_indexes_set
+ WHERE: spc300EoCOnlineSlaveSNRTable_data_access.c
+
+ This is a convenience function for setting the index context from
+ the native C data. Where necessary, value mapping should be done.
+
+ This function should update the table index values (found in
+ tbl_idx) for the given raw data.
+
+
+ container summary
+ ------------------------
+ The container data access code is for cases when you want to
+ store your data in the agent/sub-agent.
+
+ ... to be continued...
+
+
+ cache summary
+ ------------------------
+ The container-cached data access code is for cases when you want to
+ cache your data in the agent/sub-agent.
+
+ ... to be continued...
+
+
+
+
+File: spc300EoCOnlineSlaveSNRTable_enums.h
+------------------------------------------------------------------------
+ This file contains macros for mapping enumeration values when the
+ enumerated values defined by the MIB do not match the values used
+ internally.
+
+ Review this file to see if any values need to be updated.
+
+
+File: spc300EoCOnlineSlaveSNRTable_data_get.c
+------------------------------------------------------------------------
+ Get data for column
+ -------------------
+ TODO : retrieve column data from raw data
+ FUNC : spc300EoCOnlineSlaveSNRGroupData_get
+
+
+
+File: spc300EoCOnlineSlaveSNRTable_data_set.c
+------------------------------------------------------------------------
+
+ This table does not support set requests.
+
+
+************************************************************************
+spc300EoCOnlineSlaveSNRTable Reference
+------------------------------------------------------------------------
+
+Function flow
+----------------------------------------------------
+To give you the general idea of how the functions flow works, this
+example flow is from a complete table implementation.
+
+NOTE: Depending on your configuration, some of the functions used in the
+ examples below may not have been generated for the
+ spc300EoCOnlineSlaveSNRTable table.
+
+ Conversely, the examples below may not include some functions that
+ were generated for the spc300EoCOnlineSlaveSNRTable table.
+
+To watch the flow of the spc300EoCOnlineSlaveSNRTable table, use the
+following debug tokens:
+
+ snmp_agent
+ helper:table:req
+ spc300EoCOnlineSlaveSNRTable
+ verbose:spc300EoCOnlineSlaveSNRTable
+ internal:spc300EoCOnlineSlaveSNRTable
+
+e.g.
+ snmpd -f -Le -Dspc300EoCOnlineSlaveSNRTable,verbose:spc300EoCOnlineSlaveSNRTable,internal:spc300EoCOnlineSlaveSNRTable
+
+
+Initialization
+--------------------------------
+init_xxxTable: called xxx.c
+ initialize_table_xxxTable xxx.c
+ _xxxTable_initialize_interface xxx_interface.c
+ xxxTable_init_data xxx_data_access.c
+ _xxxTable_container_init xxx_interface.c
+ xxxTable_container_init xxx_data_access.c
+
+
+GET Request
+--------------------------------
+_cache_load xxx_interface.c
+ xxxTable_cache_load xxx_data_access.c
+ xxxTable_allocate_rowreq_ctx xxx_interface.c
+ xxxTable_allocate_data xxx_data_get.c
+ xxxTable_rowreq_ctx_init xxx_data_get.c
+ xxxTable_indexes_set xxx_data_get.c
+ xxxTable_indexes_set_tbl_idx xxx_data_get.c
+
+xxxTable_pre_request
+
+_mfd_xxxTable_object_lookup xxx_interface.c
+ xxxTable_row_prep xxx_data_access.c
+
+_mfd_xxxTable_get_values xxx_interface.c
+ _mfd_xxxTable_get_column xxx_interface.c
+ yyy_get xxx_data_get.c
+
+xxxTable_post_request
+
+
+GETNEXT Request
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+_mfd_xxxTable_get_values ...
+xxxTable_post_request ...
+
+
+SET Request: success
+--------------------------------
+_cache_load ...
+xxxTable_pre_request
+_mfd_xxxTable_object_lookup ...
+
+_mfd_xxxTable_check_objects xxx_interface.c
+ _xxxTable_check_column xxx_interface.c
+ yyy_check_value xxx_data_set.c
+
+_mfd_xxxTable_undo_setup xxx_interface.c
+ xxxTable_allocate_data ...
+ xxxTable_undo_setup xxx_interface.c
+ _xxxTable_undo_setup_column xxx_interface.c
+ yyy_undo_setup xxx_data_set.c
+
+_mfd_xxxTable_set_values xxx_interface.c
+ _xxxTable_set_column xxx_interface.c
+ yyy_set xxx_data_set.c
+
+_mfd_xxxTable_check_dependencies xxx_interface.c
+ xxxTable_check_dependencies xxx_data_set.c
+
+_mfd_xxxTable_commit xxx_interface.c
+ xxxTable_commit xxx_data_set.c
+
+_mfd_xxxTable_undo_cleanup xxx_interface.c
+ xxxTable_undo_cleanup xxx_data_set.c
+ xxxTable_release_data ...
+
+xxxTable_post_request ...
+
+
+SET Request: row creation
+--------------------------------
+_cache_load ...
+xxxTable_pre_request
+
+_mfd_xxxTable_object_lookup ...
+ xxxTable_index_from_oid xxx_interface.c
+ xxxTable_allocate_rowreq_ctx ...
+ ...
+ _xxxTable_check_indexes xxx_interface.c
+ yyy_check_index xxx_data_set.c
+ xxxTable_validate_index xxx_data_set.c
+
+_mfd_xxxTable_check_objects ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+
+_mfd_xxxTable_undo_setup ...
+_mfd_xxxTable_set_values ...
+_mfd_xxxTable_check_dependencies ...
+_mfd_xxxTable_commit ...
+_mfd_xxxTable_undo_cleanup ...
+xxxTable_post_request ...
+
+
+SET Resuest: value error
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+
+_mfd_xxxTable_check_objects ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+ ERROR:"yyy value not supported"
+
+xxxTable_post_request ...
+
+
+SET Request: commit failure
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+_mfd_xxxTable_check_objects ...
+_mfd_xxxTable_undo_setup ...
+_mfd_xxxTable_set_values ...
+_mfd_xxxTable_check_dependencies ...
+
+_mfd_xxxTable_commit ...
+ xxxTable_commit ...
+ ERROR: bad rc -1
+
+_mfd_xxxTable_undo_commit xxx_interface.c
+ xxxTable_undo_commit xxx_data_set.c
+
+_mfd_xxxTable_undo_values xxx_interface.c
+ _xxxTable_undo_column xxx_interface.c
+ yyy_undo xxx_data_set.c
+
+_mfd_xxxTable_undo_cleanup ...
+xxxTable_post_request ...
+
+
+Row release (user initiated)
+--------------------------------
+xxxTable_release_rowreq_ctx xxx_interface.c
+ xxxTable_rowreq_ctx_cleanup xxx_data_get.c
+ xxxTable_release_data xxx_data_get.c
+
+
+
+Table / column details
+----------------------------------------------------
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+*/
+
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNREntry.spc300EoCOnlineSlaveSNRGroupIndex
+ * spc300EoCOnlineSlaveSNRGroupIndex is subid 1 of spc300EoCOnlineSlaveSNREntry.
+ * Its status is Current, and its access level is NoAccess.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2.1.1
+ * Description:
+Index of carrier group
+ *
+ * Attributes:
+ * accessible 0 isscalar 0 enums 0 hasdefval 0
+ * readable 0 iscolumn 1 ranges 1 hashint 0
+ * settable 0
+ *
+ * Ranges: 0 - 7;
+ *
+ * Its syntax is INTEGER32 (based on perltype INTEGER32)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (long)
+ *
+ *
+ *
+ * NOTE: NODE spc300EoCOnlineSlaveSNRGroupIndex IS NOT ACCESSIBLE
+ *
+ *
+ */
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNREntry.spc300EoCOnlineSlaveSNRGroupData
+ * spc300EoCOnlineSlaveSNRGroupData is subid 2 of spc300EoCOnlineSlaveSNREntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2.1.2
+ * Description:
+Values for SNR given for each carrier in current carrier group
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+
+
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.c
new file mode 100644
index 0000000000..b30f64734f
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.c
@@ -0,0 +1,217 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+/** \page MFD helper for spc300EoCOnlineSlaveSNRTable
+ *
+ * \section intro Introduction
+ * Introductory text.
+ *
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+#include <net-snmp/agent/mib_modules.h>
+
+#include "spc300EoCOnlineSlaveSNRTable_interface.h"
+
+oid spc300EoCOnlineSlaveSNRTable_oid[] =
+ { SPC300EOCONLINESLAVESNRTABLE_OID };
+int spc300EoCOnlineSlaveSNRTable_oid_size =
+OID_LENGTH(spc300EoCOnlineSlaveSNRTable_oid);
+
+spc300EoCOnlineSlaveSNRTable_registration
+ spc300EoCOnlineSlaveSNRTable_user_context;
+
+void initialize_table_spc300EoCOnlineSlaveSNRTable(void);
+void shutdown_table_spc300EoCOnlineSlaveSNRTable(void);
+
+
+/**
+ * Initializes the spc300EoCOnlineSlaveSNRTable module
+ */
+void
+init_spc300EoCOnlineSlaveSNRTable(void)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:init_spc300EoCOnlineSlaveSNRTable", "called\n"));
+
+ /*
+ * TODO:300:o: Perform spc300EoCOnlineSlaveSNRTable one-time module initialization.
+ */
+
+ /*
+ * here we initialize all the tables we're planning on supporting
+ */
+ if (should_init("spc300EoCOnlineSlaveSNRTable"))
+ initialize_table_spc300EoCOnlineSlaveSNRTable();
+
+} /* init_spc300EoCOnlineSlaveSNRTable */
+
+/**
+ * Shut-down the spc300EoCOnlineSlaveSNRTable module (agent is exiting)
+ */
+void
+shutdown_spc300EoCOnlineSlaveSNRTable(void)
+{
+ if (should_init("spc300EoCOnlineSlaveSNRTable"))
+ shutdown_table_spc300EoCOnlineSlaveSNRTable();
+
+}
+
+/**
+ * Initialize the table spc300EoCOnlineSlaveSNRTable
+ * (Define its contents and how it's structured)
+ */
+void
+initialize_table_spc300EoCOnlineSlaveSNRTable(void)
+{
+ spc300EoCOnlineSlaveSNRTable_registration *user_context;
+ u_long flags;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:initialize_table_spc300EoCOnlineSlaveSNRTable", "called\n"));
+
+ /*
+ * TODO:301:o: Perform spc300EoCOnlineSlaveSNRTable one-time table initialization.
+ */
+
+ /*
+ * TODO:302:o: |->Initialize spc300EoCOnlineSlaveSNRTable user context
+ * if you'd like to pass in a pointer to some data for this
+ * table, allocate or set it up here.
+ */
+ /*
+ * a netsnmp_data_list is a simple way to store void pointers. A simple
+ * string token is used to add, find or remove pointers.
+ */
+ user_context =
+ netsnmp_create_data_list("spc300EoCOnlineSlaveSNRTable", NULL,
+ NULL);
+
+ /*
+ * No support for any flags yet, but in the future you would
+ * set any flags here.
+ */
+ flags = 0;
+
+ /*
+ * call interface initialization code
+ */
+ _spc300EoCOnlineSlaveSNRTable_initialize_interface(user_context,
+ flags);
+} /* initialize_table_spc300EoCOnlineSlaveSNRTable */
+
+/**
+ * Shutdown the table spc300EoCOnlineSlaveSNRTable
+ */
+void
+shutdown_table_spc300EoCOnlineSlaveSNRTable(void)
+{
+ /*
+ * call interface shutdown code
+ */
+ _spc300EoCOnlineSlaveSNRTable_shutdown_interface
+ (&spc300EoCOnlineSlaveSNRTable_user_context);
+}
+
+/**
+ * extra context initialization (eg default values)
+ *
+ * @param rowreq_ctx : row request context
+ * @param user_init_ctx : void pointer for user (parameter to rowreq_ctx_allocate)
+ *
+ * @retval MFD_SUCCESS : no errors
+ * @retval MFD_ERROR : error (context allocate will fail)
+ */
+int
+spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ void *user_init_ctx)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:210:o: |-> Perform extra spc300EoCOnlineSlaveSNRTable rowreq initialization. (eg DEFVALS)
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init */
+
+/**
+ * extra context cleanup
+ *
+ */
+void
+spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:211:o: |-> Perform extra spc300EoCOnlineSlaveSNRTable rowreq cleanup.
+ */
+} /* spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup */
+
+/**
+ * pre-request callback
+ *
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error
+ */
+int
+spc300EoCOnlineSlaveSNRTable_pre_request
+ (spc300EoCOnlineSlaveSNRTable_registration * user_context)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_pre_request", "called\n"));
+
+ /*
+ * TODO:510:o: Perform spc300EoCOnlineSlaveSNRTable pre-request actions.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_pre_request */
+
+/**
+ * post-request callback
+ *
+ * Note:
+ * New rows have been inserted into the container, and
+ * deleted rows have been removed from the container and
+ * released.
+ *
+ * @param user_context
+ * @param rc : MFD_SUCCESS if all requests succeeded
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error (ignored)
+ */
+int
+spc300EoCOnlineSlaveSNRTable_post_request
+ (spc300EoCOnlineSlaveSNRTable_registration * user_context, int rc)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_post_request", "called\n"));
+
+ /*
+ * TODO:511:o: Perform spc300EoCOnlineSlaveSNRTable post-request actions.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_post_request */
+
+
+/** @{ */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.h
new file mode 100644
index 0000000000..7242cb1557
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable.h
@@ -0,0 +1,207 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_H
+#define SPC300EOCONLINESLAVESNRTABLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/** @addtogroup misc misc: Miscellaneous routines
+ *
+ * @{
+ */
+#include <net-snmp/library/asn1.h>
+
+ /*
+ * OID and column number definitions for spc300EoCOnlineSlaveSNRTable
+ */
+#include "spc300EoCOnlineSlaveSNRTable_oids.h"
+
+ /*
+ * enum definions
+ */
+#include "spc300EoCOnlineSlaveSNRTable_enums.h"
+
+/* include common header */
+#include "EoCCommon.h"
+
+ /*
+ *********************************************************************
+ * function declarations
+ */
+ void init_spc300EoCOnlineSlaveSNRTable(void);
+ void shutdown_spc300EoCOnlineSlaveSNRTable(void);
+
+ /*
+ *********************************************************************
+ * Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+ /*
+ *********************************************************************
+ * When you register your mib, you get to provide a generic
+ * pointer that will be passed back to you for most of the
+ * functions calls.
+ *
+ * TODO:100:r: Review all context structures
+ */
+ /*
+ * TODO:101:o: |-> Review spc300EoCOnlineSlaveSNRTable registration context.
+ */
+ typedef netsnmp_data_list spc300EoCOnlineSlaveSNRTable_registration;
+
+/**********************************************************************/
+ /*
+ * TODO:110:r: |-> Review spc300EoCOnlineSlaveSNRTable data context structure.
+ * This structure is used to represent the data for spc300EoCOnlineSlaveSNRTable.
+ */
+ /*
+ * This structure contains storage for all the columns defined in the
+ * spc300EoCOnlineSlaveSNRTable.
+ */
+ typedef struct spc300EoCOnlineSlaveSNRTable_data_s {
+
+ /*
+ * spc300EoCOnlineSlaveSNRGroupData(2)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ char spc300EoCOnlineSlaveSNRGroupData[LIBSPID_EOC_SNR_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveSNRGroupData_len; /* # of char elements, not bytes */
+
+ } spc300EoCOnlineSlaveSNRTable_data;
+
+
+ /*
+ * TODO:120:r: |-> Review spc300EoCOnlineSlaveSNRTable mib index.
+ * This structure is used to represent the index for spc300EoCOnlineSlaveSNRTable.
+ */
+ typedef struct spc300EoCOnlineSlaveSNRTable_mib_index_s {
+ /* field added for storing slave MAC address in string format (to permit sharing it between row_prep and container_load) */
+ char modEoCOnlineCNUMACString[LIBSPID_MAC_STR_LEN];
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUMasterIndex;
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUIndex;
+
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ long spc300EoCOnlineSlaveSNRGroupIndex;
+
+
+ } spc300EoCOnlineSlaveSNRTable_mib_index;
+
+ /*
+ * TODO:121:r: | |-> Review spc300EoCOnlineSlaveSNRTable max index length.
+ * If you KNOW that your indexes will never exceed a certain
+ * length, update this macro to that length.
+ */
+#define MAX_spc300EoCOnlineSlaveSNRTable_IDX_LEN 3
+
+
+ /*
+ *********************************************************************
+ * TODO:130:o: |-> Review spc300EoCOnlineSlaveSNRTable Row request (rowreq) context.
+ * When your functions are called, you will be passed a
+ * spc300EoCOnlineSlaveSNRTable_rowreq_ctx pointer.
+ */
+ typedef struct spc300EoCOnlineSlaveSNRTable_rowreq_ctx_s {
+
+ /** this must be first for container compare to work */
+ netsnmp_index oid_idx;
+ oid oid_tmp[MAX_spc300EoCOnlineSlaveSNRTable_IDX_LEN];
+
+ spc300EoCOnlineSlaveSNRTable_mib_index tbl_idx;
+
+ spc300EoCOnlineSlaveSNRTable_data data;
+
+ /*
+ * flags per row. Currently, the first (lower) 8 bits are reserved
+ * for the user. See mfd.h for other flags.
+ */
+ u_int rowreq_flags;
+
+ /*
+ * TODO:131:o: | |-> Add useful data to spc300EoCOnlineSlaveSNRTable rowreq context.
+ */
+
+ /*
+ * storage for future expansion
+ */
+ netsnmp_data_list *spc300EoCOnlineSlaveSNRTable_data_list;
+
+ } spc300EoCOnlineSlaveSNRTable_rowreq_ctx;
+
+ typedef struct spc300EoCOnlineSlaveSNRTable_ref_rowreq_ctx_s {
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx;
+ } spc300EoCOnlineSlaveSNRTable_ref_rowreq_ctx;
+
+ /*
+ *********************************************************************
+ * function prototypes
+ */
+ int
+ spc300EoCOnlineSlaveSNRTable_pre_request
+ (spc300EoCOnlineSlaveSNRTable_registration * user_context);
+ int
+ spc300EoCOnlineSlaveSNRTable_post_request
+ (spc300EoCOnlineSlaveSNRTable_registration * user_context, int rc);
+
+ int
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ void *user_init_ctx);
+ void
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx);
+
+
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx
+ *spc300EoCOnlineSlaveSNRTable_row_find_by_mib_index
+ (spc300EoCOnlineSlaveSNRTable_mib_index * mib_idx);
+
+ extern oid spc300EoCOnlineSlaveSNRTable_oid[];
+ extern int spc300EoCOnlineSlaveSNRTable_oid_size;
+
+
+#include "spc300EoCOnlineSlaveSNRTable_interface.h"
+#include "spc300EoCOnlineSlaveSNRTable_data_access.h"
+#include "spc300EoCOnlineSlaveSNRTable_data_get.h"
+#include "spc300EoCOnlineSlaveSNRTable_data_set.h"
+
+ /*
+ * DUMMY markers, ignore
+ *
+ * TODO:099:x: *************************************************************
+ * TODO:199:x: *************************************************************
+ * TODO:299:x: *************************************************************
+ * TODO:399:x: *************************************************************
+ * TODO:499:x: *************************************************************
+ */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.c
new file mode 100644
index 0000000000..6f8613d5d9
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.c
@@ -0,0 +1,429 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+
+#include "spc300EoCOnlineSlaveSNRTable_data_access.h"
+
+/* include modEoCCNUOnlineTable header for loading external indexes */
+#include "sarft-eoc-mib/modEoCCNUGroup/modEoCOnlineCNUTable/modEoCOnlineCNUTable.h"
+
+/** @ingroup interface
+ * @addtogroup data_access data_access: Routines to access data
+ *
+ * These routines are used to locate the data used to satisfy
+ * requests.
+ *
+ * @{
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+
+/**
+ * initialization for spc300EoCOnlineSlaveSNRTable data access
+ *
+ * This function is called during startup to allow you to
+ * allocate any resources you need for the data table.
+ *
+ * @param spc300EoCOnlineSlaveSNRTable_reg
+ * Pointer to spc300EoCOnlineSlaveSNRTable_registration
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : unrecoverable error.
+ */
+int
+spc300EoCOnlineSlaveSNRTable_init_data
+ (spc300EoCOnlineSlaveSNRTable_registration *
+ spc300EoCOnlineSlaveSNRTable_reg)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_init_data", "called\n"));
+
+ /*
+ * TODO:303:o: Initialize spc300EoCOnlineSlaveSNRTable data.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_init_data */
+
+/**
+ * container overview
+ *
+ */
+
+/**
+ * container initialization
+ *
+ * @param container_ptr_ptr A pointer to a container pointer. If you
+ * create a custom container, use this parameter to return it
+ * to the MFD helper. If set to NULL, the MFD helper will
+ * allocate a container for you.
+ * @param cache A pointer to a cache structure. You can set the timeout
+ * and other cache flags using this pointer.
+ *
+ * This function is called at startup to allow you to customize certain
+ * aspects of the access method. For the most part, it is for advanced
+ * users. The default code should suffice for most cases. If no custom
+ * container is allocated, the MFD code will create one for your.
+ *
+ * This is also the place to set up cache behavior. The default, to
+ * simply set the cache timeout, will work well with the default
+ * container. If you are using a custom container, you may want to
+ * look at the cache helper documentation to see if there are any
+ * flags you want to set.
+ *
+ * @remark
+ * This would also be a good place to do any initialization needed
+ * for you data source. For example, opening a connection to another
+ * process that will supply the data, opening a database, etc.
+ */
+void
+spc300EoCOnlineSlaveSNRTable_container_init(netsnmp_container **
+ container_ptr_ptr,
+ netsnmp_cache * cache)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_container_init", "called\n"));
+
+ if (NULL == container_ptr_ptr) {
+ snmp_log(LOG_ERR,
+ "bad container param to spc300EoCOnlineSlaveSNRTable_container_init\n");
+ return;
+ }
+
+ /*
+ * For advanced users, you can use a custom container. If you
+ * do not create one, one will be created for you.
+ */
+ *container_ptr_ptr = NULL;
+
+ if (NULL == cache) {
+ snmp_log(LOG_ERR,
+ "bad cache param to spc300EoCOnlineSlaveSNRTable_container_init\n");
+ return;
+ }
+
+ /*
+ * TODO:345:A: Set up spc300EoCOnlineSlaveSNRTable cache properties.
+ *
+ * Also for advanced users, you can set parameters for the
+ * cache. Do not change the magic pointer, as it is used
+ * by the MFD helper. To completely disable caching, set
+ * cache->enabled to 0.
+ */
+ cache->timeout = SPC300EOCONLINESLAVESNRTABLE_CACHE_TIMEOUT; /* seconds */
+} /* spc300EoCOnlineSlaveSNRTable_container_init */
+
+/**
+ * container shutdown
+ *
+ * @param container_ptr A pointer to the container.
+ *
+ * This function is called at shutdown to allow you to customize certain
+ * aspects of the access method. For the most part, it is for advanced
+ * users. The default code should suffice for most cases.
+ *
+ * This function is called before spc300EoCOnlineSlaveSNRTable_container_free().
+ *
+ * @remark
+ * This would also be a good place to do any cleanup needed
+ * for you data source. For example, closing a connection to another
+ * process that supplied the data, closing a database, etc.
+ */
+void
+spc300EoCOnlineSlaveSNRTable_container_shutdown(netsnmp_container *
+ container_ptr)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_container_shutdown", "called\n"));
+
+ if (NULL == container_ptr) {
+ snmp_log(LOG_ERR,
+ "bad params to spc300EoCOnlineSlaveSNRTable_container_shutdown\n");
+ return;
+ }
+
+} /* spc300EoCOnlineSlaveSNRTable_container_shutdown */
+
+/* internal helper function for extracting indexes from modEoCOnlineCNUTable row request and setting them in SNRTable container */
+static void
+_snr_container_set_indexes(modEoCOnlineCNUTable_rowreq_ctx * online_rowreq_ctx,
+ netsnmp_container *snr_container)
+{
+ size_t count = 0;
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *snr_rowreq_ctx;
+ int spc300EoCOnlineSlaveSNRGroupIndex;
+
+
+ netsnmp_assert(NULL != online_rowreq_ctx);
+ netsnmp_assert(NULL != snr_container);
+
+ char *mac_slist;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:_snr_container_set_indexes", "current master index: %d and slave index: %d\n",
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUMasterIndex, online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex));
+
+ /* retrieve MAC address string from slave index in online table */
+ mac_slist = se_find_label_in_slist("online_table", online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex);
+
+ if (NULL == mac_slist){
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveSNRTable:_snr_container_set_indexes: error retrieving MAC address from slave index\n");
+ return;
+ }
+
+ /* insert SNR group indexes only if slave is authorized */
+ if (LIBSPID_SUCCESS == libspid_eoc_wl_authorization (mac_slist)){
+ for (spc300EoCOnlineSlaveSNRGroupIndex = LIBSPID_EOC_SNR_MIN_GROUP; spc300EoCOnlineSlaveSNRGroupIndex <= LIBSPID_EOC_SNR_MAX_GROUP; spc300EoCOnlineSlaveSNRGroupIndex++){
+ /*
+ * TODO:352:M: | |-> set indexes in new spc300EoCOnlineSlaveSNRTable rowreq context.
+ * data context will be set from the param (unless NULL,
+ * in which case a new data context will be allocated)
+ */
+ snr_rowreq_ctx =
+ spc300EoCOnlineSlaveSNRTable_allocate_rowreq_ctx(NULL);
+ if (NULL == snr_rowreq_ctx) {
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveSNRTable: rowreq_ctx memory allocation failed\n");
+ return;
+ }
+ if (MFD_SUCCESS !=
+ spc300EoCOnlineSlaveSNRTable_indexes_set(snr_rowreq_ctx,
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUMasterIndex,
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex,
+ spc300EoCOnlineSlaveSNRGroupIndex))
+ {
+ snmp_log(LOG_ERR,
+ "error setting index while loading "
+ "spc300EoCOnlineSlaveSNRTable data.\n");
+ spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx(snr_rowreq_ctx);
+ continue;
+ }
+
+ /* store slave MAC address string as an additional field of index structure - to be retrieved in row_prep */
+ strncpy(snr_rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString, mac_slist, LIBSPID_MAC_STR_LEN);
+ /*
+ * insert into SNR table container
+ */
+ CONTAINER_INSERT(snr_container, snr_rowreq_ctx);
+ ++count;
+
+ }
+ }
+
+ DEBUGMSGT(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_container_load", "inserted %d records\n", count));
+
+}
+
+/**
+ * load initial data
+ *
+ * TODO:350:M: Implement spc300EoCOnlineSlaveSNRTable data load
+ * This function will also be called by the cache helper to load
+ * the container again (after the container free function has been
+ * called to free the previous contents).
+ *
+ * @param container container to which items should be inserted
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_RESOURCE_UNAVAILABLE : Can't access data source
+ * @retval MFD_ERROR : other error.
+ *
+ * This function is called to load the index(es) (and data, optionally)
+ * for the every row in the data set.
+ *
+ * @remark
+ * While loading the data, the only important thing is the indexes.
+ * If access to your data is cheap/fast (e.g. you have a pointer to a
+ * structure in memory), it would make sense to update the data here.
+ * If, however, the accessing the data invovles more work (e.g. parsing
+ * some other existing data, or peforming calculations to derive the data),
+ * then you can limit yourself to setting the indexes and saving any
+ * information you will need later. Then use the saved information in
+ * spc300EoCOnlineSlaveSNRTable_row_prep() for populating data.
+ *
+ * @note
+ * If you need consistency between rows (like you want statistics
+ * for each row to be from the same time frame), you should set all
+ * data here.
+ *
+ */
+int
+spc300EoCOnlineSlaveSNRTable_container_load(netsnmp_container * container)
+{
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx;
+ size_t count = 0;
+
+ netsnmp_container * online_container;
+
+ /*
+ * temporary storage for index values
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUIndex;
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ long spc300EoCOnlineSlaveSNRGroupIndex;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_container_load", "called\n"));
+
+ /*
+ * TODO:351:M: |-> Load/update data in the spc300EoCOnlineSlaveSNRTable container.
+ * loop over your spc300EoCOnlineSlaveSNRTable data, allocate a rowreq context,
+ * set the index(es) [and data, optionally] and insert into
+ * the container.
+ */
+
+ /* find container for modEoCCNUOnlineTable */
+ online_container =
+ netsnmp_container_find("modEoCOnlineCNUTable:table_container");
+ if (NULL == online_container) {
+ snmp_log(LOG_ERR, "online table temp container not found\n");
+ return SNMP_ERR_GENERR;
+ }
+
+
+ /* free container before loading */
+ modEoCOnlineCNUTable_container_free(online_container);
+
+
+ /* load fresh container contents */
+ if (MFD_ERROR == modEoCOnlineCNUTable_container_load(online_container)) {
+ snmp_log(LOG_ERR, "online table container load error\n");
+ return MFD_ERROR;
+ }
+
+ /*
+ * extract indexes from modEoCOnlineCNUTable container and set them in SNR table container
+ */
+ CONTAINER_FOR_EACH(online_container,
+ (netsnmp_container_obj_func *) _snr_container_set_indexes,
+ container);
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_container_load */
+
+/**
+ * container clean up
+ *
+ * @param container container with all current items
+ *
+ * This optional callback is called prior to all
+ * item's being removed from the container. If you
+ * need to do any processing before that, do it here.
+ *
+ * @note
+ * The MFD helper will take care of releasing all the row contexts.
+ *
+ */
+void
+spc300EoCOnlineSlaveSNRTable_container_free(netsnmp_container * container)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_container_free", "called\n"));
+
+ /*
+ * TODO:380:M: Free spc300EoCOnlineSlaveSNRTable container data.
+ */
+} /* spc300EoCOnlineSlaveSNRTable_container_free */
+
+/**
+ * prepare row for processing.
+ *
+ * When the agent has located the row for a request, this function is
+ * called to prepare the row for processing. If you fully populated
+ * the data context during the index setup phase, you may not need to
+ * do anything.
+ *
+ * @param rowreq_ctx pointer to a context.
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ */
+int
+spc300EoCOnlineSlaveSNRTable_row_prep
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx)
+{
+
+ char spc300EoCOnlineSlaveSNRGroupData[LIBSPID_EOC_SNR_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveSNRGroupData_len = LIBSPID_EOC_SNR_LIST_MAX_SIZE;
+
+ libspid_eoc_snr_entry_t snr;
+
+ int i,j;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_row_prep", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ memset(spc300EoCOnlineSlaveSNRGroupData, 0x0, LIBSPID_EOC_SNR_LIST_MAX_SIZE);
+
+ /* initialize length of SNR data in row request to maximum */
+ rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len = LIBSPID_EOC_SNR_LIST_MAX_SIZE;
+
+ /* load SNR data only if slave is authorized */
+ if (LIBSPID_SUCCESS == libspid_eoc_wl_authorization (rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString)){
+ /* obtain SNR structure and store SNR data to row request context */
+ if (LIBSPID_SUCCESS != libspid_eoc_get_snr(rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString, rowreq_ctx->tbl_idx.spc300EoCOnlineSlaveSNRGroupIndex, &snr)){
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveSNRTable: error getting SNR data\n");
+ return MFD_ERROR;
+ }
+
+ spc300EoCOnlineSlaveSNRGroupData_len = sizeof(snr.snr_list);
+
+ /* reverse each 4 bytes of SNR data to align them in proper format */
+ for (i=0; i < spc300EoCOnlineSlaveSNRGroupData_len - 4; i+=4){
+ for (j=0; j<4; j++)
+ spc300EoCOnlineSlaveSNRGroupData[i+j] = snr.snr_list[i+3-j];
+ }
+ }
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveSNRGroupData data
+ */
+ if ((NULL == rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData) ||
+ (rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len <
+ (spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(spc300EoCOnlineSlaveSNRGroupData[0])))) {
+ snmp_log(LOG_ERR, "not enough space for value\n");
+ return MFD_ERROR;
+ }
+ rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len =
+ spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(spc300EoCOnlineSlaveSNRGroupData[0]);
+ memcpy(rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData,
+ spc300EoCOnlineSlaveSNRGroupData,
+ spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(spc300EoCOnlineSlaveSNRGroupData[0]));
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_row_prep */
+
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.h
new file mode 100644
index 0000000000..ae829b49b4
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_access.h
@@ -0,0 +1,81 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_DATA_ACCESS_H
+#define SPC300EOCONLINESLAVESNRTABLE_DATA_ACCESS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ /*
+ *********************************************************************
+ * function declarations
+ */
+
+ /*
+ *********************************************************************
+ * Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+
+
+ int
+ spc300EoCOnlineSlaveSNRTable_init_data
+ (spc300EoCOnlineSlaveSNRTable_registration *
+ spc300EoCOnlineSlaveSNRTable_reg);
+
+
+ /*
+ * TODO:180:o: Review spc300EoCOnlineSlaveSNRTable cache timeout.
+ * The number of seconds before the cache times out
+ */
+#define SPC300EOCONLINESLAVESNRTABLE_CACHE_TIMEOUT 60
+
+ void
+ spc300EoCOnlineSlaveSNRTable_container_init(netsnmp_container **
+ container_ptr_ptr,
+ netsnmp_cache * cache);
+ void
+ spc300EoCOnlineSlaveSNRTable_container_shutdown(netsnmp_container *
+ container_ptr);
+
+ int
+ spc300EoCOnlineSlaveSNRTable_container_load(netsnmp_container *
+ container);
+ void
+ spc300EoCOnlineSlaveSNRTable_container_free(netsnmp_container *
+ container);
+
+ int
+ spc300EoCOnlineSlaveSNRTable_cache_load(netsnmp_container *
+ container);
+ void
+ spc300EoCOnlineSlaveSNRTable_cache_free(netsnmp_container *
+ container);
+
+ int
+ spc300EoCOnlineSlaveSNRTable_row_prep
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_DATA_ACCESS_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.c
new file mode 100644
index 0000000000..ebf044063a
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.c
@@ -0,0 +1,237 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12088 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+
+/** @defgroup data_get data_get: Routines to get data
+ *
+ * TODO:230:M: Implement spc300EoCOnlineSlaveSNRTable get routines.
+ * TODO:240:M: Implement spc300EoCOnlineSlaveSNRTable mapping routines (if any).
+ *
+ * These routine are used to get the value for individual objects. The
+ * row context is passed, along with a pointer to the memory where the
+ * value should be copied.
+ *
+ * @{
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+
+/*
+ * ---------------------------------------------------------------------
+ * * TODO:200:r: Implement spc300EoCOnlineSlaveSNRTable data context functions.
+ */
+
+
+/**
+ * set mib index(es)
+ *
+ * @param tbl_idx mib index structure
+ * @param modEoCOnlineCNUMasterIndex_val
+ * @param modEoCOnlineCNUIndex_val
+ * @param spc300EoCOnlineSlaveSNRGroupIndex_val
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This convenience function is useful for setting all the MIB index
+ * components with a single function call. It is assume that the C values
+ * have already been mapped from their native/rawformat to the MIB format.
+ */
+int
+spc300EoCOnlineSlaveSNRTable_indexes_set_tbl_idx
+ (spc300EoCOnlineSlaveSNRTable_mib_index * tbl_idx,
+ long modEoCOnlineCNUMasterIndex_val, long modEoCOnlineCNUIndex_val,
+ long spc300EoCOnlineSlaveSNRGroupIndex_val)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_indexes_set_tbl_idx", "called\n"));
+
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ tbl_idx->modEoCOnlineCNUMasterIndex = modEoCOnlineCNUMasterIndex_val;
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ tbl_idx->modEoCOnlineCNUIndex = modEoCOnlineCNUIndex_val;
+
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ tbl_idx->spc300EoCOnlineSlaveSNRGroupIndex =
+ spc300EoCOnlineSlaveSNRGroupIndex_val;
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_indexes_set_tbl_idx */
+
+/**
+ * @internal
+ * set row context indexes
+ *
+ * @param reqreq_ctx the row context that needs updated indexes
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This function sets the mib indexs, then updates the oid indexs
+ * from the mib index.
+ */
+int
+spc300EoCOnlineSlaveSNRTable_indexes_set
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ long modEoCOnlineCNUMasterIndex_val, long modEoCOnlineCNUIndex_val,
+ long spc300EoCOnlineSlaveSNRGroupIndex_val)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_indexes_set", "called\n"));
+
+ if (MFD_SUCCESS !=
+ spc300EoCOnlineSlaveSNRTable_indexes_set_tbl_idx(&rowreq_ctx->
+ tbl_idx,
+ modEoCOnlineCNUMasterIndex_val,
+ modEoCOnlineCNUIndex_val,
+ spc300EoCOnlineSlaveSNRGroupIndex_val))
+ return MFD_ERROR;
+
+ /*
+ * convert mib index to oid index
+ */
+ rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
+ if (0 !=
+ spc300EoCOnlineSlaveSNRTable_index_to_oid(&rowreq_ctx->oid_idx,
+ &rowreq_ctx->tbl_idx)) {
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRTable_indexes_set */
+
+
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNREntry.spc300EoCOnlineSlaveSNRGroupData
+ * spc300EoCOnlineSlaveSNRGroupData is subid 2 of spc300EoCOnlineSlaveSNREntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2.1.2
+ * Description:
+Values for SNR given for each carrier in current carrier group
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+/**
+ * Extract the current value of the spc300EoCOnlineSlaveSNRGroupData data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by spc300EoCOnlineSlaveSNRGroupData.
+ * On exit, this value should contain the data size (in bytes).
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+*
+ * @note If you need more than (*spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr.
+ * <b>DO NOT</b> free the previous pointer.
+ * The MFD helper will release the memory you allocate.
+ *
+ * @remark If you call this function yourself, you are responsible
+ * for checking if the pointer changed, and freeing any
+ * previously allocated memory. (Not necessary if you pass
+ * in a pointer to static memory, obviously.)
+ */
+int
+spc300EoCOnlineSlaveSNRGroupData_get
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr)
+ && (NULL !=
+ *spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr));
+ netsnmp_assert(NULL !=
+ spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRGroupData_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the spc300EoCOnlineSlaveSNRGroupData data.
+ * copy (* spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr ) data and (* spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveSNRGroupData data
+ */
+ if ((NULL == (*spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr)) ||
+ ((*spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr) <
+ (rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData[0])))) {
+ /*
+ * allocate space for spc300EoCOnlineSlaveSNRGroupData data
+ */
+ (*spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(rowreq_ctx->data.
+ spc300EoCOnlineSlaveSNRGroupData[0]));
+ if (NULL == (*spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr) =
+ rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData[0]);
+ memcpy((*spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr),
+ rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData,
+ rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveSNRGroupData[0]));
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveSNRGroupData_get */
+
+
+
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.h
new file mode 100644
index 0000000000..636b64fa87
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_get.h
@@ -0,0 +1,74 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12088 $ of $
+ *
+ * $Id:$
+ *
+ * @file spc300EoCOnlineSlaveSNRTable_data_get.h
+ *
+ * @addtogroup get
+ *
+ * Prototypes for get functions
+ *
+ * @{
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_DATA_GET_H
+#define SPC300EOCONLINESLAVESNRTABLE_DATA_GET_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ *********************************************************************
+ * GET function declarations
+ */
+
+ /*
+ *********************************************************************
+ * GET Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+ /*
+ * indexes
+ */
+
+ int
+ spc300EoCOnlineSlaveSNRGroupData_get
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveSNRGroupData_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveSNRGroupData_val_ptr_len_ptr);
+
+
+ int
+ spc300EoCOnlineSlaveSNRTable_indexes_set_tbl_idx
+ (spc300EoCOnlineSlaveSNRTable_mib_index * tbl_idx,
+ long modEoCOnlineCNUMasterIndex_val,
+ long modEoCOnlineCNUIndex_val,
+ long spc300EoCOnlineSlaveSNRGroupIndex_val);
+ int
+ spc300EoCOnlineSlaveSNRTable_indexes_set
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ long modEoCOnlineCNUMasterIndex_val,
+ long modEoCOnlineCNUIndex_val,
+ long spc300EoCOnlineSlaveSNRGroupIndex_val);
+
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_DATA_GET_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.c
new file mode 100644
index 0000000000..70006b64aa
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.c
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12077 $ of $
+ *
+ * $Id:$
+ *
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+
+/** @defgroup data_set data_set: Routines to set data
+ *
+ * These routines are used to set the value for individual objects. The
+ * row context is passed, along with the new value.
+ *
+ * @{
+ */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.h
new file mode 100644
index 0000000000..5b2305ad13
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_data_set.h
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12077 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_DATA_SET_H
+#define SPC300EOCONLINESLAVESNRTABLE_DATA_SET_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ *********************************************************************
+ * SET function declarations
+ */
+
+ /*
+ *********************************************************************
+ * SET Table declarations
+ */
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_DATA_SET_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_enums.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_enums.h
new file mode 100644
index 0000000000..334667bc4e
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_enums.h
@@ -0,0 +1,39 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : generic-table-enums.m2c 12526 2005-07-15 22:41:16Z rstory $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_ENUMS_H
+#define SPC300EOCONLINESLAVESNRTABLE_ENUMS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ * NOTES on enums
+ * ==============
+ *
+ * Value Mapping
+ * -------------
+ * If the values for your data type don't exactly match the
+ * possible values defined by the mib, you should map them
+ * below. For example, a boolean flag (1/0) is usually represented
+ * as a TruthValue in a MIB, which maps to the values (1/2).
+ *
+ */
+/*************************************************************************
+ *************************************************************************
+ *
+ * enum definitions for table spc300EoCOnlineSlaveSNRTable
+ *
+ *************************************************************************
+ *************************************************************************/
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_ENUMS_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.c
new file mode 100644
index 0000000000..f79ea81bb2
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.c
@@ -0,0 +1,991 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 15899 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ * *** ***
+ * *** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE ***
+ * *** ***
+ * *** ***
+ * *** THIS FILE DOES NOT CONTAIN ANY USER EDITABLE CODE. ***
+ * *** ***
+ * *** ***
+ * *** THE GENERATED CODE IS INTERNAL IMPLEMENTATION, AND ***
+ * *** ***
+ * *** ***
+ * *** IS SUBJECT TO CHANGE WITHOUT WARNING IN FUTURE RELEASES. ***
+ * *** ***
+ * *** ***
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ */
+
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+
+#include <net-snmp/agent/table_container.h>
+#include <net-snmp/library/container.h>
+
+#include "spc300EoCOnlineSlaveSNRTable_interface.h"
+
+#include <ctype.h>
+
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveSNRTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveSNRTable is subid 2 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.2, length: 12
+ */
+typedef struct spc300EoCOnlineSlaveSNRTable_interface_ctx_s {
+
+ netsnmp_container *container;
+ netsnmp_cache *cache;
+
+ spc300EoCOnlineSlaveSNRTable_registration *user_ctx;
+
+ netsnmp_table_registration_info tbl_info;
+
+ netsnmp_baby_steps_access_methods access_multiplexer;
+
+} spc300EoCOnlineSlaveSNRTable_interface_ctx;
+
+static spc300EoCOnlineSlaveSNRTable_interface_ctx
+ spc300EoCOnlineSlaveSNRTable_if_ctx;
+
+static void
+_spc300EoCOnlineSlaveSNRTable_container_init
+(spc300EoCOnlineSlaveSNRTable_interface_ctx * if_ctx);
+static void
+_spc300EoCOnlineSlaveSNRTable_container_shutdown
+(spc300EoCOnlineSlaveSNRTable_interface_ctx * if_ctx);
+
+
+netsnmp_container *
+spc300EoCOnlineSlaveSNRTable_container_get(void)
+{
+ return spc300EoCOnlineSlaveSNRTable_if_ctx.container;
+}
+
+spc300EoCOnlineSlaveSNRTable_registration *
+spc300EoCOnlineSlaveSNRTable_registration_get(void)
+{
+ return spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx;
+}
+
+spc300EoCOnlineSlaveSNRTable_registration *
+spc300EoCOnlineSlaveSNRTable_registration_set
+ (spc300EoCOnlineSlaveSNRTable_registration * newreg)
+{
+ spc300EoCOnlineSlaveSNRTable_registration *old =
+ spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx;
+ spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx = newreg;
+ return old;
+}
+
+int
+spc300EoCOnlineSlaveSNRTable_container_size(void)
+{
+ return CONTAINER_SIZE(spc300EoCOnlineSlaveSNRTable_if_ctx.container);
+}
+
+/*
+ * mfd multiplexer modes
+ */
+static Netsnmp_Node_Handler _mfd_spc300EoCOnlineSlaveSNRTable_pre_request;
+static Netsnmp_Node_Handler _mfd_spc300EoCOnlineSlaveSNRTable_post_request;
+static Netsnmp_Node_Handler
+ _mfd_spc300EoCOnlineSlaveSNRTable_object_lookup;
+static Netsnmp_Node_Handler _mfd_spc300EoCOnlineSlaveSNRTable_get_values;
+/**
+ * @internal
+ * Initialize the table spc300EoCOnlineSlaveSNRTable
+ * (Define its contents and how it's structured)
+ */
+void
+_spc300EoCOnlineSlaveSNRTable_initialize_interface
+ (spc300EoCOnlineSlaveSNRTable_registration * reg_ptr, u_long flags)
+{
+ netsnmp_baby_steps_access_methods *access_multiplexer =
+ &spc300EoCOnlineSlaveSNRTable_if_ctx.access_multiplexer;
+ netsnmp_table_registration_info *tbl_info =
+ &spc300EoCOnlineSlaveSNRTable_if_ctx.tbl_info;
+ netsnmp_handler_registration *reginfo;
+ netsnmp_mib_handler *handler;
+ int mfd_modes = 0;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_spc300EoCOnlineSlaveSNRTable_initialize_interface", "called\n"));
+
+
+ /*************************************************
+ *
+ * save interface context for spc300EoCOnlineSlaveSNRTable
+ */
+ /*
+ * Setting up the table's definition
+ */
+ netsnmp_table_helper_add_indexes(tbl_info, ASN_INTEGER,
+ /** index: modEoCOnlineCNUMasterIndex */
+ ASN_INTEGER,
+ /** index: modEoCOnlineCNUIndex */
+ ASN_INTEGER,
+ /** index: spc300EoCOnlineSlaveSNRGroupIndex */
+ 0);
+
+ /*
+ * Define the minimum and maximum accessible columns. This
+ * optimizes retrival.
+ */
+ tbl_info->min_column = SPC300EOCONLINESLAVESNRTABLE_MIN_COL;
+ tbl_info->max_column = SPC300EOCONLINESLAVESNRTABLE_MAX_COL;
+
+ /*
+ * save users context
+ */
+ spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx = reg_ptr;
+
+ /*
+ * call data access initialization code
+ */
+ spc300EoCOnlineSlaveSNRTable_init_data(reg_ptr);
+
+ /*
+ * set up the container
+ */
+ _spc300EoCOnlineSlaveSNRTable_container_init
+ (&spc300EoCOnlineSlaveSNRTable_if_ctx);
+ if (NULL == spc300EoCOnlineSlaveSNRTable_if_ctx.container) {
+ snmp_log(LOG_ERR,
+ "could not initialize container for spc300EoCOnlineSlaveSNRTable\n");
+ return;
+ }
+
+ /*
+ * access_multiplexer: REQUIRED wrapper for get request handling
+ */
+ access_multiplexer->object_lookup =
+ _mfd_spc300EoCOnlineSlaveSNRTable_object_lookup;
+ access_multiplexer->get_values =
+ _mfd_spc300EoCOnlineSlaveSNRTable_get_values;
+
+ /*
+ * no wrappers yet
+ */
+ access_multiplexer->pre_request =
+ _mfd_spc300EoCOnlineSlaveSNRTable_pre_request;
+ access_multiplexer->post_request =
+ _mfd_spc300EoCOnlineSlaveSNRTable_post_request;
+
+
+ /*************************************************
+ *
+ * Create a registration, save our reg data, register table.
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveSNRTable:init_spc300EoCOnlineSlaveSNRTable", "Registering spc300EoCOnlineSlaveSNRTable as a mibs-for-dummies table.\n"));
+ handler =
+ netsnmp_baby_steps_access_multiplexer_get(access_multiplexer);
+ reginfo =
+ netsnmp_handler_registration_create("spc300EoCOnlineSlaveSNRTable",
+ handler,
+ spc300EoCOnlineSlaveSNRTable_oid,
+ spc300EoCOnlineSlaveSNRTable_oid_size,
+ HANDLER_CAN_BABY_STEP |
+ HANDLER_CAN_RONLY);
+ if (NULL == reginfo) {
+ snmp_log(LOG_ERR,
+ "error registering table spc300EoCOnlineSlaveSNRTable\n");
+ return;
+ }
+ reginfo->my_reg_void = &spc300EoCOnlineSlaveSNRTable_if_ctx;
+
+ /*************************************************
+ *
+ * set up baby steps handler, create it and inject it
+ */
+ if (access_multiplexer->object_lookup)
+ mfd_modes |= BABY_STEP_OBJECT_LOOKUP;
+ if (access_multiplexer->set_values)
+ mfd_modes |= BABY_STEP_SET_VALUES;
+ if (access_multiplexer->irreversible_commit)
+ mfd_modes |= BABY_STEP_IRREVERSIBLE_COMMIT;
+ if (access_multiplexer->object_syntax_checks)
+ mfd_modes |= BABY_STEP_CHECK_OBJECT;
+
+ if (access_multiplexer->pre_request)
+ mfd_modes |= BABY_STEP_PRE_REQUEST;
+ if (access_multiplexer->post_request)
+ mfd_modes |= BABY_STEP_POST_REQUEST;
+
+ if (access_multiplexer->undo_setup)
+ mfd_modes |= BABY_STEP_UNDO_SETUP;
+ if (access_multiplexer->undo_cleanup)
+ mfd_modes |= BABY_STEP_UNDO_CLEANUP;
+ if (access_multiplexer->undo_sets)
+ mfd_modes |= BABY_STEP_UNDO_SETS;
+
+ if (access_multiplexer->row_creation)
+ mfd_modes |= BABY_STEP_ROW_CREATE;
+ if (access_multiplexer->consistency_checks)
+ mfd_modes |= BABY_STEP_CHECK_CONSISTENCY;
+ if (access_multiplexer->commit)
+ mfd_modes |= BABY_STEP_COMMIT;
+ if (access_multiplexer->undo_commit)
+ mfd_modes |= BABY_STEP_UNDO_COMMIT;
+
+ handler = netsnmp_baby_steps_handler_get(mfd_modes);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject row_merge helper with prefix rootoid_len + 2 (entry.col)
+ */
+ handler = netsnmp_get_row_merge_handler(reginfo->rootoid_len + 2);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject container_table helper
+ */
+ handler =
+ netsnmp_container_table_handler_get(tbl_info,
+ spc300EoCOnlineSlaveSNRTable_if_ctx.
+ container,
+ TABLE_CONTAINER_KEY_NETSNMP_INDEX);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject cache helper
+ */
+ if (NULL != spc300EoCOnlineSlaveSNRTable_if_ctx.cache) {
+ handler =
+ netsnmp_cache_handler_get(spc300EoCOnlineSlaveSNRTable_if_ctx.
+ cache);
+ netsnmp_inject_handler(reginfo, handler);
+ }
+
+ /*
+ * register table
+ */
+ netsnmp_register_table(reginfo, tbl_info);
+
+} /* _spc300EoCOnlineSlaveSNRTable_initialize_interface */
+
+/**
+ * @internal
+ * Shutdown the table spc300EoCOnlineSlaveSNRTable
+ */
+void
+_spc300EoCOnlineSlaveSNRTable_shutdown_interface
+ (spc300EoCOnlineSlaveSNRTable_registration * reg_ptr)
+{
+ /*
+ * shutdown the container
+ */
+ _spc300EoCOnlineSlaveSNRTable_container_shutdown
+ (&spc300EoCOnlineSlaveSNRTable_if_ctx);
+}
+
+void
+spc300EoCOnlineSlaveSNRTable_valid_columns_set(netsnmp_column_info *vc)
+{
+ spc300EoCOnlineSlaveSNRTable_if_ctx.tbl_info.valid_columns = vc;
+} /* spc300EoCOnlineSlaveSNRTable_valid_columns_set */
+
+/**
+ * @internal
+ * convert the index component stored in the context to an oid
+ */
+int
+spc300EoCOnlineSlaveSNRTable_index_to_oid(netsnmp_index * oid_idx,
+ spc300EoCOnlineSlaveSNRTable_mib_index
+ * mib_idx)
+{
+ int err = SNMP_ERR_NOERROR;
+
+ /*
+ * temp storage for parsing indexes
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUIndex;
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ netsnmp_variable_list var_spc300EoCOnlineSlaveSNRGroupIndex;
+
+ /*
+ * set up varbinds
+ */
+ memset(&var_modEoCOnlineCNUMasterIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUMasterIndex));
+ var_modEoCOnlineCNUMasterIndex.type = ASN_INTEGER;
+ memset(&var_modEoCOnlineCNUIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUIndex));
+ var_modEoCOnlineCNUIndex.type = ASN_INTEGER;
+ memset(&var_spc300EoCOnlineSlaveSNRGroupIndex, 0x00,
+ sizeof(var_spc300EoCOnlineSlaveSNRGroupIndex));
+ var_spc300EoCOnlineSlaveSNRGroupIndex.type = ASN_INTEGER;
+
+ /*
+ * chain temp index varbinds together
+ */
+ var_modEoCOnlineCNUMasterIndex.next_variable =
+ &var_modEoCOnlineCNUIndex;
+ var_modEoCOnlineCNUIndex.next_variable =
+ &var_spc300EoCOnlineSlaveSNRGroupIndex;
+ var_spc300EoCOnlineSlaveSNRGroupIndex.next_variable = NULL;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_index_to_oid", "called\n"));
+
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ snmp_set_var_value(&var_modEoCOnlineCNUMasterIndex,
+ (u_char *) & mib_idx->modEoCOnlineCNUMasterIndex,
+ sizeof(mib_idx->modEoCOnlineCNUMasterIndex));
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ snmp_set_var_value(&var_modEoCOnlineCNUIndex,
+ (u_char *) & mib_idx->modEoCOnlineCNUIndex,
+ sizeof(mib_idx->modEoCOnlineCNUIndex));
+
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ snmp_set_var_value(&var_spc300EoCOnlineSlaveSNRGroupIndex,
+ (u_char *) & mib_idx->
+ spc300EoCOnlineSlaveSNRGroupIndex,
+ sizeof(mib_idx->spc300EoCOnlineSlaveSNRGroupIndex));
+
+
+ err = build_oid_noalloc(oid_idx->oids, oid_idx->len, &oid_idx->len,
+ NULL, 0, &var_modEoCOnlineCNUMasterIndex);
+ if (err)
+ snmp_log(LOG_ERR, "error %d converting index to oid\n", err);
+
+ /*
+ * parsing may have allocated memory. free it.
+ */
+ snmp_reset_var_buffers(&var_modEoCOnlineCNUMasterIndex);
+
+ return err;
+} /* spc300EoCOnlineSlaveSNRTable_index_to_oid */
+
+/**
+ * extract spc300EoCOnlineSlaveSNRTable indexes from a netsnmp_index
+ *
+ * @retval SNMP_ERR_NOERROR : no error
+ * @retval SNMP_ERR_GENERR : error
+ */
+int
+spc300EoCOnlineSlaveSNRTable_index_from_oid(netsnmp_index * oid_idx,
+ spc300EoCOnlineSlaveSNRTable_mib_index
+ * mib_idx)
+{
+ int err = SNMP_ERR_NOERROR;
+
+ /*
+ * temp storage for parsing indexes
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUIndex;
+ /*
+ * spc300EoCOnlineSlaveSNRGroupIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/a/w/e/R/d/h
+ */
+ netsnmp_variable_list var_spc300EoCOnlineSlaveSNRGroupIndex;
+
+ /*
+ * set up varbinds
+ */
+ memset(&var_modEoCOnlineCNUMasterIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUMasterIndex));
+ var_modEoCOnlineCNUMasterIndex.type = ASN_INTEGER;
+ memset(&var_modEoCOnlineCNUIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUIndex));
+ var_modEoCOnlineCNUIndex.type = ASN_INTEGER;
+ memset(&var_spc300EoCOnlineSlaveSNRGroupIndex, 0x00,
+ sizeof(var_spc300EoCOnlineSlaveSNRGroupIndex));
+ var_spc300EoCOnlineSlaveSNRGroupIndex.type = ASN_INTEGER;
+
+ /*
+ * chain temp index varbinds together
+ */
+ var_modEoCOnlineCNUMasterIndex.next_variable =
+ &var_modEoCOnlineCNUIndex;
+ var_modEoCOnlineCNUIndex.next_variable =
+ &var_spc300EoCOnlineSlaveSNRGroupIndex;
+ var_spc300EoCOnlineSlaveSNRGroupIndex.next_variable = NULL;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_index_from_oid", "called\n"));
+
+ /*
+ * parse the oid into the individual index components
+ */
+ err = parse_oid_indexes(oid_idx->oids, oid_idx->len,
+ &var_modEoCOnlineCNUMasterIndex);
+ if (err == SNMP_ERR_NOERROR) {
+ /*
+ * copy out values
+ */
+ mib_idx->modEoCOnlineCNUMasterIndex =
+ *((long *) var_modEoCOnlineCNUMasterIndex.val.string);
+ mib_idx->modEoCOnlineCNUIndex =
+ *((long *) var_modEoCOnlineCNUIndex.val.string);
+ mib_idx->spc300EoCOnlineSlaveSNRGroupIndex =
+ *((long *) var_spc300EoCOnlineSlaveSNRGroupIndex.val.string);
+
+
+ }
+
+ /*
+ * parsing may have allocated memory. free it.
+ */
+ snmp_reset_var_buffers(&var_modEoCOnlineCNUMasterIndex);
+
+ return err;
+} /* spc300EoCOnlineSlaveSNRTable_index_from_oid */
+
+
+/*
+ *********************************************************************
+ * @internal
+ * allocate resources for a spc300EoCOnlineSlaveSNRTable_rowreq_ctx
+ */
+spc300EoCOnlineSlaveSNRTable_rowreq_ctx *
+spc300EoCOnlineSlaveSNRTable_allocate_rowreq_ctx(void *user_init_ctx)
+{
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx =
+ SNMP_MALLOC_TYPEDEF(spc300EoCOnlineSlaveSNRTable_rowreq_ctx);
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_allocate_rowreq_ctx", "called\n"));
+
+ if (NULL == rowreq_ctx) {
+ snmp_log(LOG_ERR, "Couldn't allocate memory for a "
+ "spc300EoCOnlineSlaveSNRTable_rowreq_ctx.\n");
+ return NULL;
+ }
+
+ rowreq_ctx->oid_idx.oids = rowreq_ctx->oid_tmp;
+
+ rowreq_ctx->spc300EoCOnlineSlaveSNRTable_data_list = NULL;
+
+ /*
+ * if we allocated data, call init routine
+ */
+ if (!(rowreq_ctx->rowreq_flags & MFD_ROW_DATA_FROM_USER)) {
+ if (SNMPERR_SUCCESS !=
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_init(rowreq_ctx,
+ user_init_ctx)) {
+ spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx(rowreq_ctx);
+ rowreq_ctx = NULL;
+ }
+ }
+
+ return rowreq_ctx;
+} /* spc300EoCOnlineSlaveSNRTable_allocate_rowreq_ctx */
+
+/*
+ * @internal
+ * release resources for a spc300EoCOnlineSlaveSNRTable_rowreq_ctx
+ */
+void
+spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx_cleanup(rowreq_ctx);
+
+ /*
+ * free index oid pointer
+ */
+ if (rowreq_ctx->oid_idx.oids != rowreq_ctx->oid_tmp)
+ free(rowreq_ctx->oid_idx.oids);
+
+ SNMP_FREE(rowreq_ctx);
+} /* spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveSNRTable_pre_request(netsnmp_mib_handler *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ int rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_pre_request", "called\n"));
+
+ if (1 != netsnmp_row_merge_status_first(reginfo, agtreq_info)) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable",
+ "skipping additional pre_request\n"));
+ return SNMP_ERR_NOERROR;
+ }
+
+ rc = spc300EoCOnlineSlaveSNRTable_pre_request
+ (spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx);
+ if (MFD_SUCCESS != rc) {
+ /*
+ * nothing we can do about it but log it
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveSNRTable", "error %d from "
+ "spc300EoCOnlineSlaveSNRTable_pre_request\n", rc));
+ netsnmp_request_set_error_all(requests, SNMP_VALIDATE_ERR(rc));
+ }
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveSNRTable_pre_request */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveSNRTable_post_request(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+ int rc, packet_rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_post_request", "called\n"));
+
+ /*
+ * release row context, if deleted
+ */
+ if (rowreq_ctx && (rowreq_ctx->rowreq_flags & MFD_ROW_DELETED))
+ spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx(rowreq_ctx);
+
+ /*
+ * wait for last call before calling user
+ */
+ if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable",
+ "waiting for last post_request\n"));
+ return SNMP_ERR_NOERROR;
+ }
+
+ packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0);
+ rc = spc300EoCOnlineSlaveSNRTable_post_request
+ (spc300EoCOnlineSlaveSNRTable_if_ctx.user_ctx, packet_rc);
+ if (MFD_SUCCESS != rc) {
+ /*
+ * nothing we can do about it but log it
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveSNRTable", "error %d from "
+ "spc300EoCOnlineSlaveSNRTable_post_request\n", rc));
+ }
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveSNRTable_post_request */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveSNRTable_object_lookup(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ int rc = SNMP_ERR_NOERROR;
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_object_lookup", "called\n"));
+
+ /*
+ * get our context from mfd
+ * spc300EoCOnlineSlaveSNRTable_interface_ctx *if_ctx =
+ * (spc300EoCOnlineSlaveSNRTable_interface_ctx *)reginfo->my_reg_void;
+ */
+
+ if (NULL == rowreq_ctx) {
+ rc = SNMP_ERR_NOCREATION;
+ }
+
+ if (MFD_SUCCESS != rc)
+ netsnmp_request_set_error_all(requests, rc);
+ else
+ spc300EoCOnlineSlaveSNRTable_row_prep(rowreq_ctx);
+
+ return SNMP_VALIDATE_ERR(rc);
+} /* _mfd_spc300EoCOnlineSlaveSNRTable_object_lookup */
+
+/***********************************************************************
+ *
+ * GET processing
+ *
+ ***********************************************************************/
+/*
+ * @internal
+ * Retrieve the value for a particular column
+ */
+NETSNMP_STATIC_INLINE int
+_spc300EoCOnlineSlaveSNRTable_get_column
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ netsnmp_variable_list * var, int column)
+{
+ int rc = SNMPERR_SUCCESS;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_get_column", "called for %d\n", column));
+
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ switch (column) {
+
+ /*
+ * spc300EoCOnlineSlaveSNRGroupData(2)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ case COLUMN_SPC300EOCONLINESLAVESNRGROUPDATA:
+ var->type = ASN_OCTET_STR;
+ rc = spc300EoCOnlineSlaveSNRGroupData_get(rowreq_ctx,
+ (char **) &var->val.
+ string, &var->val_len);
+ break;
+
+ default:
+ if (SPC300EOCONLINESLAVESNRTABLE_MIN_COL <= column
+ && column <= SPC300EOCONLINESLAVESNRTABLE_MAX_COL) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_get_column", "assume column %d is reserved\n", column));
+ rc = MFD_SKIP;
+ } else {
+ snmp_log(LOG_ERR,
+ "unknown column %d in _spc300EoCOnlineSlaveSNRTable_get_column\n",
+ column);
+ }
+ break;
+ }
+
+ return rc;
+} /* _spc300EoCOnlineSlaveSNRTable_get_column */
+
+int
+_mfd_spc300EoCOnlineSlaveSNRTable_get_values(netsnmp_mib_handler *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+ netsnmp_table_request_info *tri;
+ u_char *old_string;
+ void (*dataFreeHook) (void *);
+ int rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_mfd_spc300EoCOnlineSlaveSNRTable_get_values", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ for (; requests; requests = requests->next) {
+ /*
+ * save old pointer, so we can free it if replaced
+ */
+ old_string = requests->requestvb->val.string;
+ dataFreeHook = requests->requestvb->dataFreeHook;
+ if (NULL == requests->requestvb->val.string) {
+ requests->requestvb->val.string = requests->requestvb->buf;
+ requests->requestvb->val_len =
+ sizeof(requests->requestvb->buf);
+ } else if (requests->requestvb->buf ==
+ requests->requestvb->val.string) {
+ if (requests->requestvb->val_len !=
+ sizeof(requests->requestvb->buf))
+ requests->requestvb->val_len =
+ sizeof(requests->requestvb->buf);
+ }
+
+ /*
+ * get column data
+ */
+ tri = netsnmp_extract_table_info(requests);
+ if (NULL == tri)
+ continue;
+
+ rc = _spc300EoCOnlineSlaveSNRTable_get_column(rowreq_ctx,
+ requests->requestvb,
+ tri->colnum);
+ if (rc) {
+ if (MFD_SKIP == rc) {
+ requests->requestvb->type = SNMP_NOSUCHINSTANCE;
+ rc = SNMP_ERR_NOERROR;
+ }
+ } else if (NULL == requests->requestvb->val.string) {
+ snmp_log(LOG_ERR, "NULL varbind data pointer!\n");
+ rc = SNMP_ERR_GENERR;
+ }
+ if (rc)
+ netsnmp_request_set_error(requests, SNMP_VALIDATE_ERR(rc));
+
+ /*
+ * if the buffer wasn't used previously for the old data (i.e. it
+ * was allcoated memory) and the get routine replaced the pointer,
+ * we need to free the previous pointer.
+ */
+ if (old_string && (old_string != requests->requestvb->buf) &&
+ (requests->requestvb->val.string != old_string)) {
+ if (dataFreeHook)
+ (*dataFreeHook) (old_string);
+ else
+ free(old_string);
+ }
+ } /* for results */
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveSNRTable_get_values */
+
+
+/***********************************************************************
+ *
+ * SET processing
+ *
+ ***********************************************************************/
+
+/*
+ * SET PROCESSING NOT APPLICABLE (per MIB or user setting)
+ */
+/***********************************************************************
+ *
+ * DATA ACCESS
+ *
+ ***********************************************************************/
+static void _container_free(netsnmp_container * container);
+
+/**
+ * @internal
+ */
+static int
+_cache_load(netsnmp_cache * cache, void *vmagic)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_cache_load",
+ "called\n"));
+
+ if ((NULL == cache) || (NULL == cache->magic)) {
+ snmp_log(LOG_ERR,
+ "invalid cache for spc300EoCOnlineSlaveSNRTable_cache_load\n");
+ return -1;
+ }
+
+ /** should only be called for an invalid or expired cache */
+ netsnmp_assert((0 == cache->valid) || (1 == cache->expired));
+
+ /*
+ * call user code
+ */
+ return
+ spc300EoCOnlineSlaveSNRTable_container_load((netsnmp_container *)
+ cache->magic);
+} /* _cache_load */
+
+/**
+ * @internal
+ */
+static void
+_cache_free(netsnmp_cache * cache, void *magic)
+{
+ netsnmp_container *container;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_cache_free",
+ "called\n"));
+
+ if ((NULL == cache) || (NULL == cache->magic)) {
+ snmp_log(LOG_ERR,
+ "invalid cache in spc300EoCOnlineSlaveSNRTable_cache_free\n");
+ return;
+ }
+
+ container = (netsnmp_container *) cache->magic;
+
+ _container_free(container);
+} /* _cache_free */
+
+/**
+ * @internal
+ */
+static void
+_container_item_free(spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx,
+ void *context)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_container_item_free", "called\n"));
+
+ if (NULL == rowreq_ctx)
+ return;
+
+ spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx(rowreq_ctx);
+} /* _container_item_free */
+
+/**
+ * @internal
+ */
+static void
+_container_free(netsnmp_container * container)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_container_free",
+ "called\n"));
+
+ if (NULL == container) {
+ snmp_log(LOG_ERR,
+ "invalid container in spc300EoCOnlineSlaveSNRTable_container_free\n");
+ return;
+ }
+
+ /*
+ * call user code
+ */
+ spc300EoCOnlineSlaveSNRTable_container_free(container);
+
+ /*
+ * free all items. inefficient, but easy.
+ */
+ CONTAINER_CLEAR(container,
+ (netsnmp_container_obj_func *) _container_item_free,
+ NULL);
+} /* _container_free */
+
+/**
+ * @internal
+ * initialize the container with functions or wrappers
+ */
+void
+_spc300EoCOnlineSlaveSNRTable_container_init
+ (spc300EoCOnlineSlaveSNRTable_interface_ctx * if_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_spc300EoCOnlineSlaveSNRTable_container_init", "called\n"));
+
+ /*
+ * cache init
+ */
+ if_ctx->cache = netsnmp_cache_create(30, /* timeout in seconds */
+ _cache_load, _cache_free,
+ spc300EoCOnlineSlaveSNRTable_oid,
+ spc300EoCOnlineSlaveSNRTable_oid_size);
+
+ if (NULL == if_ctx->cache) {
+ snmp_log(LOG_ERR,
+ "error creating cache for spc300EoCOnlineSlaveSNRTable\n");
+ return;
+ }
+
+ if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET;
+
+ spc300EoCOnlineSlaveSNRTable_container_init(&if_ctx->container,
+ if_ctx->cache);
+ if (NULL == if_ctx->container)
+ if_ctx->container =
+ netsnmp_container_find
+ ("spc300EoCOnlineSlaveSNRTable:table_container");
+ if (NULL == if_ctx->container) {
+ snmp_log(LOG_ERR, "error creating container in "
+ "spc300EoCOnlineSlaveSNRTable_container_init\n");
+ return;
+ }
+
+ if (NULL != if_ctx->cache)
+ if_ctx->cache->magic = (void *) if_ctx->container;
+} /* _spc300EoCOnlineSlaveSNRTable_container_init */
+
+/**
+ * @internal
+ * shutdown the container with functions or wrappers
+ */
+void
+_spc300EoCOnlineSlaveSNRTable_container_shutdown
+ (spc300EoCOnlineSlaveSNRTable_interface_ctx * if_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveSNRTable:_spc300EoCOnlineSlaveSNRTable_container_shutdown", "called\n"));
+
+ spc300EoCOnlineSlaveSNRTable_container_shutdown(if_ctx->container);
+
+ _container_free(if_ctx->container);
+
+} /* _spc300EoCOnlineSlaveSNRTable_container_shutdown */
+
+
+spc300EoCOnlineSlaveSNRTable_rowreq_ctx *
+spc300EoCOnlineSlaveSNRTable_row_find_by_mib_index
+ (spc300EoCOnlineSlaveSNRTable_mib_index * mib_idx)
+{
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx *rowreq_ctx;
+ oid oid_tmp[MAX_OID_LEN];
+ netsnmp_index oid_idx;
+ int rc;
+
+ /*
+ * set up storage for OID
+ */
+ oid_idx.oids = oid_tmp;
+ oid_idx.len = sizeof(oid_tmp) / sizeof(oid);
+
+ /*
+ * convert
+ */
+ rc = spc300EoCOnlineSlaveSNRTable_index_to_oid(&oid_idx, mib_idx);
+ if (MFD_SUCCESS != rc)
+ return NULL;
+
+ rowreq_ctx =
+ CONTAINER_FIND(spc300EoCOnlineSlaveSNRTable_if_ctx.container,
+ &oid_idx);
+
+ return rowreq_ctx;
+}
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.h
new file mode 100644
index 0000000000..0b2affc483
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_interface.h
@@ -0,0 +1,101 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 15899 $ of $
+ *
+ * $Id:$
+ */
+/** @ingroup interface: Routines to interface to Net-SNMP
+ *
+ * \warning This code should not be modified, called directly,
+ * or used to interpret functionality. It is subject to
+ * change at any time.
+ *
+ * @{
+ */
+/*
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ * *** ***
+ * *** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE ***
+ * *** ***
+ * *** ***
+ * *** THIS FILE DOES NOT CONTAIN ANY USER EDITABLE CODE. ***
+ * *** ***
+ * *** ***
+ * *** THE GENERATED CODE IS INTERNAL IMPLEMENTATION, AND ***
+ * *** ***
+ * *** ***
+ * *** IS SUBJECT TO CHANGE WITHOUT WARNING IN FUTURE RELEASES. ***
+ * *** ***
+ * *** ***
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_INTERFACE_H
+#define SPC300EOCONLINESLAVESNRTABLE_INTERFACE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "spc300EoCOnlineSlaveSNRTable.h"
+
+
+ /*
+ ********************************************************************
+ * Table declarations
+ */
+
+ /*
+ * PUBLIC interface initialization routine
+ */
+ void
+ _spc300EoCOnlineSlaveSNRTable_initialize_interface
+ (spc300EoCOnlineSlaveSNRTable_registration * user_ctx,
+ u_long flags);
+ void
+ _spc300EoCOnlineSlaveSNRTable_shutdown_interface
+ (spc300EoCOnlineSlaveSNRTable_registration * user_ctx);
+
+ spc300EoCOnlineSlaveSNRTable_registration
+ *spc300EoCOnlineSlaveSNRTable_registration_get(void);
+
+ spc300EoCOnlineSlaveSNRTable_registration
+ *spc300EoCOnlineSlaveSNRTable_registration_set
+ (spc300EoCOnlineSlaveSNRTable_registration * newreg);
+
+ netsnmp_container *spc300EoCOnlineSlaveSNRTable_container_get(void);
+ int spc300EoCOnlineSlaveSNRTable_container_size(void);
+
+ spc300EoCOnlineSlaveSNRTable_rowreq_ctx
+ *spc300EoCOnlineSlaveSNRTable_allocate_rowreq_ctx(void *);
+ void
+ spc300EoCOnlineSlaveSNRTable_release_rowreq_ctx
+ (spc300EoCOnlineSlaveSNRTable_rowreq_ctx * rowreq_ctx);
+
+ int spc300EoCOnlineSlaveSNRTable_index_to_oid(netsnmp_index
+ * oid_idx,
+ spc300EoCOnlineSlaveSNRTable_mib_index
+ * mib_idx);
+ int
+ spc300EoCOnlineSlaveSNRTable_index_from_oid(netsnmp_index *
+ oid_idx,
+ spc300EoCOnlineSlaveSNRTable_mib_index
+ * mib_idx);
+
+ /*
+ * access to certain internals. use with caution!
+ */
+ void
+ spc300EoCOnlineSlaveSNRTable_valid_columns_set(netsnmp_column_info
+ *vc);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_INTERFACE_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_oids.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_oids.h
new file mode 100644
index 0000000000..a3010f42ae
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveSNRTable/spc300EoCOnlineSlaveSNRTable_oids.h
@@ -0,0 +1,33 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : generic-table-oids.m2c 12855 2005-09-27 15:56:08Z rstory $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVESNRTABLE_OIDS_H
+#define SPC300EOCONLINESLAVESNRTABLE_OIDS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ /*
+ * column number definitions for table spc300EoCOnlineSlaveSNRTable
+ */
+#define SPC300EOCONLINESLAVESNRTABLE_OID 1,3,6,1,4,1,22764,3,2,2,3,2
+
+#define COLUMN_SPC300EOCONLINESLAVESNRGROUPINDEX 1
+
+#define COLUMN_SPC300EOCONLINESLAVESNRGROUPDATA 2
+
+
+#define SPC300EOCONLINESLAVESNRTABLE_MIN_COL COLUMN_SPC300EOCONLINESLAVESNRGROUPDATA
+#define SPC300EOCONLINESLAVESNRTABLE_MAX_COL COLUMN_SPC300EOCONLINESLAVESNRGROUPDATA
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVESNRTABLE_OIDS_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable.h
new file mode 100644
index 0000000000..682d854530
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable.h
@@ -0,0 +1,6 @@
+config_require(sarft-eoc-mib/modEoCCNUGroup/modEoCOnlineCNUTable)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get)
+config_require(spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set)
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUIndex.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUIndex.m2d
new file mode 100644
index 0000000000..ca766d7b73
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUIndex.m2d
@@ -0,0 +1,35 @@
+########################################################################
+##
+## mib2c node setting for modEoCOnlineCNUIndex
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = long@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 0@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d
new file mode 100644
index 0000000000..4b996f048c
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-modEoCOnlineCNUMasterIndex.m2d
@@ -0,0 +1,35 @@
+########################################################################
+##
+## mib2c node setting for modEoCOnlineCNUMasterIndex
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = long@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 0@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapRx.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapRx.m2d
new file mode 100644
index 0000000000..8ed416f656
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapRx.m2d
@@ -0,0 +1,43 @@
+########################################################################
+##
+## mib2c node setting for spc300EoCOnlineSlaveTonemapRx
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = char@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 1@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
+########################################################################
+## Allow realloc when data size exceeds length? If your data
+## store for this node is a pointer allocated with one of the
+## alloc family functions, you can set this to 1 to use realloc
+## when a new value length exceeds the old lenght. If you are
+## using a fixed size buffer, this value should be 0.
+##
+## @eval $m2c_node_realloc = 0@
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapTx.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapTx.m2d
new file mode 100644
index 0000000000..680ec83c44
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/node-spc300EoCOnlineSlaveTonemapTx.m2d
@@ -0,0 +1,43 @@
+########################################################################
+##
+## mib2c node setting for spc300EoCOnlineSlaveTonemapTx
+##
+## Remove the '##' comment delimeter to change settings
+##
+########################################################################
+## Node declaration type? This is the C type to be used when
+## declaring a variable to hold a value for this column. It
+## is strongly recommended that you do not change this value.
+## If you do, it is likely to break lots of generated code that
+## you will have to fix.
+##
+## @eval $m2c_decl = char@
+##
+########################################################################
+## Generate/use mapping functions? Useful if the MIB defines
+## a different format or enumerations than you data store uses.
+##
+## @eval $m2c_node_skip_mapping = 1@
+##
+########################################################################
+## Need a length for the value? Most OCTET-STRING based values will
+## need a length, most other types will not. Do not change this one
+## unless you know what you are doing! You will almost certainly need
+## to fix lots of generated code if you do.
+##
+## @eval $m2c_node_needlength = 1@
+##
+########################################################################
+## Skip get? Set this to 1 if you do not want to implement a value
+## for this column.
+##
+## @eval $m2c_node_skip_get = 0@
+##
+########################################################################
+## Allow realloc when data size exceeds length? If your data
+## store for this node is a pointer allocated with one of the
+## alloc family functions, you can set this to 1 to use realloc
+## when a new value length exceeds the old lenght. If you are
+## using a fixed size buffer, this value should be 0.
+##
+## @eval $m2c_node_realloc = 0@
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/table-spc300EoCOnlineSlaveTonemapTable.m2d b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/table-spc300EoCOnlineSlaveTonemapTable.m2d
new file mode 100644
index 0000000000..71ea8bc464
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/defaults/table-spc300EoCOnlineSlaveTonemapTable.m2d
@@ -0,0 +1,103 @@
+## ########################################################################
+##
+## mib2c Table setting for spc300EoCOnlineSlaveTonemapTable
+##
+## ########################################################################
+##
+## User context structure type
+##
+@eval $m2c_context_reg = "netsnmp_data_list"@
+##
+## ########################################################################
+##
+## Allocate data structure in row structure? (vs embedd)
+##
+@eval $m2c_data_allocate = 0@
+##
+## ########################################################################
+##
+## Generate code to cache data?
+##
+@eval $m2c_data_cache = 1@
+##
+## ########################################################################
+##
+## Data context structure type
+##
+@eval $m2c_data_context = "generated"@ [generated|NAME]
+##
+## ########################################################################
+##
+## Generate function to initialize row context when created?
+##
+@eval $m2c_data_init = 1@
+##
+## ########################################################################
+##
+## Persistence of data context
+## // 0:persistent, 1:semi-transient, 2:transient
+##
+@eval $m2c_data_transient = 2@
+##
+## ########################################################################
+##
+## Include some example code?
+##
+@eval $m2c_include_examples = 0@
+##
+## ########################################################################
+##
+## Generate code for irreversible_commit mode?
+##
+@eval $m2c_irreversible_commit = 0@
+##
+## ########################################################################
+##
+## Data access method
+##
+@eval $m2c_table_access = "container-cached"@
+##
+## ########################################################################
+##
+## Generate row dependency function?
+##
+@eval $m2c_table_dependencies = 0@
+##
+## ########################################################################
+##
+## Generate data store/restore functions for persistent storage?
+##
+@eval $m2c_table_persistent = 0@
+##
+## ########################################################################
+##
+## Generate code for dynamic row creation?
+##
+@eval $m2c_table_row_creation = 0@
+##
+## ########################################################################
+##
+## Generate code for settable objects?
+##
+@eval $m2c_table_settable = 0@
+##
+## ########################################################################
+##
+## Skip mapping between data context and MIB formats?
+## // 0:generate maps, 1:skip maps, -1:skip unless enum/oid
+##
+@eval $m2c_table_skip_mapping = 1@
+##
+## ########################################################################
+##
+## Generate code for sparse tables?
+##
+@eval $m2c_table_sparse = 0@
+##
+## ########################################################################
+##
+## Generate Makefile/AgentX code?
+##
+@eval $mfd_generate_makefile = 0@
+@eval $mfd_generate_subagent = 0@
+##
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-FIRST.txt b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-FIRST.txt
new file mode 100644
index 0000000000..e257ac92ee
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-FIRST.txt
@@ -0,0 +1,167 @@
+************************************************************************
+spc300EoCOnlineSlaveTonemapTable README
+------------------------------------------------------------------------
+This document describes the results of the mib2c code generation
+system using the mfd code generation template. The resulting files
+are documented both in this README file as well as per-table specific
+README files. All of the files generated by this run of mib2c will
+begin with the spc300EoCOnlineSlaveTonemapTable prefix.
+
+Quick Start
+-----------
+For those interested in a quick start, to get a pseudo-todo list, try
+this command in directory with the generated code:
+
+ grep -n "TODO:" *.[ch] | sed 's/\([^ ]*\) \(.*\)TODO\(.*\)/\3 (\1)/' | sort -n
+
+Key:
+ :o: Optional
+ :r: Recommended
+ :M: Mandatory
+ :A: Advanced users
+
+This will give you and ordered list of places in the code that you
+may (or must) take a closer look at).
+
+You may also want to take a look at the on-line tutorial, found here:
+
+ http://www.net-snmp.org/tutorial/tutorial-5/toolkit/mfd/index.html
+
+
+MIBs For Dummies Overview
+-------------------------
+The MIBs For Dummies (MFD) configuration files have been written to help
+SNMP novices implement SNMP MIBs. This section will be a brief
+introduction to some of the general concepts you should be familar with.
+
+ Managed Information Base (MIB)
+ ------------------------------
+ A SNMP MIB (Managed information base) is a text file that describes the
+ syntax for some set of data objects. The MIB creates a correlation
+ between an ASCII name for an object and a number OID (Object Identifier).
+ The SNMP protocol communicates information using the OIDs, and the MIB
+ allows tools to display a name, which we humans find easier to deal with.
+
+ To use an analogy, a MIB is much like a menu at a restaurant. If you've
+ ever been to a reataurant and ordered a meal, and later received a bill
+ that simply had '#6' on it, you get the idea. The name is easier for
+ the customers to remember, and the waiters and chefs use the number for
+ efficency.
+
+
+ Scalars
+ -------
+ A scalar variable is a unique object in a MIB which can represent
+ a single value. For example, the SNMP standard MIB-II defines a
+ variable, sysContact.0, which is a string containing the contact
+ information for the person in charge of a particular agent. Note
+ that scalar variable always end with '.0'.
+
+
+ Rows and Tables
+ ---------------
+ When a group of related attributes occur more than once, they can be
+ grouped together in a table. A table has an index, which uniquely
+ identifies a particular row, and data columns, which contain the
+ attributes for that row.
+
+ For example, the SNMP standard MIB-II defines a table, ifTable, which
+ contains information on the ethernet interfaces on a system.
+
+
+ Data Structures
+ ---------------
+ The code generated by the MFD configuration files has a few important
+ structures.
+
+
+ The Data Context
+ ----------------
+ The data context structure should contain the necessary information
+ to provide the data for the columns in a given row. As long as you
+ can extract the data for a column for the data context, the data context
+ can be anything you want: a pointer to an existing structure, the
+ parameters needed for a function call or an actual copy of the data.
+
+ By default, a data context structure is generated with storage for
+ all the data in a row. Information on changing the default is presented
+ later on in this help.
+
+
+ The MIB Context
+ ---------------
+ The MIB context structure is generated with storage for all the
+ indexes of a table. This data will be used when searching for the
+ correct row to process for a request.
+
+
+ The Row Request Context
+ -----------------------
+ Each table will have a unique data structure for holding data during
+ the processing of a particular row. The row request context contains
+ the registration context (that you supply during initilization),
+ the data context, the MIB context, the undo context (for settable
+ tables) and other data. There is also a netsnmp_data_list, which can
+ be used to temporary storage during processing.
+
+
+ The Table Registration Pointer
+ ------------------------------
+ During initilization, you may provide a pointer to arbitrary data for
+ you own use. This pointer will be saved in the row request context,
+ and is passed as a parameter to several functions. It is not required,
+ and is provided as a way for you to access table specific data in
+ the generated code.
+
+
+
+These files are top-level files potentially useful for all the tables:
+------------------------------------------------------------------------
+
+ File : spc300EoCOnlineSlaveTonemapTable_Makefile
+ ----------------------------------------------------------------------
+ Purpose : Make file for compiling a (sub)agent. This file is only
+ useful if you don't want to compile your code directly
+ into the Net-SNMP master agent.
+ Editable: Optional
+ Usage : make -f spc300EoCOnlineSlaveTonemapTable_Makefile
+
+
+ File : spc300EoCOnlineSlaveTonemapTable_subagent.c
+ ----------------------------------------------------------------------
+ Purpose : This file contains a main() function for an agent or
+ sub-agent and is compiled using the Makefile above.
+
+
+
+
+Table specific README files
+------------------------------------------------------------------------
+Each table for which code was generated has its own README file
+describing the files specifically associated with each table. You
+should probably read these next:
+
+ spc300EoCOnlineSlaveTonemapTable-README-spc300EoCOnlineSlaveTonemapTable.txt
+
+
+
+These are miscellaneous auto-generated code files you generally
+shouldn't edit. They contain code that ties your code together with
+the Net-SNMP agent.
+------------------------------------------------------------------------
+ File : spc300EoCOnlineSlaveTonemapTable.h
+ Purpose : Header file for the module set. Includes config_require
+ macros to auto-load the other code pieces when compiled
+ into the agent.
+
+ File : spc300EoCOnlineSlaveTonemapTable_oids.h
+ Purpose : C #define definitions of the tables, columns, and OIDs
+
+ File : spc300EoCOnlineSlaveTonemapTable_enums.h
+ Purpose : C #define definitions of the enumerated type values for
+ each column of each table that requires them.
+
+ File : spc300EoCOnlineSlaveTonemapTable_interface.c
+ Purpose : MFD interface to Net-SNMP. This auto-generated code ties the
+ functions you will fill out to the code that the agent needs.
+
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-spc300EoCOnlineSlaveTonemapTable.txt b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-spc300EoCOnlineSlaveTonemapTable.txt
new file mode 100644
index 0000000000..62c4175174
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable-README-spc300EoCOnlineSlaveTonemapTable.txt
@@ -0,0 +1,473 @@
+************************************************************************
+spc300EoCOnlineSlaveTonemapTable README
+------------------------------------------------------------------------
+ This readme file describes the code generated by mib2c (using the MIBs
+ for Dummies (MFD) configuration file). The code generated was
+ generated specifically for the following SNMP table:
+
+ spc300EoCOnlineSlaveTonemapTable
+
+ Your code will be called when the snmp agent receives requests for
+ the spc300EoCOnlineSlaveTonemapTable table. The agent will start by looking for the right
+ row in your existing data to operate on, if one exists.
+
+
+ Configuration Variables
+ ------------------------------------------------------------
+ Some variables used for code generation may be set to affect the code
+ generation. You may override these variables by setting them in the
+ file defaults/table-spc300EoCOnlineSlaveTonemapTable.m2d, and then re-running mib2c.
+
+ m2c_table_settable (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ MIB object which have an access of read-write or read-create. The
+ default is set based on whether or not the table contains writable
+ objects, but can be over-ridden.
+
+ Syntax: @eval $m2c_table_settable = 0@
+
+
+ m2c_table_dependencies (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ checking dependencies between columns, rows or tables. The default
+ is set based on whether or not the table contains writable objects,
+ but can be over-ridden.
+
+ Syntax: @eval $m2c_table_dependencies = 0@
+
+
+ m2c_table_row_creation (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not code is generated to support
+ checking creation of new rows via SNMP. The default is set based on
+ whether or not the table contains read-create objects, but can be
+ over-ridden.
+
+ Syntax: @eval $m2c_table_row_creation = 0@
+
+
+ m2c_context_reg (currently 'netsnmp_data_list')
+ --------------------------------------------------------
+ This variable contains the structure name to typedef for the
+ spc300EoCOnlineSlaveTonemapTable_registration.
+
+ During initilization, you will provide a pointer to a structure of
+ this type. This pointer is used as a parameter to many functions so
+ that you have access to your registration data. The default is a
+ netsnmp_data_list pointer, which will allow you to keep multiple
+ pointers tagged by a text name. If you have a new or existing structure
+ you would rather use, you can redefine this variable.
+
+
+ To avoid regenerating code, you may also change this typedef directly
+ in the spc300EoCOnlineSlaveTonemapTable.h header.
+
+ Syntax: @eval $m2c_context_reg = "struct my_registration_context@
+
+
+ m2c_data_context (currently 'generated')
+ --------------------------------------------------------
+ This variable contains the structure name to typedef for the
+ spc300EoCOnlineSlaveTonemapTable_data.
+
+ This typedef is used in the row request context structure for the table,
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx.
+
+ The typedef in the primary table context will be used for the data and
+ undo structure types. This structure should contain all the data
+ needed for all the columns in the table. The default is 'generated',
+ which will cuase a new data strcuture to be generated with data members
+ for each column.
+
+ To avoid regenerating code, you may also change this typedef directly
+ in the spc300EoCOnlineSlaveTonemapTable.h header.
+
+ Syntax: @eval $m2c_data_context = "struct my_data_context"@
+
+
+ m2c_data_allocate (currently '0')
+ --------------------------------------------------------
+ This variable determines whether or not the data context (see above)
+ requires memory to be allocated. The default generated data structure
+ does not. If you are using a custom data context which needs to
+ allocate memory, override this value and two additional functions
+ will be generated:
+
+ spc300EoCOnlineSlaveTonemapTable_allocate_data
+ spc300EoCOnlineSlaveTonemapTable_release_data
+
+ Syntax: @eval $m2c_data_allocate = 1@
+
+
+ m2c_data_init (currently '1')
+ --------------------------------------------------------
+ This variable determines whether or not the data context (see above)
+ or any other items you have added to the table context requires
+ initialization. The default generated data structure does not. If you
+ are using a custom data context or have added items needing initialization
+ to the table context, override this value and two additional functions
+ will be generated:
+
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup
+
+ Syntax: @eval 1 = 1@
+
+
+ m2c_table_access (currently 'container-cached')
+ ------------------------------------------------------------------
+ This variable determines which data interface will be use to generate
+ code for looking up data for a given index. The default is the
+ 'container-cached' access code, which caches the data in a netsnmp-
+ container (usually a sorted array).
+
+ Available options can be determined by checking for mib2c configuration
+ files that begin with 'mfd-access-*'.
+
+ Syntax: @eval $m2c_table_access = 'container-cached'@
+
+
+ m2c_include_examples (currently '0')
+ ------------------------------------------------------------------
+ This variable determines whether or not to generate example code. The
+ default is to generate example code.
+
+ Syntax: @eval $m2c_include_examples = 0@
+
+
+ m2c_data_transient (currently '2')
+ ------------------------------------------------------------------
+ This variable determines how the generated example code deals with the
+ data during data lookup. See the table readme file for details on how
+ the current table access method interprets this value. In general,
+ a value of 0 indicates persistent data, 1 indicates semi-transient and
+ 2 indicates transient data.
+
+ Syntax: @eval $m2c_data_transient = 0@
+
+
+ Index(es) for the spc300EoCOnlineSlaveTonemapTable table
+ ------------------------------------------------------------
+ The index(es) for the spc300EoCOnlineSlaveTonemapTable table are:
+
+ modEoCOnlineCNUMasterIndex:
+ Syntax: INTEGER32
+ DataType: INTEGER32
+ ASN type: ASN_INTEGER
+ C-code type: long
+ modEoCOnlineCNUIndex:
+ Syntax: INTEGER32
+ DataType: INTEGER32
+ ASN type: ASN_INTEGER
+ C-code type: long
+
+ You should know how to set all these values from your data context,
+ spc300EoCOnlineSlaveTonemapTable_data.
+
+
+************************************************************************
+spc300EoCOnlineSlaveTonemapTable File Overview
+------------------------------------------------------------------------
+ Several files have been generated to implement the spc300EoCOnlineSlaveTonemapTable
+ table. We'll go through these files, one by one, explaining each and
+ letting you know which you need to edit.
+
+
+File: spc300EoCOnlineSlaveTonemapTable_data_access.[c|h]
+------------------------------------------------------------------------
+ The spc300EoCOnlineSlaveTonemapTable_data_access file contains the interface to your data in
+ its raw format. These functions are used to build the row cache or
+ locate the row (depending on the table access method).
+
+ Set MIB context
+ -----------------
+ TODO : Set MIB index values
+ FUNC : spc300EoCOnlineSlaveTonemapTable_indexes_set
+ WHERE: spc300EoCOnlineSlaveTonemapTable_data_access.c
+
+ This is a convenience function for setting the index context from
+ the native C data. Where necessary, value mapping should be done.
+
+ This function should update the table index values (found in
+ tbl_idx) for the given raw data.
+
+
+ container summary
+ ------------------------
+ The container data access code is for cases when you want to
+ store your data in the agent/sub-agent.
+
+ ... to be continued...
+
+
+ cache summary
+ ------------------------
+ The container-cached data access code is for cases when you want to
+ cache your data in the agent/sub-agent.
+
+ ... to be continued...
+
+
+
+
+File: spc300EoCOnlineSlaveTonemapTable_enums.h
+------------------------------------------------------------------------
+ This file contains macros for mapping enumeration values when the
+ enumerated values defined by the MIB do not match the values used
+ internally.
+
+ Review this file to see if any values need to be updated.
+
+
+File: spc300EoCOnlineSlaveTonemapTable_data_get.c
+------------------------------------------------------------------------
+ Get data for column
+ -------------------
+ TODO : retrieve column data from raw data
+ FUNC : spc300EoCOnlineSlaveTonemapRx_get
+
+ Get data for column
+ -------------------
+ TODO : retrieve column data from raw data
+ FUNC : spc300EoCOnlineSlaveTonemapTx_get
+
+
+
+File: spc300EoCOnlineSlaveTonemapTable_data_set.c
+------------------------------------------------------------------------
+
+ This table does not support set requests.
+
+
+************************************************************************
+spc300EoCOnlineSlaveTonemapTable Reference
+------------------------------------------------------------------------
+
+Function flow
+----------------------------------------------------
+To give you the general idea of how the functions flow works, this
+example flow is from a complete table implementation.
+
+NOTE: Depending on your configuration, some of the functions used in the
+ examples below may not have been generated for the
+ spc300EoCOnlineSlaveTonemapTable table.
+
+ Conversely, the examples below may not include some functions that
+ were generated for the spc300EoCOnlineSlaveTonemapTable table.
+
+To watch the flow of the spc300EoCOnlineSlaveTonemapTable table, use the
+following debug tokens:
+
+ snmp_agent
+ helper:table:req
+ spc300EoCOnlineSlaveTonemapTable
+ verbose:spc300EoCOnlineSlaveTonemapTable
+ internal:spc300EoCOnlineSlaveTonemapTable
+
+e.g.
+ snmpd -f -Le -Dspc300EoCOnlineSlaveTonemapTable,verbose:spc300EoCOnlineSlaveTonemapTable,internal:spc300EoCOnlineSlaveTonemapTable
+
+
+Initialization
+--------------------------------
+init_xxxTable: called xxx.c
+ initialize_table_xxxTable xxx.c
+ _xxxTable_initialize_interface xxx_interface.c
+ xxxTable_init_data xxx_data_access.c
+ _xxxTable_container_init xxx_interface.c
+ xxxTable_container_init xxx_data_access.c
+
+
+GET Request
+--------------------------------
+_cache_load xxx_interface.c
+ xxxTable_cache_load xxx_data_access.c
+ xxxTable_allocate_rowreq_ctx xxx_interface.c
+ xxxTable_allocate_data xxx_data_get.c
+ xxxTable_rowreq_ctx_init xxx_data_get.c
+ xxxTable_indexes_set xxx_data_get.c
+ xxxTable_indexes_set_tbl_idx xxx_data_get.c
+
+xxxTable_pre_request
+
+_mfd_xxxTable_object_lookup xxx_interface.c
+ xxxTable_row_prep xxx_data_access.c
+
+_mfd_xxxTable_get_values xxx_interface.c
+ _mfd_xxxTable_get_column xxx_interface.c
+ yyy_get xxx_data_get.c
+
+xxxTable_post_request
+
+
+GETNEXT Request
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+_mfd_xxxTable_get_values ...
+xxxTable_post_request ...
+
+
+SET Request: success
+--------------------------------
+_cache_load ...
+xxxTable_pre_request
+_mfd_xxxTable_object_lookup ...
+
+_mfd_xxxTable_check_objects xxx_interface.c
+ _xxxTable_check_column xxx_interface.c
+ yyy_check_value xxx_data_set.c
+
+_mfd_xxxTable_undo_setup xxx_interface.c
+ xxxTable_allocate_data ...
+ xxxTable_undo_setup xxx_interface.c
+ _xxxTable_undo_setup_column xxx_interface.c
+ yyy_undo_setup xxx_data_set.c
+
+_mfd_xxxTable_set_values xxx_interface.c
+ _xxxTable_set_column xxx_interface.c
+ yyy_set xxx_data_set.c
+
+_mfd_xxxTable_check_dependencies xxx_interface.c
+ xxxTable_check_dependencies xxx_data_set.c
+
+_mfd_xxxTable_commit xxx_interface.c
+ xxxTable_commit xxx_data_set.c
+
+_mfd_xxxTable_undo_cleanup xxx_interface.c
+ xxxTable_undo_cleanup xxx_data_set.c
+ xxxTable_release_data ...
+
+xxxTable_post_request ...
+
+
+SET Request: row creation
+--------------------------------
+_cache_load ...
+xxxTable_pre_request
+
+_mfd_xxxTable_object_lookup ...
+ xxxTable_index_from_oid xxx_interface.c
+ xxxTable_allocate_rowreq_ctx ...
+ ...
+ _xxxTable_check_indexes xxx_interface.c
+ yyy_check_index xxx_data_set.c
+ xxxTable_validate_index xxx_data_set.c
+
+_mfd_xxxTable_check_objects ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+
+_mfd_xxxTable_undo_setup ...
+_mfd_xxxTable_set_values ...
+_mfd_xxxTable_check_dependencies ...
+_mfd_xxxTable_commit ...
+_mfd_xxxTable_undo_cleanup ...
+xxxTable_post_request ...
+
+
+SET Resuest: value error
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+
+_mfd_xxxTable_check_objects ...
+ _xxxTable_check_column ...
+ yyy_check_value ...
+ ERROR:"yyy value not supported"
+
+xxxTable_post_request ...
+
+
+SET Request: commit failure
+--------------------------------
+_cache_load ...
+xxxTable_pre_request ...
+_mfd_xxxTable_object_lookup ...
+_mfd_xxxTable_check_objects ...
+_mfd_xxxTable_undo_setup ...
+_mfd_xxxTable_set_values ...
+_mfd_xxxTable_check_dependencies ...
+
+_mfd_xxxTable_commit ...
+ xxxTable_commit ...
+ ERROR: bad rc -1
+
+_mfd_xxxTable_undo_commit xxx_interface.c
+ xxxTable_undo_commit xxx_data_set.c
+
+_mfd_xxxTable_undo_values xxx_interface.c
+ _xxxTable_undo_column xxx_interface.c
+ yyy_undo xxx_data_set.c
+
+_mfd_xxxTable_undo_cleanup ...
+xxxTable_post_request ...
+
+
+Row release (user initiated)
+--------------------------------
+xxxTable_release_rowreq_ctx xxx_interface.c
+ xxxTable_rowreq_ctx_cleanup xxx_data_get.c
+ xxxTable_release_data xxx_data_get.c
+
+
+
+Table / column details
+----------------------------------------------------
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+*/
+
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapEntry.spc300EoCOnlineSlaveTonemapRx
+ * spc300EoCOnlineSlaveTonemapRx is subid 1 of spc300EoCOnlineSlaveTonemapEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1.1.1
+ * Description:
+RX tonemap for slave
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapEntry.spc300EoCOnlineSlaveTonemapTx
+ * spc300EoCOnlineSlaveTonemapTx is subid 2 of spc300EoCOnlineSlaveTonemapEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1.1.2
+ * Description:
+TX tonemap for slave
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+
+
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.c
new file mode 100644
index 0000000000..f2a193a7f3
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.c
@@ -0,0 +1,217 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+/** \page MFD helper for spc300EoCOnlineSlaveTonemapTable
+ *
+ * \section intro Introduction
+ * Introductory text.
+ *
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+#include <net-snmp/agent/mib_modules.h>
+
+#include "spc300EoCOnlineSlaveTonemapTable_interface.h"
+
+oid spc300EoCOnlineSlaveTonemapTable_oid[] =
+ { SPC300EOCONLINESLAVETONEMAPTABLE_OID };
+int spc300EoCOnlineSlaveTonemapTable_oid_size =
+OID_LENGTH(spc300EoCOnlineSlaveTonemapTable_oid);
+
+spc300EoCOnlineSlaveTonemapTable_registration
+ spc300EoCOnlineSlaveTonemapTable_user_context;
+
+void initialize_table_spc300EoCOnlineSlaveTonemapTable(void);
+void shutdown_table_spc300EoCOnlineSlaveTonemapTable(void);
+
+
+/**
+ * Initializes the spc300EoCOnlineSlaveTonemapTable module
+ */
+void
+init_spc300EoCOnlineSlaveTonemapTable(void)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:init_spc300EoCOnlineSlaveTonemapTable", "called\n"));
+
+ /*
+ * TODO:300:o: Perform spc300EoCOnlineSlaveTonemapTable one-time module initialization.
+ */
+
+ /*
+ * here we initialize all the tables we're planning on supporting
+ */
+ if (should_init("spc300EoCOnlineSlaveTonemapTable"))
+ initialize_table_spc300EoCOnlineSlaveTonemapTable();
+
+} /* init_spc300EoCOnlineSlaveTonemapTable */
+
+/**
+ * Shut-down the spc300EoCOnlineSlaveTonemapTable module (agent is exiting)
+ */
+void
+shutdown_spc300EoCOnlineSlaveTonemapTable(void)
+{
+ if (should_init("spc300EoCOnlineSlaveTonemapTable"))
+ shutdown_table_spc300EoCOnlineSlaveTonemapTable();
+
+}
+
+/**
+ * Initialize the table spc300EoCOnlineSlaveTonemapTable
+ * (Define its contents and how it's structured)
+ */
+void
+initialize_table_spc300EoCOnlineSlaveTonemapTable(void)
+{
+ spc300EoCOnlineSlaveTonemapTable_registration *user_context;
+ u_long flags;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:initialize_table_spc300EoCOnlineSlaveTonemapTable", "called\n"));
+
+ /*
+ * TODO:301:o: Perform spc300EoCOnlineSlaveTonemapTable one-time table initialization.
+ */
+
+ /*
+ * TODO:302:o: |->Initialize spc300EoCOnlineSlaveTonemapTable user context
+ * if you'd like to pass in a pointer to some data for this
+ * table, allocate or set it up here.
+ */
+ /*
+ * a netsnmp_data_list is a simple way to store void pointers. A simple
+ * string token is used to add, find or remove pointers.
+ */
+ user_context =
+ netsnmp_create_data_list("spc300EoCOnlineSlaveTonemapTable", NULL,
+ NULL);
+
+ /*
+ * No support for any flags yet, but in the future you would
+ * set any flags here.
+ */
+ flags = 0;
+
+ /*
+ * call interface initialization code
+ */
+ _spc300EoCOnlineSlaveTonemapTable_initialize_interface(user_context,
+ flags);
+} /* initialize_table_spc300EoCOnlineSlaveTonemapTable */
+
+/**
+ * Shutdown the table spc300EoCOnlineSlaveTonemapTable
+ */
+void
+shutdown_table_spc300EoCOnlineSlaveTonemapTable(void)
+{
+ /*
+ * call interface shutdown code
+ */
+ _spc300EoCOnlineSlaveTonemapTable_shutdown_interface
+ (&spc300EoCOnlineSlaveTonemapTable_user_context);
+}
+
+/**
+ * extra context initialization (eg default values)
+ *
+ * @param rowreq_ctx : row request context
+ * @param user_init_ctx : void pointer for user (parameter to rowreq_ctx_allocate)
+ *
+ * @retval MFD_SUCCESS : no errors
+ * @retval MFD_ERROR : error (context allocate will fail)
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ void *user_init_ctx)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:210:o: |-> Perform extra spc300EoCOnlineSlaveTonemapTable rowreq initialization. (eg DEFVALS)
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init */
+
+/**
+ * extra context cleanup
+ *
+ */
+void
+spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:211:o: |-> Perform extra spc300EoCOnlineSlaveTonemapTable rowreq cleanup.
+ */
+} /* spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup */
+
+/**
+ * pre-request callback
+ *
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_pre_request
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_context)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_pre_request", "called\n"));
+
+ /*
+ * TODO:510:o: Perform spc300EoCOnlineSlaveTonemapTable pre-request actions.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_pre_request */
+
+/**
+ * post-request callback
+ *
+ * Note:
+ * New rows have been inserted into the container, and
+ * deleted rows have been removed from the container and
+ * released.
+ *
+ * @param user_context
+ * @param rc : MFD_SUCCESS if all requests succeeded
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error (ignored)
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_post_request
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_context, int rc)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_post_request", "called\n"));
+
+ /*
+ * TODO:511:o: Perform spc300EoCOnlineSlaveTonemapTable post-request actions.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_post_request */
+
+
+/** @{ */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.h
new file mode 100644
index 0000000000..e88b62d419
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable.h
@@ -0,0 +1,212 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/** @addtogroup misc misc: Miscellaneous routines
+ *
+ * @{
+ */
+#include <net-snmp/library/asn1.h>
+
+ /*
+ * OID and column number definitions for spc300EoCOnlineSlaveTonemapTable
+ */
+#include "spc300EoCOnlineSlaveTonemapTable_oids.h"
+
+ /*
+ * enum definions
+ */
+#include "spc300EoCOnlineSlaveTonemapTable_enums.h"
+
+/* include common header */
+#include "EoCCommon.h"
+
+ /*
+ *********************************************************************
+ * function declarations
+ */
+ void init_spc300EoCOnlineSlaveTonemapTable(void);
+ void shutdown_spc300EoCOnlineSlaveTonemapTable(void);
+
+ /*
+ *********************************************************************
+ * Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+ /*
+ *********************************************************************
+ * When you register your mib, you get to provide a generic
+ * pointer that will be passed back to you for most of the
+ * functions calls.
+ *
+ * TODO:100:r: Review all context structures
+ */
+ /*
+ * TODO:101:o: |-> Review spc300EoCOnlineSlaveTonemapTable registration context.
+ */
+ typedef netsnmp_data_list
+ spc300EoCOnlineSlaveTonemapTable_registration;
+
+/**********************************************************************/
+ /*
+ * TODO:110:r: |-> Review spc300EoCOnlineSlaveTonemapTable data context structure.
+ * This structure is used to represent the data for spc300EoCOnlineSlaveTonemapTable.
+ */
+ /*
+ * This structure contains storage for all the columns defined in the
+ * spc300EoCOnlineSlaveTonemapTable.
+ */
+ typedef struct spc300EoCOnlineSlaveTonemapTable_data_s {
+
+ /*
+ * spc300EoCOnlineSlaveTonemapRx(1)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ char spc300EoCOnlineSlaveTonemapRx[LIBSPID_EOC_MODULATION_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveTonemapRx_len; /* # of char elements, not bytes */
+
+ /*
+ * spc300EoCOnlineSlaveTonemapTx(2)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ char spc300EoCOnlineSlaveTonemapTx[LIBSPID_EOC_MODULATION_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveTonemapTx_len; /* # of char elements, not bytes */
+
+
+ } spc300EoCOnlineSlaveTonemapTable_data;
+
+
+ /*
+ * TODO:120:r: |-> Review spc300EoCOnlineSlaveTonemapTable mib index.
+ * This structure is used to represent the index for spc300EoCOnlineSlaveTonemapTable.
+ */
+ typedef struct spc300EoCOnlineSlaveTonemapTable_mib_index_s {
+ /* field added for storing slave MAC address in string format (to permit sharing it between row_prep and container_load) */
+ char modEoCOnlineCNUMACString[LIBSPID_MAC_STR_LEN];
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUMasterIndex;
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUIndex;
+
+
+ } spc300EoCOnlineSlaveTonemapTable_mib_index;
+
+ /*
+ * TODO:121:r: | |-> Review spc300EoCOnlineSlaveTonemapTable max index length.
+ * If you KNOW that your indexes will never exceed a certain
+ * length, update this macro to that length.
+ */
+#define MAX_spc300EoCOnlineSlaveTonemapTable_IDX_LEN 2
+
+
+ /*
+ *********************************************************************
+ * TODO:130:o: |-> Review spc300EoCOnlineSlaveTonemapTable Row request (rowreq) context.
+ * When your functions are called, you will be passed a
+ * spc300EoCOnlineSlaveTonemapTable_rowreq_ctx pointer.
+ */
+ typedef struct spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_s {
+
+ /** this must be first for container compare to work */
+ netsnmp_index oid_idx;
+ oid
+ oid_tmp[MAX_spc300EoCOnlineSlaveTonemapTable_IDX_LEN];
+
+ spc300EoCOnlineSlaveTonemapTable_mib_index tbl_idx;
+
+ spc300EoCOnlineSlaveTonemapTable_data data;
+
+ /*
+ * flags per row. Currently, the first (lower) 8 bits are reserved
+ * for the user. See mfd.h for other flags.
+ */
+ u_int rowreq_flags;
+
+ /*
+ * TODO:131:o: | |-> Add useful data to spc300EoCOnlineSlaveTonemapTable rowreq context.
+ */
+
+ /*
+ * storage for future expansion
+ */
+ netsnmp_data_list *spc300EoCOnlineSlaveTonemapTable_data_list;
+
+ } spc300EoCOnlineSlaveTonemapTable_rowreq_ctx;
+
+ typedef struct spc300EoCOnlineSlaveTonemapTable_ref_rowreq_ctx_s {
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx;
+ } spc300EoCOnlineSlaveTonemapTable_ref_rowreq_ctx;
+
+ /*
+ *********************************************************************
+ * function prototypes
+ */
+ int
+ spc300EoCOnlineSlaveTonemapTable_pre_request
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_context);
+ int
+ spc300EoCOnlineSlaveTonemapTable_post_request
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_context,
+ int rc);
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ void *user_init_ctx);
+ void
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx);
+
+
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx
+ *spc300EoCOnlineSlaveTonemapTable_row_find_by_mib_index
+ (spc300EoCOnlineSlaveTonemapTable_mib_index * mib_idx);
+
+ extern oid spc300EoCOnlineSlaveTonemapTable_oid[];
+ extern int spc300EoCOnlineSlaveTonemapTable_oid_size;
+
+
+#include "spc300EoCOnlineSlaveTonemapTable_interface.h"
+#include "spc300EoCOnlineSlaveTonemapTable_data_access.h"
+#include "spc300EoCOnlineSlaveTonemapTable_data_get.h"
+#include "spc300EoCOnlineSlaveTonemapTable_data_set.h"
+
+ /*
+ * DUMMY markers, ignore
+ *
+ * TODO:099:x: *************************************************************
+ * TODO:199:x: *************************************************************
+ * TODO:299:x: *************************************************************
+ * TODO:399:x: *************************************************************
+ * TODO:499:x: *************************************************************
+ */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.c
new file mode 100644
index 0000000000..a2234e7422
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.c
@@ -0,0 +1,466 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+
+#include "spc300EoCOnlineSlaveTonemapTable_data_access.h"
+
+/* include modEoCCNUOnlineTable header for loading external indexes */
+#include "sarft-eoc-mib/modEoCCNUGroup/modEoCOnlineCNUTable/modEoCOnlineCNUTable.h"
+
+/** @ingroup interface
+ * @addtogroup data_access data_access: Routines to access data
+ *
+ * These routines are used to locate the data used to satisfy
+ * requests.
+ *
+ * @{
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+
+/**
+ * initialization for spc300EoCOnlineSlaveTonemapTable data access
+ *
+ * This function is called during startup to allow you to
+ * allocate any resources you need for the data table.
+ *
+ * @param spc300EoCOnlineSlaveTonemapTable_reg
+ * Pointer to spc300EoCOnlineSlaveTonemapTable_registration
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : unrecoverable error.
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_init_data
+ (spc300EoCOnlineSlaveTonemapTable_registration *
+ spc300EoCOnlineSlaveTonemapTable_reg)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_init_data", "called\n"));
+
+ /*
+ * TODO:303:o: Initialize spc300EoCOnlineSlaveTonemapTable data.
+ */
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_init_data */
+
+/**
+ * container overview
+ *
+ */
+
+/**
+ * container initialization
+ *
+ * @param container_ptr_ptr A pointer to a container pointer. If you
+ * create a custom container, use this parameter to return it
+ * to the MFD helper. If set to NULL, the MFD helper will
+ * allocate a container for you.
+ * @param cache A pointer to a cache structure. You can set the timeout
+ * and other cache flags using this pointer.
+ *
+ * This function is called at startup to allow you to customize certain
+ * aspects of the access method. For the most part, it is for advanced
+ * users. The default code should suffice for most cases. If no custom
+ * container is allocated, the MFD code will create one for your.
+ *
+ * This is also the place to set up cache behavior. The default, to
+ * simply set the cache timeout, will work well with the default
+ * container. If you are using a custom container, you may want to
+ * look at the cache helper documentation to see if there are any
+ * flags you want to set.
+ *
+ * @remark
+ * This would also be a good place to do any initialization needed
+ * for you data source. For example, opening a connection to another
+ * process that will supply the data, opening a database, etc.
+ */
+void
+spc300EoCOnlineSlaveTonemapTable_container_init(netsnmp_container **
+ container_ptr_ptr,
+ netsnmp_cache * cache)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_container_init", "called\n"));
+
+ if (NULL == container_ptr_ptr) {
+ snmp_log(LOG_ERR,
+ "bad container param to spc300EoCOnlineSlaveTonemapTable_container_init\n");
+ return;
+ }
+
+ /*
+ * For advanced users, you can use a custom container. If you
+ * do not create one, one will be created for you.
+ */
+ *container_ptr_ptr = NULL;
+
+ if (NULL == cache) {
+ snmp_log(LOG_ERR,
+ "bad cache param to spc300EoCOnlineSlaveTonemapTable_container_init\n");
+ return;
+ }
+
+ /*
+ * TODO:345:A: Set up spc300EoCOnlineSlaveTonemapTable cache properties.
+ *
+ * Also for advanced users, you can set parameters for the
+ * cache. Do not change the magic pointer, as it is used
+ * by the MFD helper. To completely disable caching, set
+ * cache->enabled to 0.
+ */
+ cache->timeout = SPC300EOCONLINESLAVETONEMAPTABLE_CACHE_TIMEOUT; /* seconds */
+} /* spc300EoCOnlineSlaveTonemapTable_container_init */
+
+/**
+ * container shutdown
+ *
+ * @param container_ptr A pointer to the container.
+ *
+ * This function is called at shutdown to allow you to customize certain
+ * aspects of the access method. For the most part, it is for advanced
+ * users. The default code should suffice for most cases.
+ *
+ * This function is called before spc300EoCOnlineSlaveTonemapTable_container_free().
+ *
+ * @remark
+ * This would also be a good place to do any cleanup needed
+ * for you data source. For example, closing a connection to another
+ * process that supplied the data, closing a database, etc.
+ */
+void
+spc300EoCOnlineSlaveTonemapTable_container_shutdown(netsnmp_container *
+ container_ptr)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_container_shutdown", "called\n"));
+
+ if (NULL == container_ptr) {
+ snmp_log(LOG_ERR,
+ "bad params to spc300EoCOnlineSlaveTonemapTable_container_shutdown\n");
+ return;
+ }
+
+} /* spc300EoCOnlineSlaveTonemapTable_container_shutdown */
+
+/* internal helper function for extracting indexes from modEoCOnlineCNUTable row request and setting them in TonemapTable container */
+static void
+_tonemap_container_set_indexes(modEoCOnlineCNUTable_rowreq_ctx * online_rowreq_ctx,
+ netsnmp_container *tonemap_container)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *tonemap_rowreq_ctx;
+
+
+ netsnmp_assert(NULL != online_rowreq_ctx);
+ netsnmp_assert(NULL != tonemap_container);
+
+ char *mac_slist;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:_tonemap_container_set_indexes", "current master index: %d and slave index: %d\n",
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUMasterIndex, online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex));
+
+ /* retrieve MAC address string from slave index in online table */
+ mac_slist = se_find_label_in_slist("online_table", online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex);
+
+ if (NULL == mac_slist){
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveTonemapTable:_online_container_set_indexes: error retrieving MAC address from slave index\n");
+ return;
+ }
+
+ /* insert indexes only if slave is authorized */
+ if (LIBSPID_SUCCESS == libspid_eoc_wl_authorization (mac_slist)){
+ /*
+ * TODO:352:M: | |-> set indexes in new spc300EoCOnlineSlaveTonemapTable rowreq context.
+ * data context will be set from the param (unless NULL,
+ * in which case a new data context will be allocated)
+ */
+ tonemap_rowreq_ctx =
+ spc300EoCOnlineSlaveTonemapTable_allocate_rowreq_ctx(NULL);
+ if (NULL == tonemap_rowreq_ctx) {
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveTonemapTable: rowreq_ctx memory allocation failed\n");
+ return;
+ }
+ if (MFD_SUCCESS !=
+ spc300EoCOnlineSlaveTonemapTable_indexes_set(tonemap_rowreq_ctx,
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUMasterIndex,
+ online_rowreq_ctx->tbl_idx.modEoCOnlineCNUIndex))
+ {
+ snmp_log(LOG_ERR,
+ "error setting index while loading "
+ "spc300EoCOnlineSlaveTonemapTable data.\n");
+ spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx(tonemap_rowreq_ctx);
+ return;
+ }
+
+ /* store slave MAC address string as an additional field of index structure - to be retrieved in row_prep */
+ strncpy(tonemap_rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString, mac_slist, LIBSPID_MAC_STR_LEN);
+ /*
+ * insert into tonemap table container
+ */
+ CONTAINER_INSERT(tonemap_container, tonemap_rowreq_ctx);
+ }
+
+}
+
+/**
+ * load initial data
+ *
+ * TODO:350:M: Implement spc300EoCOnlineSlaveTonemapTable data load
+ * This function will also be called by the cache helper to load
+ * the container again (after the container free function has been
+ * called to free the previous contents).
+ *
+ * @param container container to which items should be inserted
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_RESOURCE_UNAVAILABLE : Can't access data source
+ * @retval MFD_ERROR : other error.
+ *
+ * This function is called to load the index(es) (and data, optionally)
+ * for the every row in the data set.
+ *
+ * @remark
+ * While loading the data, the only important thing is the indexes.
+ * If access to your data is cheap/fast (e.g. you have a pointer to a
+ * structure in memory), it would make sense to update the data here.
+ * If, however, the accessing the data invovles more work (e.g. parsing
+ * some other existing data, or peforming calculations to derive the data),
+ * then you can limit yourself to setting the indexes and saving any
+ * information you will need later. Then use the saved information in
+ * spc300EoCOnlineSlaveTonemapTable_row_prep() for populating data.
+ *
+ * @note
+ * If you need consistency between rows (like you want statistics
+ * for each row to be from the same time frame), you should set all
+ * data here.
+ *
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_container_load(netsnmp_container *
+ container)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx;
+ size_t count = 0;
+
+ netsnmp_container * online_container;
+
+ /*
+ * temporary storage for index values
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ long modEoCOnlineCNUIndex;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_container_load", "called\n"));
+
+ /*
+ * TODO:351:M: |-> Load/update data in the spc300EoCOnlineSlaveTonemapTable container.
+ * loop over your spc300EoCOnlineSlaveTonemapTable data, allocate a rowreq context,
+ * set the index(es) [and data, optionally] and insert into
+ * the container.
+ */
+
+ /* find container for modEoCCNUOnlineTable */
+ online_container =
+ netsnmp_container_find("modEoCOnlineCNUTable:table_container");
+ if (NULL == online_container) {
+ snmp_log(LOG_ERR, "online table temp container not found\n");
+ return SNMP_ERR_GENERR;
+ }
+
+
+ /* free container before loading */
+ modEoCOnlineCNUTable_container_free(online_container);
+
+
+ /* load fresh container contents */
+ if (MFD_ERROR == modEoCOnlineCNUTable_container_load(online_container)) {
+ snmp_log(LOG_ERR, "online table container load error\n");
+ return MFD_ERROR;
+ }
+
+ /*
+ * extract indexes from modEoCOnlineCNUTable container and set them in tonemap table container
+ */
+ CONTAINER_FOR_EACH(online_container,
+ (netsnmp_container_obj_func *) _tonemap_container_set_indexes,
+ container);
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_container_load */
+
+/**
+ * container clean up
+ *
+ * @param container container with all current items
+ *
+ * This optional callback is called prior to all
+ * item's being removed from the container. If you
+ * need to do any processing before that, do it here.
+ *
+ * @note
+ * The MFD helper will take care of releasing all the row contexts.
+ *
+ */
+void
+spc300EoCOnlineSlaveTonemapTable_container_free(netsnmp_container *
+ container)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_container_free", "called\n"));
+
+ /*
+ * TODO:380:M: Free spc300EoCOnlineSlaveTonemapTable container data.
+ */
+} /* spc300EoCOnlineSlaveTonemapTable_container_free */
+
+/**
+ * prepare row for processing.
+ *
+ * When the agent has located the row for a request, this function is
+ * called to prepare the row for processing. If you fully populated
+ * the data context during the index setup phase, you may not need to
+ * do anything.
+ *
+ * @param rowreq_ctx pointer to a context.
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_row_prep
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx)
+{
+
+ char spc300EoCOnlineSlaveTonemapTx[LIBSPID_EOC_MODULATION_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveTonemapTx_len = LIBSPID_EOC_MODULATION_LIST_MAX_SIZE;
+ char spc300EoCOnlineSlaveTonemapRx[LIBSPID_EOC_MODULATION_LIST_MAX_SIZE];
+ size_t spc300EoCOnlineSlaveTonemapRx_len = LIBSPID_EOC_MODULATION_LIST_MAX_SIZE;
+
+ libspid_eoc_tonemap_entry_t tx_tonemap;
+ libspid_eoc_tonemap_entry_t rx_tonemap;
+
+ int i;
+ char swap;
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_row_prep", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ memset(spc300EoCOnlineSlaveTonemapTx, 0x0, LIBSPID_EOC_MODULATION_LIST_MAX_SIZE);
+ memset(spc300EoCOnlineSlaveTonemapRx, 0x0, LIBSPID_EOC_MODULATION_LIST_MAX_SIZE);
+
+ /* initialize lengths of tonemaps in row request to maximum */
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len = LIBSPID_EOC_MODULATION_LIST_MAX_SIZE;
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len = LIBSPID_EOC_MODULATION_LIST_MAX_SIZE;
+
+ /*
+ * TODO:390:o: Prepare row for request.
+ * If populating row data was delayed, this is the place to
+ * fill in the row for this request.
+ */
+ /* load TX tonemap data only if slave is authorized */
+ if (LIBSPID_SUCCESS == libspid_eoc_wl_authorization (rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString)){
+ /* obtain TX tonemap structure and store tonemap to row request context */
+ if (LIBSPID_SUCCESS != libspid_eoc_get_tonemap(rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString, LIBSPID_EOC_TONEMAP_DIRECTION_TX, &tx_tonemap)){
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveTonemapTable: error getting TX tonemap\n");
+ return MFD_ERROR;
+ }
+
+ spc300EoCOnlineSlaveTonemapTx_len = sizeof(tx_tonemap.modulation_list);
+
+ /* swap nibbles of tonemap data to align them in proper format */
+ for (i=0; i < spc300EoCOnlineSlaveTonemapTx_len; i++){
+ swap = tx_tonemap.modulation_list[i] << 4 | tx_tonemap.modulation_list[i] >> 4;
+ spc300EoCOnlineSlaveTonemapTx[i] = swap;
+ }
+ }
+
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveTonemapTx data
+ */
+ if ((NULL == rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx) ||
+ (rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len <
+ (spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapTx[0])))) {
+ snmp_log(LOG_ERR, "not enough space for value\n");
+ return MFD_ERROR;
+ }
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len =
+ spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapTx[0]);
+ memcpy(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx,
+ spc300EoCOnlineSlaveTonemapTx,
+ spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapTx[0]));
+
+
+ /* load RX tonemap data only if slave is authorized */
+ if (LIBSPID_SUCCESS == libspid_eoc_wl_authorization (rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString)){
+ /* obtain RX tonemap structure and store tonemap to row request context */
+ if (LIBSPID_SUCCESS != libspid_eoc_get_tonemap(rowreq_ctx->tbl_idx.modEoCOnlineCNUMACString, LIBSPID_EOC_TONEMAP_DIRECTION_RX, &rx_tonemap)){
+ snmp_log(LOG_ERR, "spc300EoCOnlineSlaveTonemapTable: error getting RX tonemap\n");
+ return MFD_ERROR;
+ }
+
+ spc300EoCOnlineSlaveTonemapRx_len = sizeof(rx_tonemap.modulation_list);
+
+ /* swap nibbles of tonemap data to align them in proper format */
+ for (i=0; i < spc300EoCOnlineSlaveTonemapRx_len; i++){
+ swap = rx_tonemap.modulation_list[i] << 4 | rx_tonemap.modulation_list[i] >> 4;
+ spc300EoCOnlineSlaveTonemapRx[i] = swap;
+ }
+ }
+
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveTonemapRx data
+ */
+ if ((NULL == rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx) ||
+ (rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len <
+ (spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapRx[0])))) {
+ snmp_log(LOG_ERR, "not enough space for value\n");
+ return MFD_ERROR;
+ }
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len =
+ spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapRx[0]);
+ memcpy(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx,
+ spc300EoCOnlineSlaveTonemapRx,
+ spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(spc300EoCOnlineSlaveTonemapRx[0]));
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_row_prep */
+
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.h
new file mode 100644
index 0000000000..5af18fba6c
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_access.h
@@ -0,0 +1,83 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 14170 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_DATA_ACCESS_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_DATA_ACCESS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ /*
+ *********************************************************************
+ * function declarations
+ */
+
+ /*
+ *********************************************************************
+ * Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_init_data
+ (spc300EoCOnlineSlaveTonemapTable_registration *
+ spc300EoCOnlineSlaveTonemapTable_reg);
+
+
+ /*
+ * TODO:180:o: Review spc300EoCOnlineSlaveTonemapTable cache timeout.
+ * The number of seconds before the cache times out
+ */
+#define SPC300EOCONLINESLAVETONEMAPTABLE_CACHE_TIMEOUT 60
+
+ void
+ spc300EoCOnlineSlaveTonemapTable_container_init(netsnmp_container
+ **
+ container_ptr_ptr,
+ netsnmp_cache *
+ cache);
+ void
+ spc300EoCOnlineSlaveTonemapTable_container_shutdown
+ (netsnmp_container * container_ptr);
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_container_load(netsnmp_container *
+ container);
+ void
+ spc300EoCOnlineSlaveTonemapTable_container_free(netsnmp_container *
+ container);
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_cache_load(netsnmp_container *
+ container);
+ void
+ spc300EoCOnlineSlaveTonemapTable_cache_free(netsnmp_container *
+ container);
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_row_prep
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_DATA_ACCESS_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.c
new file mode 100644
index 0000000000..467d439489
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.c
@@ -0,0 +1,324 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12088 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+
+/** @defgroup data_get data_get: Routines to get data
+ *
+ * TODO:230:M: Implement spc300EoCOnlineSlaveTonemapTable get routines.
+ * TODO:240:M: Implement spc300EoCOnlineSlaveTonemapTable mapping routines (if any).
+ *
+ * These routine are used to get the value for individual objects. The
+ * row context is passed, along with a pointer to the memory where the
+ * value should be copied.
+ *
+ * @{
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+
+/*
+ * ---------------------------------------------------------------------
+ * * TODO:200:r: Implement spc300EoCOnlineSlaveTonemapTable data context functions.
+ */
+
+
+/**
+ * set mib index(es)
+ *
+ * @param tbl_idx mib index structure
+ * @param modEoCOnlineCNUMasterIndex_val
+ * @param modEoCOnlineCNUIndex_val
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This convenience function is useful for setting all the MIB index
+ * components with a single function call. It is assume that the C values
+ * have already been mapped from their native/rawformat to the MIB format.
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_indexes_set_tbl_idx
+ (spc300EoCOnlineSlaveTonemapTable_mib_index * tbl_idx,
+ long modEoCOnlineCNUMasterIndex_val, long modEoCOnlineCNUIndex_val)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_indexes_set_tbl_idx", "called\n"));
+
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ tbl_idx->modEoCOnlineCNUMasterIndex = modEoCOnlineCNUMasterIndex_val;
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ tbl_idx->modEoCOnlineCNUIndex = modEoCOnlineCNUIndex_val;
+
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_indexes_set_tbl_idx */
+
+/**
+ * @internal
+ * set row context indexes
+ *
+ * @param reqreq_ctx the row context that needs updated indexes
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This function sets the mib indexs, then updates the oid indexs
+ * from the mib index.
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_indexes_set
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ long modEoCOnlineCNUMasterIndex_val, long modEoCOnlineCNUIndex_val)
+{
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_indexes_set", "called\n"));
+
+ if (MFD_SUCCESS !=
+ spc300EoCOnlineSlaveTonemapTable_indexes_set_tbl_idx(&rowreq_ctx->
+ tbl_idx,
+ modEoCOnlineCNUMasterIndex_val,
+ modEoCOnlineCNUIndex_val))
+ return MFD_ERROR;
+
+ /*
+ * convert mib index to oid index
+ */
+ rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
+ if (0 !=
+ spc300EoCOnlineSlaveTonemapTable_index_to_oid(&rowreq_ctx->oid_idx,
+ &rowreq_ctx->
+ tbl_idx)) {
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTable_indexes_set */
+
+
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapEntry.spc300EoCOnlineSlaveTonemapRx
+ * spc300EoCOnlineSlaveTonemapRx is subid 1 of spc300EoCOnlineSlaveTonemapEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1.1.1
+ * Description:
+RX tonemap for slave
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+/**
+ * Extract the current value of the spc300EoCOnlineSlaveTonemapRx data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by spc300EoCOnlineSlaveTonemapRx.
+ * On exit, this value should contain the data size (in bytes).
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+*
+ * @note If you need more than (*spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr.
+ * <b>DO NOT</b> free the previous pointer.
+ * The MFD helper will release the memory you allocate.
+ *
+ * @remark If you call this function yourself, you are responsible
+ * for checking if the pointer changed, and freeing any
+ * previously allocated memory. (Not necessary if you pass
+ * in a pointer to static memory, obviously.)
+ */
+int
+spc300EoCOnlineSlaveTonemapRx_get
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr)
+ && (NULL !=
+ *spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr));
+ netsnmp_assert(NULL != spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapRx_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the spc300EoCOnlineSlaveTonemapRx data.
+ * copy (* spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr ) data and (* spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveTonemapRx data
+ */
+ if ((NULL == (*spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr)) ||
+ ((*spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr) <
+ (rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx[0])))) {
+ /*
+ * allocate space for spc300EoCOnlineSlaveTonemapRx data
+ */
+ (*spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(rowreq_ctx->data.
+ spc300EoCOnlineSlaveTonemapRx[0]));
+ if (NULL == (*spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr) =
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx[0]);
+ memcpy((*spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr),
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx,
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapRx[0]));
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapRx_get */
+
+/*---------------------------------------------------------------------
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapEntry.spc300EoCOnlineSlaveTonemapTx
+ * spc300EoCOnlineSlaveTonemapTx is subid 2 of spc300EoCOnlineSlaveTonemapEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1.1.2
+ * Description:
+TX tonemap for slave
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is OCTETSTR (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length.
+ */
+/**
+ * Extract the current value of the spc300EoCOnlineSlaveTonemapTx data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by spc300EoCOnlineSlaveTonemapTx.
+ * On exit, this value should contain the data size (in bytes).
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+*
+ * @note If you need more than (*spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr.
+ * <b>DO NOT</b> free the previous pointer.
+ * The MFD helper will release the memory you allocate.
+ *
+ * @remark If you call this function yourself, you are responsible
+ * for checking if the pointer changed, and freeing any
+ * previously allocated memory. (Not necessary if you pass
+ * in a pointer to static memory, obviously.)
+ */
+int
+spc300EoCOnlineSlaveTonemapTx_get
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr)
+ && (NULL !=
+ *spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr));
+ netsnmp_assert(NULL != spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTx_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the spc300EoCOnlineSlaveTonemapTx data.
+ * copy (* spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr ) data and (* spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for spc300EoCOnlineSlaveTonemapTx data
+ */
+ if ((NULL == (*spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr)) ||
+ ((*spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr) <
+ (rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx[0])))) {
+ /*
+ * allocate space for spc300EoCOnlineSlaveTonemapTx data
+ */
+ (*spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(rowreq_ctx->data.
+ spc300EoCOnlineSlaveTonemapTx[0]));
+ if (NULL == (*spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr) =
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx[0]);
+ memcpy((*spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr),
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx,
+ rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx_len *
+ sizeof(rowreq_ctx->data.spc300EoCOnlineSlaveTonemapTx[0]));
+
+ return MFD_SUCCESS;
+} /* spc300EoCOnlineSlaveTonemapTx_get */
+
+
+
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.h
new file mode 100644
index 0000000000..e777aaf1e2
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_get.h
@@ -0,0 +1,77 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12088 $ of $
+ *
+ * $Id:$
+ *
+ * @file spc300EoCOnlineSlaveTonemapTable_data_get.h
+ *
+ * @addtogroup get
+ *
+ * Prototypes for get functions
+ *
+ * @{
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_DATA_GET_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_DATA_GET_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ *********************************************************************
+ * GET function declarations
+ */
+
+ /*
+ *********************************************************************
+ * GET Table declarations
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+ /*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+ /*
+ * indexes
+ */
+
+ int
+ spc300EoCOnlineSlaveTonemapRx_get
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveTonemapRx_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveTonemapRx_val_ptr_len_ptr);
+ int
+ spc300EoCOnlineSlaveTonemapTx_get
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ char **spc300EoCOnlineSlaveTonemapTx_val_ptr_ptr,
+ size_t *spc300EoCOnlineSlaveTonemapTx_val_ptr_len_ptr);
+
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_indexes_set_tbl_idx
+ (spc300EoCOnlineSlaveTonemapTable_mib_index * tbl_idx,
+ long modEoCOnlineCNUMasterIndex_val,
+ long modEoCOnlineCNUIndex_val);
+ int
+ spc300EoCOnlineSlaveTonemapTable_indexes_set
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ long modEoCOnlineCNUMasterIndex_val,
+ long modEoCOnlineCNUIndex_val);
+
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_DATA_GET_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.c
new file mode 100644
index 0000000000..9f0d6eb0de
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.c
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12077 $ of $
+ *
+ * $Id:$
+ *
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+
+/** @defgroup data_set data_set: Routines to set data
+ *
+ * These routines are used to set the value for individual objects. The
+ * row context is passed, along with the new value.
+ *
+ * @{
+ */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.h
new file mode 100644
index 0000000000..4a4c252352
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_data_set.h
@@ -0,0 +1,28 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12077 $ of $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_DATA_SET_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_DATA_SET_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ *********************************************************************
+ * SET function declarations
+ */
+
+ /*
+ *********************************************************************
+ * SET Table declarations
+ */
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_DATA_SET_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_enums.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_enums.h
new file mode 100644
index 0000000000..8fcafce08d
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_enums.h
@@ -0,0 +1,39 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : generic-table-enums.m2c 12526 2005-07-15 22:41:16Z rstory $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_ENUMS_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_ENUMS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+ * NOTES on enums
+ * ==============
+ *
+ * Value Mapping
+ * -------------
+ * If the values for your data type don't exactly match the
+ * possible values defined by the mib, you should map them
+ * below. For example, a boolean flag (1/0) is usually represented
+ * as a TruthValue in a MIB, which maps to the values (1/2).
+ *
+ */
+/*************************************************************************
+ *************************************************************************
+ *
+ * enum definitions for table spc300EoCOnlineSlaveTonemapTable
+ *
+ *************************************************************************
+ *************************************************************************/
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_ENUMS_H */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.c
new file mode 100644
index 0000000000..d74fdcde12
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.c
@@ -0,0 +1,979 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 15899 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ * *** ***
+ * *** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE ***
+ * *** ***
+ * *** ***
+ * *** THIS FILE DOES NOT CONTAIN ANY USER EDITABLE CODE. ***
+ * *** ***
+ * *** ***
+ * *** THE GENERATED CODE IS INTERNAL IMPLEMENTATION, AND ***
+ * *** ***
+ * *** ***
+ * *** IS SUBJECT TO CHANGE WITHOUT WARNING IN FUTURE RELEASES. ***
+ * *** ***
+ * *** ***
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ */
+
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+
+#include <net-snmp/agent/table_container.h>
+#include <net-snmp/library/container.h>
+
+#include "spc300EoCOnlineSlaveTonemapTable_interface.h"
+
+#include <ctype.h>
+
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table spc300EoCOnlineSlaveTonemapTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPC300EOC-MIB::spc300EoCOnlineSlaveTonemapTable is subid 1 of spc300EoCOnlineSlaveGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.2.2.3.1, length: 12
+ */
+typedef struct spc300EoCOnlineSlaveTonemapTable_interface_ctx_s {
+
+ netsnmp_container *container;
+ netsnmp_cache *cache;
+
+ spc300EoCOnlineSlaveTonemapTable_registration *user_ctx;
+
+ netsnmp_table_registration_info tbl_info;
+
+ netsnmp_baby_steps_access_methods access_multiplexer;
+
+} spc300EoCOnlineSlaveTonemapTable_interface_ctx;
+
+static spc300EoCOnlineSlaveTonemapTable_interface_ctx
+ spc300EoCOnlineSlaveTonemapTable_if_ctx;
+
+static void
+_spc300EoCOnlineSlaveTonemapTable_container_init
+(spc300EoCOnlineSlaveTonemapTable_interface_ctx * if_ctx);
+static void
+_spc300EoCOnlineSlaveTonemapTable_container_shutdown
+(spc300EoCOnlineSlaveTonemapTable_interface_ctx * if_ctx);
+
+
+netsnmp_container *
+spc300EoCOnlineSlaveTonemapTable_container_get(void)
+{
+ return spc300EoCOnlineSlaveTonemapTable_if_ctx.container;
+}
+
+spc300EoCOnlineSlaveTonemapTable_registration *
+spc300EoCOnlineSlaveTonemapTable_registration_get(void)
+{
+ return spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx;
+}
+
+spc300EoCOnlineSlaveTonemapTable_registration *
+spc300EoCOnlineSlaveTonemapTable_registration_set
+ (spc300EoCOnlineSlaveTonemapTable_registration * newreg)
+{
+ spc300EoCOnlineSlaveTonemapTable_registration *old =
+ spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx;
+ spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx = newreg;
+ return old;
+}
+
+int
+spc300EoCOnlineSlaveTonemapTable_container_size(void)
+{
+ return CONTAINER_SIZE(spc300EoCOnlineSlaveTonemapTable_if_ctx.
+ container);
+}
+
+/*
+ * mfd multiplexer modes
+ */
+static Netsnmp_Node_Handler
+ _mfd_spc300EoCOnlineSlaveTonemapTable_pre_request;
+static Netsnmp_Node_Handler
+ _mfd_spc300EoCOnlineSlaveTonemapTable_post_request;
+static Netsnmp_Node_Handler
+ _mfd_spc300EoCOnlineSlaveTonemapTable_object_lookup;
+static Netsnmp_Node_Handler
+ _mfd_spc300EoCOnlineSlaveTonemapTable_get_values;
+/**
+ * @internal
+ * Initialize the table spc300EoCOnlineSlaveTonemapTable
+ * (Define its contents and how it's structured)
+ */
+void
+_spc300EoCOnlineSlaveTonemapTable_initialize_interface
+ (spc300EoCOnlineSlaveTonemapTable_registration * reg_ptr, u_long flags)
+{
+ netsnmp_baby_steps_access_methods *access_multiplexer =
+ &spc300EoCOnlineSlaveTonemapTable_if_ctx.access_multiplexer;
+ netsnmp_table_registration_info *tbl_info =
+ &spc300EoCOnlineSlaveTonemapTable_if_ctx.tbl_info;
+ netsnmp_handler_registration *reginfo;
+ netsnmp_mib_handler *handler;
+ int mfd_modes = 0;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_spc300EoCOnlineSlaveTonemapTable_initialize_interface", "called\n"));
+
+
+ /*************************************************
+ *
+ * save interface context for spc300EoCOnlineSlaveTonemapTable
+ */
+ /*
+ * Setting up the table's definition
+ */
+ netsnmp_table_helper_add_indexes(tbl_info, ASN_INTEGER,
+ /** index: modEoCOnlineCNUMasterIndex */
+ ASN_INTEGER,
+ /** index: modEoCOnlineCNUIndex */
+ 0);
+
+ /*
+ * Define the minimum and maximum accessible columns. This
+ * optimizes retrival.
+ */
+ tbl_info->min_column = SPC300EOCONLINESLAVETONEMAPTABLE_MIN_COL;
+ tbl_info->max_column = SPC300EOCONLINESLAVETONEMAPTABLE_MAX_COL;
+
+ /*
+ * save users context
+ */
+ spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx = reg_ptr;
+
+ /*
+ * call data access initialization code
+ */
+ spc300EoCOnlineSlaveTonemapTable_init_data(reg_ptr);
+
+ /*
+ * set up the container
+ */
+ _spc300EoCOnlineSlaveTonemapTable_container_init
+ (&spc300EoCOnlineSlaveTonemapTable_if_ctx);
+ if (NULL == spc300EoCOnlineSlaveTonemapTable_if_ctx.container) {
+ snmp_log(LOG_ERR,
+ "could not initialize container for spc300EoCOnlineSlaveTonemapTable\n");
+ return;
+ }
+
+ /*
+ * access_multiplexer: REQUIRED wrapper for get request handling
+ */
+ access_multiplexer->object_lookup =
+ _mfd_spc300EoCOnlineSlaveTonemapTable_object_lookup;
+ access_multiplexer->get_values =
+ _mfd_spc300EoCOnlineSlaveTonemapTable_get_values;
+
+ /*
+ * no wrappers yet
+ */
+ access_multiplexer->pre_request =
+ _mfd_spc300EoCOnlineSlaveTonemapTable_pre_request;
+ access_multiplexer->post_request =
+ _mfd_spc300EoCOnlineSlaveTonemapTable_post_request;
+
+
+ /*************************************************
+ *
+ * Create a registration, save our reg data, register table.
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveTonemapTable:init_spc300EoCOnlineSlaveTonemapTable", "Registering spc300EoCOnlineSlaveTonemapTable as a mibs-for-dummies table.\n"));
+ handler =
+ netsnmp_baby_steps_access_multiplexer_get(access_multiplexer);
+ reginfo =
+ netsnmp_handler_registration_create
+ ("spc300EoCOnlineSlaveTonemapTable", handler,
+ spc300EoCOnlineSlaveTonemapTable_oid,
+ spc300EoCOnlineSlaveTonemapTable_oid_size,
+ HANDLER_CAN_BABY_STEP | HANDLER_CAN_RONLY);
+ if (NULL == reginfo) {
+ snmp_log(LOG_ERR,
+ "error registering table spc300EoCOnlineSlaveTonemapTable\n");
+ return;
+ }
+ reginfo->my_reg_void = &spc300EoCOnlineSlaveTonemapTable_if_ctx;
+
+ /*************************************************
+ *
+ * set up baby steps handler, create it and inject it
+ */
+ if (access_multiplexer->object_lookup)
+ mfd_modes |= BABY_STEP_OBJECT_LOOKUP;
+ if (access_multiplexer->set_values)
+ mfd_modes |= BABY_STEP_SET_VALUES;
+ if (access_multiplexer->irreversible_commit)
+ mfd_modes |= BABY_STEP_IRREVERSIBLE_COMMIT;
+ if (access_multiplexer->object_syntax_checks)
+ mfd_modes |= BABY_STEP_CHECK_OBJECT;
+
+ if (access_multiplexer->pre_request)
+ mfd_modes |= BABY_STEP_PRE_REQUEST;
+ if (access_multiplexer->post_request)
+ mfd_modes |= BABY_STEP_POST_REQUEST;
+
+ if (access_multiplexer->undo_setup)
+ mfd_modes |= BABY_STEP_UNDO_SETUP;
+ if (access_multiplexer->undo_cleanup)
+ mfd_modes |= BABY_STEP_UNDO_CLEANUP;
+ if (access_multiplexer->undo_sets)
+ mfd_modes |= BABY_STEP_UNDO_SETS;
+
+ if (access_multiplexer->row_creation)
+ mfd_modes |= BABY_STEP_ROW_CREATE;
+ if (access_multiplexer->consistency_checks)
+ mfd_modes |= BABY_STEP_CHECK_CONSISTENCY;
+ if (access_multiplexer->commit)
+ mfd_modes |= BABY_STEP_COMMIT;
+ if (access_multiplexer->undo_commit)
+ mfd_modes |= BABY_STEP_UNDO_COMMIT;
+
+ handler = netsnmp_baby_steps_handler_get(mfd_modes);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject row_merge helper with prefix rootoid_len + 2 (entry.col)
+ */
+ handler = netsnmp_get_row_merge_handler(reginfo->rootoid_len + 2);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject container_table helper
+ */
+ handler =
+ netsnmp_container_table_handler_get(tbl_info,
+ spc300EoCOnlineSlaveTonemapTable_if_ctx.
+ container,
+ TABLE_CONTAINER_KEY_NETSNMP_INDEX);
+ netsnmp_inject_handler(reginfo, handler);
+
+ /*************************************************
+ *
+ * inject cache helper
+ */
+ if (NULL != spc300EoCOnlineSlaveTonemapTable_if_ctx.cache) {
+ handler =
+ netsnmp_cache_handler_get
+ (spc300EoCOnlineSlaveTonemapTable_if_ctx.cache);
+ netsnmp_inject_handler(reginfo, handler);
+ }
+
+ /*
+ * register table
+ */
+ netsnmp_register_table(reginfo, tbl_info);
+
+} /* _spc300EoCOnlineSlaveTonemapTable_initialize_interface */
+
+/**
+ * @internal
+ * Shutdown the table spc300EoCOnlineSlaveTonemapTable
+ */
+void
+_spc300EoCOnlineSlaveTonemapTable_shutdown_interface
+ (spc300EoCOnlineSlaveTonemapTable_registration * reg_ptr)
+{
+ /*
+ * shutdown the container
+ */
+ _spc300EoCOnlineSlaveTonemapTable_container_shutdown
+ (&spc300EoCOnlineSlaveTonemapTable_if_ctx);
+}
+
+void
+spc300EoCOnlineSlaveTonemapTable_valid_columns_set(netsnmp_column_info *vc)
+{
+ spc300EoCOnlineSlaveTonemapTable_if_ctx.tbl_info.valid_columns = vc;
+} /* spc300EoCOnlineSlaveTonemapTable_valid_columns_set */
+
+/**
+ * @internal
+ * convert the index component stored in the context to an oid
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_index_to_oid(netsnmp_index * oid_idx,
+ spc300EoCOnlineSlaveTonemapTable_mib_index
+ * mib_idx)
+{
+ int err = SNMP_ERR_NOERROR;
+
+ /*
+ * temp storage for parsing indexes
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUIndex;
+
+ /*
+ * set up varbinds
+ */
+ memset(&var_modEoCOnlineCNUMasterIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUMasterIndex));
+ var_modEoCOnlineCNUMasterIndex.type = ASN_INTEGER;
+ memset(&var_modEoCOnlineCNUIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUIndex));
+ var_modEoCOnlineCNUIndex.type = ASN_INTEGER;
+
+ /*
+ * chain temp index varbinds together
+ */
+ var_modEoCOnlineCNUMasterIndex.next_variable =
+ &var_modEoCOnlineCNUIndex;
+ var_modEoCOnlineCNUIndex.next_variable = NULL;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_index_to_oid", "called\n"));
+
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ snmp_set_var_value(&var_modEoCOnlineCNUMasterIndex,
+ (u_char *) & mib_idx->modEoCOnlineCNUMasterIndex,
+ sizeof(mib_idx->modEoCOnlineCNUMasterIndex));
+
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ snmp_set_var_value(&var_modEoCOnlineCNUIndex,
+ (u_char *) & mib_idx->modEoCOnlineCNUIndex,
+ sizeof(mib_idx->modEoCOnlineCNUIndex));
+
+
+ err = build_oid_noalloc(oid_idx->oids, oid_idx->len, &oid_idx->len,
+ NULL, 0, &var_modEoCOnlineCNUMasterIndex);
+ if (err)
+ snmp_log(LOG_ERR, "error %d converting index to oid\n", err);
+
+ /*
+ * parsing may have allocated memory. free it.
+ */
+ snmp_reset_var_buffers(&var_modEoCOnlineCNUMasterIndex);
+
+ return err;
+} /* spc300EoCOnlineSlaveTonemapTable_index_to_oid */
+
+/**
+ * extract spc300EoCOnlineSlaveTonemapTable indexes from a netsnmp_index
+ *
+ * @retval SNMP_ERR_NOERROR : no error
+ * @retval SNMP_ERR_GENERR : error
+ */
+int
+spc300EoCOnlineSlaveTonemapTable_index_from_oid(netsnmp_index * oid_idx,
+ spc300EoCOnlineSlaveTonemapTable_mib_index
+ * mib_idx)
+{
+ int err = SNMP_ERR_NOERROR;
+
+ /*
+ * temp storage for parsing indexes
+ */
+ /*
+ * modEoCOnlineCNUMasterIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUMasterIndex;
+ /*
+ * modEoCOnlineCNUIndex(2)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ netsnmp_variable_list var_modEoCOnlineCNUIndex;
+
+ /*
+ * set up varbinds
+ */
+ memset(&var_modEoCOnlineCNUMasterIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUMasterIndex));
+ var_modEoCOnlineCNUMasterIndex.type = ASN_INTEGER;
+ memset(&var_modEoCOnlineCNUIndex, 0x00,
+ sizeof(var_modEoCOnlineCNUIndex));
+ var_modEoCOnlineCNUIndex.type = ASN_INTEGER;
+
+ /*
+ * chain temp index varbinds together
+ */
+ var_modEoCOnlineCNUMasterIndex.next_variable =
+ &var_modEoCOnlineCNUIndex;
+ var_modEoCOnlineCNUIndex.next_variable = NULL;
+
+
+ DEBUGMSGTL(("verbose:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_index_from_oid", "called\n"));
+
+ /*
+ * parse the oid into the individual index components
+ */
+ err = parse_oid_indexes(oid_idx->oids, oid_idx->len,
+ &var_modEoCOnlineCNUMasterIndex);
+ if (err == SNMP_ERR_NOERROR) {
+ /*
+ * copy out values
+ */
+ mib_idx->modEoCOnlineCNUMasterIndex =
+ *((long *) var_modEoCOnlineCNUMasterIndex.val.string);
+ mib_idx->modEoCOnlineCNUIndex =
+ *((long *) var_modEoCOnlineCNUIndex.val.string);
+
+
+ }
+
+ /*
+ * parsing may have allocated memory. free it.
+ */
+ snmp_reset_var_buffers(&var_modEoCOnlineCNUMasterIndex);
+
+ return err;
+} /* spc300EoCOnlineSlaveTonemapTable_index_from_oid */
+
+
+/*
+ *********************************************************************
+ * @internal
+ * allocate resources for a spc300EoCOnlineSlaveTonemapTable_rowreq_ctx
+ */
+spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *
+spc300EoCOnlineSlaveTonemapTable_allocate_rowreq_ctx(void *user_init_ctx)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx =
+ SNMP_MALLOC_TYPEDEF(spc300EoCOnlineSlaveTonemapTable_rowreq_ctx);
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_allocate_rowreq_ctx", "called\n"));
+
+ if (NULL == rowreq_ctx) {
+ snmp_log(LOG_ERR, "Couldn't allocate memory for a "
+ "spc300EoCOnlineSlaveTonemapTable_rowreq_ctx.\n");
+ return NULL;
+ }
+
+ rowreq_ctx->oid_idx.oids = rowreq_ctx->oid_tmp;
+
+ rowreq_ctx->spc300EoCOnlineSlaveTonemapTable_data_list = NULL;
+
+ /*
+ * if we allocated data, call init routine
+ */
+ if (!(rowreq_ctx->rowreq_flags & MFD_ROW_DATA_FROM_USER)) {
+ if (SNMPERR_SUCCESS !=
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_init(rowreq_ctx,
+ user_init_ctx))
+ {
+ spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx
+ (rowreq_ctx);
+ rowreq_ctx = NULL;
+ }
+ }
+
+ return rowreq_ctx;
+} /* spc300EoCOnlineSlaveTonemapTable_allocate_rowreq_ctx */
+
+/*
+ * @internal
+ * release resources for a spc300EoCOnlineSlaveTonemapTable_rowreq_ctx
+ */
+void
+spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx_cleanup(rowreq_ctx);
+
+ /*
+ * free index oid pointer
+ */
+ if (rowreq_ctx->oid_idx.oids != rowreq_ctx->oid_tmp)
+ free(rowreq_ctx->oid_idx.oids);
+
+ SNMP_FREE(rowreq_ctx);
+} /* spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveTonemapTable_pre_request(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ int rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_pre_request", "called\n"));
+
+ if (1 != netsnmp_row_merge_status_first(reginfo, agtreq_info)) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable",
+ "skipping additional pre_request\n"));
+ return SNMP_ERR_NOERROR;
+ }
+
+ rc = spc300EoCOnlineSlaveTonemapTable_pre_request
+ (spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx);
+ if (MFD_SUCCESS != rc) {
+ /*
+ * nothing we can do about it but log it
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveTonemapTable", "error %d from "
+ "spc300EoCOnlineSlaveTonemapTable_pre_request\n", rc));
+ netsnmp_request_set_error_all(requests, SNMP_VALIDATE_ERR(rc));
+ }
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveTonemapTable_pre_request */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveTonemapTable_post_request(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+ int rc, packet_rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_post_request", "called\n"));
+
+ /*
+ * release row context, if deleted
+ */
+ if (rowreq_ctx && (rowreq_ctx->rowreq_flags & MFD_ROW_DELETED))
+ spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx(rowreq_ctx);
+
+ /*
+ * wait for last call before calling user
+ */
+ if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable",
+ "waiting for last post_request\n"));
+ return SNMP_ERR_NOERROR;
+ }
+
+ packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0);
+ rc = spc300EoCOnlineSlaveTonemapTable_post_request
+ (spc300EoCOnlineSlaveTonemapTable_if_ctx.user_ctx, packet_rc);
+ if (MFD_SUCCESS != rc) {
+ /*
+ * nothing we can do about it but log it
+ */
+ DEBUGMSGTL(("spc300EoCOnlineSlaveTonemapTable", "error %d from "
+ "spc300EoCOnlineSlaveTonemapTable_post_request\n",
+ rc));
+ }
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveTonemapTable_post_request */
+
+/**
+ * @internal
+ * wrapper
+ */
+static int
+_mfd_spc300EoCOnlineSlaveTonemapTable_object_lookup(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ int rc = SNMP_ERR_NOERROR;
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_object_lookup", "called\n"));
+
+ /*
+ * get our context from mfd
+ * spc300EoCOnlineSlaveTonemapTable_interface_ctx *if_ctx =
+ * (spc300EoCOnlineSlaveTonemapTable_interface_ctx *)reginfo->my_reg_void;
+ */
+
+ if (NULL == rowreq_ctx) {
+ rc = SNMP_ERR_NOCREATION;
+ }
+
+ if (MFD_SUCCESS != rc)
+ netsnmp_request_set_error_all(requests, rc);
+ else
+ spc300EoCOnlineSlaveTonemapTable_row_prep(rowreq_ctx);
+
+ return SNMP_VALIDATE_ERR(rc);
+} /* _mfd_spc300EoCOnlineSlaveTonemapTable_object_lookup */
+
+/***********************************************************************
+ *
+ * GET processing
+ *
+ ***********************************************************************/
+/*
+ * @internal
+ * Retrieve the value for a particular column
+ */
+NETSNMP_STATIC_INLINE int
+_spc300EoCOnlineSlaveTonemapTable_get_column
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx,
+ netsnmp_variable_list * var, int column)
+{
+ int rc = SNMPERR_SUCCESS;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_get_column", "called for %d\n", column));
+
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ switch (column) {
+
+ /*
+ * spc300EoCOnlineSlaveTonemapRx(1)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ case COLUMN_SPC300EOCONLINESLAVETONEMAPRX:
+ var->type = ASN_OCTET_STR;
+ rc = spc300EoCOnlineSlaveTonemapRx_get(rowreq_ctx,
+ (char **) &var->val.string,
+ &var->val_len);
+ break;
+
+ /*
+ * spc300EoCOnlineSlaveTonemapTx(2)/OCTETSTR/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
+ */
+ case COLUMN_SPC300EOCONLINESLAVETONEMAPTX:
+ var->type = ASN_OCTET_STR;
+ rc = spc300EoCOnlineSlaveTonemapTx_get(rowreq_ctx,
+ (char **) &var->val.string,
+ &var->val_len);
+ break;
+
+ default:
+ if (SPC300EOCONLINESLAVETONEMAPTABLE_MIN_COL <= column
+ && column <= SPC300EOCONLINESLAVETONEMAPTABLE_MAX_COL) {
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_get_column", "assume column %d is reserved\n", column));
+ rc = MFD_SKIP;
+ } else {
+ snmp_log(LOG_ERR,
+ "unknown column %d in _spc300EoCOnlineSlaveTonemapTable_get_column\n",
+ column);
+ }
+ break;
+ }
+
+ return rc;
+} /* _spc300EoCOnlineSlaveTonemapTable_get_column */
+
+int
+_mfd_spc300EoCOnlineSlaveTonemapTable_get_values(netsnmp_mib_handler
+ *handler,
+ netsnmp_handler_registration
+ *reginfo,
+ netsnmp_agent_request_info
+ *agtreq_info,
+ netsnmp_request_info
+ *requests)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx =
+ netsnmp_container_table_row_extract(requests);
+ netsnmp_table_request_info *tri;
+ u_char *old_string;
+ void (*dataFreeHook) (void *);
+ int rc;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_mfd_spc300EoCOnlineSlaveTonemapTable_get_values", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ for (; requests; requests = requests->next) {
+ /*
+ * save old pointer, so we can free it if replaced
+ */
+ old_string = requests->requestvb->val.string;
+ dataFreeHook = requests->requestvb->dataFreeHook;
+ if (NULL == requests->requestvb->val.string) {
+ requests->requestvb->val.string = requests->requestvb->buf;
+ requests->requestvb->val_len =
+ sizeof(requests->requestvb->buf);
+ } else if (requests->requestvb->buf ==
+ requests->requestvb->val.string) {
+ if (requests->requestvb->val_len !=
+ sizeof(requests->requestvb->buf))
+ requests->requestvb->val_len =
+ sizeof(requests->requestvb->buf);
+ }
+
+ /*
+ * get column data
+ */
+ tri = netsnmp_extract_table_info(requests);
+ if (NULL == tri)
+ continue;
+
+ rc = _spc300EoCOnlineSlaveTonemapTable_get_column(rowreq_ctx,
+ requests->
+ requestvb,
+ tri->colnum);
+ if (rc) {
+ if (MFD_SKIP == rc) {
+ requests->requestvb->type = SNMP_NOSUCHINSTANCE;
+ rc = SNMP_ERR_NOERROR;
+ }
+ } else if (NULL == requests->requestvb->val.string) {
+ snmp_log(LOG_ERR, "NULL varbind data pointer!\n");
+ rc = SNMP_ERR_GENERR;
+ }
+ if (rc)
+ netsnmp_request_set_error(requests, SNMP_VALIDATE_ERR(rc));
+
+ /*
+ * if the buffer wasn't used previously for the old data (i.e. it
+ * was allcoated memory) and the get routine replaced the pointer,
+ * we need to free the previous pointer.
+ */
+ if (old_string && (old_string != requests->requestvb->buf) &&
+ (requests->requestvb->val.string != old_string)) {
+ if (dataFreeHook)
+ (*dataFreeHook) (old_string);
+ else
+ free(old_string);
+ }
+ } /* for results */
+
+ return SNMP_ERR_NOERROR;
+} /* _mfd_spc300EoCOnlineSlaveTonemapTable_get_values */
+
+
+/***********************************************************************
+ *
+ * SET processing
+ *
+ ***********************************************************************/
+
+/*
+ * SET PROCESSING NOT APPLICABLE (per MIB or user setting)
+ */
+/***********************************************************************
+ *
+ * DATA ACCESS
+ *
+ ***********************************************************************/
+static void _container_free(netsnmp_container * container);
+
+/**
+ * @internal
+ */
+static int
+_cache_load(netsnmp_cache * cache, void *vmagic)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_cache_load",
+ "called\n"));
+
+ if ((NULL == cache) || (NULL == cache->magic)) {
+ snmp_log(LOG_ERR,
+ "invalid cache for spc300EoCOnlineSlaveTonemapTable_cache_load\n");
+ return -1;
+ }
+
+ /** should only be called for an invalid or expired cache */
+ netsnmp_assert((0 == cache->valid) || (1 == cache->expired));
+
+ /*
+ * call user code
+ */
+ return
+ spc300EoCOnlineSlaveTonemapTable_container_load((netsnmp_container
+ *) cache->magic);
+} /* _cache_load */
+
+/**
+ * @internal
+ */
+static void
+_cache_free(netsnmp_cache * cache, void *magic)
+{
+ netsnmp_container *container;
+
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_cache_free",
+ "called\n"));
+
+ if ((NULL == cache) || (NULL == cache->magic)) {
+ snmp_log(LOG_ERR,
+ "invalid cache in spc300EoCOnlineSlaveTonemapTable_cache_free\n");
+ return;
+ }
+
+ container = (netsnmp_container *) cache->magic;
+
+ _container_free(container);
+} /* _cache_free */
+
+/**
+ * @internal
+ */
+static void
+_container_item_free(spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *
+ rowreq_ctx, void *context)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_container_item_free", "called\n"));
+
+ if (NULL == rowreq_ctx)
+ return;
+
+ spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx(rowreq_ctx);
+} /* _container_item_free */
+
+/**
+ * @internal
+ */
+static void
+_container_free(netsnmp_container * container)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_container_free", "called\n"));
+
+ if (NULL == container) {
+ snmp_log(LOG_ERR,
+ "invalid container in spc300EoCOnlineSlaveTonemapTable_container_free\n");
+ return;
+ }
+
+ /*
+ * call user code
+ */
+ spc300EoCOnlineSlaveTonemapTable_container_free(container);
+
+ /*
+ * free all items. inefficient, but easy.
+ */
+ CONTAINER_CLEAR(container,
+ (netsnmp_container_obj_func *) _container_item_free,
+ NULL);
+} /* _container_free */
+
+/**
+ * @internal
+ * initialize the container with functions or wrappers
+ */
+void
+_spc300EoCOnlineSlaveTonemapTable_container_init
+ (spc300EoCOnlineSlaveTonemapTable_interface_ctx * if_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_spc300EoCOnlineSlaveTonemapTable_container_init", "called\n"));
+
+ /*
+ * cache init
+ */
+ if_ctx->cache = netsnmp_cache_create(30, /* timeout in seconds */
+ _cache_load, _cache_free,
+ spc300EoCOnlineSlaveTonemapTable_oid,
+ spc300EoCOnlineSlaveTonemapTable_oid_size);
+
+ if (NULL == if_ctx->cache) {
+ snmp_log(LOG_ERR,
+ "error creating cache for spc300EoCOnlineSlaveTonemapTable\n");
+ return;
+ }
+
+ if_ctx->cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET;
+
+ spc300EoCOnlineSlaveTonemapTable_container_init(&if_ctx->container,
+ if_ctx->cache);
+ if (NULL == if_ctx->container)
+ if_ctx->container =
+ netsnmp_container_find
+ ("spc300EoCOnlineSlaveTonemapTable:table_container");
+ if (NULL == if_ctx->container) {
+ snmp_log(LOG_ERR, "error creating container in "
+ "spc300EoCOnlineSlaveTonemapTable_container_init\n");
+ return;
+ }
+
+ if (NULL != if_ctx->cache)
+ if_ctx->cache->magic = (void *) if_ctx->container;
+} /* _spc300EoCOnlineSlaveTonemapTable_container_init */
+
+/**
+ * @internal
+ * shutdown the container with functions or wrappers
+ */
+void
+_spc300EoCOnlineSlaveTonemapTable_container_shutdown
+ (spc300EoCOnlineSlaveTonemapTable_interface_ctx * if_ctx)
+{
+ DEBUGMSGTL(("internal:spc300EoCOnlineSlaveTonemapTable:_spc300EoCOnlineSlaveTonemapTable_container_shutdown", "called\n"));
+
+ spc300EoCOnlineSlaveTonemapTable_container_shutdown(if_ctx->container);
+
+ _container_free(if_ctx->container);
+
+} /* _spc300EoCOnlineSlaveTonemapTable_container_shutdown */
+
+
+spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *
+spc300EoCOnlineSlaveTonemapTable_row_find_by_mib_index
+ (spc300EoCOnlineSlaveTonemapTable_mib_index * mib_idx)
+{
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx *rowreq_ctx;
+ oid oid_tmp[MAX_OID_LEN];
+ netsnmp_index oid_idx;
+ int rc;
+
+ /*
+ * set up storage for OID
+ */
+ oid_idx.oids = oid_tmp;
+ oid_idx.len = sizeof(oid_tmp) / sizeof(oid);
+
+ /*
+ * convert
+ */
+ rc = spc300EoCOnlineSlaveTonemapTable_index_to_oid(&oid_idx, mib_idx);
+ if (MFD_SUCCESS != rc)
+ return NULL;
+
+ rowreq_ctx =
+ CONTAINER_FIND(spc300EoCOnlineSlaveTonemapTable_if_ctx.container,
+ &oid_idx);
+
+ return rowreq_ctx;
+}
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.h
new file mode 100644
index 0000000000..a1ebe6656d
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_interface.h
@@ -0,0 +1,103 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 15899 $ of $
+ *
+ * $Id:$
+ */
+/** @ingroup interface: Routines to interface to Net-SNMP
+ *
+ * \warning This code should not be modified, called directly,
+ * or used to interpret functionality. It is subject to
+ * change at any time.
+ *
+ * @{
+ */
+/*
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ * *** ***
+ * *** NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE ***
+ * *** ***
+ * *** ***
+ * *** THIS FILE DOES NOT CONTAIN ANY USER EDITABLE CODE. ***
+ * *** ***
+ * *** ***
+ * *** THE GENERATED CODE IS INTERNAL IMPLEMENTATION, AND ***
+ * *** ***
+ * *** ***
+ * *** IS SUBJECT TO CHANGE WITHOUT WARNING IN FUTURE RELEASES. ***
+ * *** ***
+ * *** ***
+ * *********************************************************************
+ * *********************************************************************
+ * *********************************************************************
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_INTERFACE_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_INTERFACE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "spc300EoCOnlineSlaveTonemapTable.h"
+
+
+ /*
+ ********************************************************************
+ * Table declarations
+ */
+
+ /*
+ * PUBLIC interface initialization routine
+ */
+ void
+ _spc300EoCOnlineSlaveTonemapTable_initialize_interface
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_ctx,
+ u_long flags);
+ void
+ _spc300EoCOnlineSlaveTonemapTable_shutdown_interface
+ (spc300EoCOnlineSlaveTonemapTable_registration * user_ctx);
+
+ spc300EoCOnlineSlaveTonemapTable_registration
+ *spc300EoCOnlineSlaveTonemapTable_registration_get(void);
+
+ spc300EoCOnlineSlaveTonemapTable_registration
+ *spc300EoCOnlineSlaveTonemapTable_registration_set
+ (spc300EoCOnlineSlaveTonemapTable_registration * newreg);
+
+ netsnmp_container
+ *spc300EoCOnlineSlaveTonemapTable_container_get(void);
+ int spc300EoCOnlineSlaveTonemapTable_container_size(void);
+
+ spc300EoCOnlineSlaveTonemapTable_rowreq_ctx
+ *spc300EoCOnlineSlaveTonemapTable_allocate_rowreq_ctx(void *);
+ void
+ spc300EoCOnlineSlaveTonemapTable_release_rowreq_ctx
+ (spc300EoCOnlineSlaveTonemapTable_rowreq_ctx * rowreq_ctx);
+
+ int
+ spc300EoCOnlineSlaveTonemapTable_index_to_oid(netsnmp_index *
+ oid_idx,
+ spc300EoCOnlineSlaveTonemapTable_mib_index
+ * mib_idx);
+ int
+ spc300EoCOnlineSlaveTonemapTable_index_from_oid(netsnmp_index *
+ oid_idx,
+ spc300EoCOnlineSlaveTonemapTable_mib_index
+ * mib_idx);
+
+ /*
+ * access to certain internals. use with caution!
+ */
+ void
+ spc300EoCOnlineSlaveTonemapTable_valid_columns_set
+ (netsnmp_column_info *vc);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_INTERFACE_H */
+/** @} */
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_oids.h b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_oids.h
new file mode 100644
index 0000000000..ee98b43919
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/spc300-eoc-mib/spc300EoCSlaveGroup/spc300EoCOnlineSlaveGroup/spc300EoCOnlineSlaveTonemapTable/spc300EoCOnlineSlaveTonemapTable_oids.h
@@ -0,0 +1,33 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : generic-table-oids.m2c 12855 2005-09-27 15:56:08Z rstory $
+ *
+ * $Id:$
+ */
+#ifndef SPC300EOCONLINESLAVETONEMAPTABLE_OIDS_H
+#define SPC300EOCONLINESLAVETONEMAPTABLE_OIDS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ /*
+ * column number definitions for table spc300EoCOnlineSlaveTonemapTable
+ */
+#define SPC300EOCONLINESLAVETONEMAPTABLE_OID 1,3,6,1,4,1,22764,3,2,2,3,1
+
+#define COLUMN_SPC300EOCONLINESLAVETONEMAPRX 1
+
+#define COLUMN_SPC300EOCONLINESLAVETONEMAPTX 2
+
+
+#define SPC300EOCONLINESLAVETONEMAPTABLE_MIN_COL COLUMN_SPC300EOCONLINESLAVETONEMAPRX
+#define SPC300EOCONLINESLAVETONEMAPTABLE_MAX_COL COLUMN_SPC300EOCONLINESLAVETONEMAPTX
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* SPC300EOCONLINESLAVETONEMAPTABLE_OIDS_H */