Mercurial > flash_v2
diff packages/net/snmp/lib/current/include/default_store.h @ 103:95f3e12a6327 ecos-sw-2000-06-23
Merge from eCos master repository on 2000-06-23-16:41:10-BST
| author | jlarmour |
|---|---|
| date | Fri, 23 Jun 2000 17:06:31 +0000 |
| parents | |
| children | e0c0827131d1 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/net/snmp/lib/current/include/default_store.h @@ -0,0 +1,166 @@ +//========================================================================== +// +// ./lib/current/include/default_store.h +// +// +//========================================================================== +//####COPYRIGHTBEGIN#### +// +// ------------------------------------------- +// The contents of this file are subject to the Red Hat eCos Public License +// Version 1.1 (the "License"); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://www.redhat.com/ +// +// Software distributed under the License is distributed on an "AS IS" +// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +// License for the specific language governing rights and limitations under +// the License. +// +// The Original Code is eCos - Embedded Configurable Operating System, +// released September 30, 1998. +// +// The Initial Developer of the Original Code is Red Hat. +// Portions created by Red Hat are +// Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +// All Rights Reserved. +// ------------------------------------------- +// +//####COPYRIGHTEND#### +//####UCDSNMPCOPYRIGHTBEGIN#### +// +// ------------------------------------------- +// +// Portions of this software may have been derived from the UCD-SNMP +// project, <http://ucd-snmp.ucdavis.edu/> from the University of +// California at Davis, which was originally based on the Carnegie Mellon +// University SNMP implementation. Portions of this software are therefore +// covered by the appropriate copyright disclaimers included herein. +// +// The release used was version 4.1.2 of May 2000. "ucd-snmp-4.1.2" +// ------------------------------------------- +// +//####UCDSNMPCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): hmt +// Contributors: hmt +// Date: 2000-05-30 +// Purpose: Port of UCD-SNMP distribution to eCos. +// Description: +// +// +//####DESCRIPTIONEND#### +// +//========================================================================== +/******************************************************************** + Copyright 1989, 1991, 1992 by Carnegie Mellon University + + Derivative Work - +Copyright 1996, 1998, 1999, 2000 The Regents of the University of California + + All Rights Reserved + +Permission to use, copy, modify and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appears in all copies and +that both that copyright notice and this permission notice appear in +supporting documentation, and that the name of CMU and The Regents of +the University of California not be used in advertising or publicity +pertaining to distribution of the software without specific written +permission. + +CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR +THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*********************************************************************/ +/* default_store.h: storage space for defaults */ +#ifndef DEFAULT_STORE_H +#define DEFAULT_STORE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define DS_MAX_IDS 3 +#define DS_MAX_SUBIDS 32 /* needs to be a multiple of 8 */ + +/* begin storage definitions */ +/* These definitions correspond with the "storid" argument to the API */ +#define DS_LIBRARY_ID 0 +#define DS_APPLICATION_ID 1 +#define DS_TOKEN_ID 2 + +/* These definitions correspond with the "which" argument to the API, + when the storeid argument is DS_LIBRARY_ID */ +/* library booleans */ +#define DS_LIB_MIB_ERRORS 0 +#define DS_LIB_SAVE_MIB_DESCRS 1 +#define DS_LIB_MIB_COMMENT_TERM 2 +#define DS_LIB_MIB_PARSE_LABEL 3 +#define DS_LIB_DUMP_PACKET 4 +#define DS_LIB_LOG_TIMESTAMP 5 +#define DS_LIB_DONT_READ_CONFIGS 6 +#define DS_LIB_MIB_REPLACE 7 /* replace objects from latest module */ +#define DS_LIB_PRINT_NUMERIC_ENUM 8 /* print only numeric enum values */ +#define DS_LIB_PRINT_NUMERIC_OIDS 9 /* print only numeric enum values */ +#define DS_LIB_DONT_BREAKDOWN_OIDS 10 /* dont print oid indexes specially */ +#define DS_LIB_ALARM_DONT_USE_SIG 11 /* don't use the alarm() signal */ +#define DS_LIB_PRINT_FULL_OID 12 /* print fully qualified oids */ +#define DS_LIB_QUICK_PRINT 13 /* print very brief output for parsing */ +#define DS_LIB_RANDOM_ACCESS 14 /* random access to oid labels */ +#define DS_LIB_REGEX_ACCESS 15 /* regex matching to oid labels */ +#define DS_LIB_DONT_CHECK_RANGE 16 /* don't check values for ranges on send*/ +#define DS_LIB_NO_TOKEN_WARNINGS 17 /* no warn about unknown config tokens */ + +/* library integers */ +#define DS_LIB_MIB_WARNINGS 0 +#define DS_LIB_SECLEVEL 1 +#define DS_LIB_SNMPVERSION 2 +#define DS_LIB_DEFAULT_PORT 3 +#define DS_LIB_PRINT_SUFFIX_ONLY 4 /* print out only a single oid node == 1. + like #1 but supply mib module too == 2. */ + +/* library strings */ +#define DS_LIB_SECNAME 0 +#define DS_LIB_CONTEXT 1 +#define DS_LIB_PASSPHRASE 2 +#define DS_LIB_AUTHPASSPHRASE 3 +#define DS_LIB_PRIVPASSPHRASE 4 +#define DS_LIB_OPTIONALCONFIG 5 +#define DS_LIB_APPTYPE 6 +#define DS_LIB_COMMUNITY 7 + +/* end storage definitions */ + +struct ds_read_config { + u_char type; + char *token; + int storeid; + int which; + struct ds_read_config *next; +}; + +int ds_set_boolean(int storeid, int which, int value); +int ds_get_boolean(int storeid, int which); +int ds_toggle_boolean(int storeid, int which); +int ds_set_int(int storeid, int which, int value); +int ds_get_int(int storeid, int which); +int ds_set_string(int storeid, int which, const char *value); +char *ds_get_string(int storeid, int which); +int ds_register_config(u_char type, const char *ftype, const char *token, + int storeid, int which); +int ds_register_premib(u_char type, const char *ftype, const char *token, + int storeid, int which); + +#ifdef __cplusplus +} +#endif + +#endif /* DEFAULT_STORE_H */
