diff options
Diffstat (limited to 'man/default_store.3.top')
-rw-r--r-- | man/default_store.3.top | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/man/default_store.3.top b/man/default_store.3.top new file mode 100644 index 0000000..cc04822 --- /dev/null +++ b/man/default_store.3.top @@ -0,0 +1,83 @@ +.TH DEFAULT_STORE 3 "25 Jun 2002" VVERSIONINFO "Net-SNMP" +.SH NAME +default_store \- generic storage of global data. +.SH SYNOPSIS +.B #include <net-snmp/net-snmp-config.h> +.br +.B #include <net-snmp/config_api.h> + +.BI "int netsnmp_ds_set_boolean(int " store ", int " which ", int " val ");" +.br +.BI "int netsnmp_ds_get_boolean(int " store ", int " which ");" +.br +.BI "int netsnmp_ds_set_int(int " store ", int " which ", int " val ");" +.br +.BI "int netsnmp_ds_get_int(int " store ", int " which ");" +.br +.BI "int netsnmp_ds_set_string(int " store ", int " which ", " +.br +.BI " const char *" val ");" +.br +.BI "char *netsnmp_ds_get_string(int " store ", int " which ");" +.br +.BI "int netsnmp_ds_register_config(u_char " type ", " +.br +.BI " const char *" ftype "," +.br +.BI " const char *" token "," +.br +.BI " int " store ", int " which ");" +.br +.BI "int netsnmp_ds_register_premib(u_char " type ", " +.br +.BI " const char *" ftype "," +.br +.BI " const char *" token "," +.br +.BI " int " store ", int " which ");" +.br +.BI "void netsnmp_ds_shutdown(void);" +.fi +.SH DESCRIPTION +The purpose of the default storage is three-fold: +.IP 1) +To create a global storage space without creating a whole bunch of +globally accessible variables or a whole bunch of access functions to +work with more privately restricted variables. +.IP 2) +To provide a single location where the thread locking needs to be +implemented. At the time of this writing, however, thread locking is not +yet in place. +.IP 3) +To reduce the number of cross dependencies between code pieces that +may or may not be linked together in the long run. This provides for a +single location in which configuration data, for example, can be +stored for a separate section of code that may not be linked in to +the application in question. +.PP +The functions defined here implement these goals. +.PP +Currently, three data types are supported: booleans, integers, and +strings. Each of these data types have separate storage +spaces. In addition, the storage space for each data type is divided +further by the application level. Currently, there are two storage +spaces. The first is reserved for the SNMP library itself. The second +is intended for use in applications and is not modified or checked by +the library, and, therefore, this is the space usable by you. +.PP +You can think of these storage spaces as being 3 arrays, something +like bool_storage[storeid][which], int_storage[storeid][which], and +string_storage[storeid][which]. The data is then accessed through the +functions defined below. For data you wish to store, you should use a +.I store +parameter of +.BR NETSNMP_DS_APPLICATION_ID . +.PP +The storage space used by the library (for which the +.I store +parameter is +.BR NETSNMP_DS_LIBRARY_ID ) +is defined in the default_store.h file, which currently contains the +following defines: +.PP +.nf |