/*
 * Copyright Notice:
 * Copyright Treck Incorporated  1997 - 2004
 * Copyright Elmic Systems Japan 1997 - 2004
 * No portions or the complete contents of this file may be copied or
 * distributed in any form (including but not limited to printed or electronic
 * forms) without the expressed written consent of Treck Incorporated OR
 * Elmic Systems.  Copyright laws and International Treaties protect the
 * contents of this file.  Unauthorized use is prohibited.
 * All rights reserved.
 *
 * Description:  Conceptual row tables and struct
 * Filename:     trconcpt.h
 * Author:       Leonard
 * Date Created: 12/04/01
 * $Source: /cvs_tick/treck_stack/snmpd/trconcpt.h,v $
 *
 * Modification History
 * $Revision: 1.9 $
 * $Date: 2005/12/07 23:12:19 $
 * $Author: cgordon $
 * $ProjectName: /home/mks/proj/snmpdprj $
 * $ProjectRevision: 4.0.2.53 $
 */
/***********************************************************
        Copyright 1988 by Carnegie Mellon University
 
                      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 appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the name of CMU not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.  
 
CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM 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.
******************************************************************/

#ifndef _TRCONCPT_H_
#define _TRCONCPT_H_

#ifdef __cplusplus
extern "C" {
#endif

#define TM_SNMP_ROWSTATUS_ACTIVE        1
#define TM_SNMP_ROWSTATUS_NOTINSERVICE  2
#define TM_SNMP_ROWSTATUS_NOTREADY      3
#define TM_SNMP_ROWSTATUS_CREATEANDGO   4
#define TM_SNMP_ROWSTATUS_CREATEANDWAIT 5
#define TM_SNMP_ROWSTATUS_DESTROY       6
/* #define ROWSTATUS_NOTEXISTS      7 */

#define TM_SNMP_CONCEPT_ROOT_LEN            16
#define TM_SNMP_CONCEPT_INDEX_LEN           64
#define TM_SNMP_NUM_CONCEPT_ENTRIES         10
#define TM_SNMP_NUM_COLS_IN_CONCEPT_ENTRY   16

#define TM_SNMP_STORAGETYPE_OTHER       1
#define TM_SNMP_STORAGETYPE_VOLATILE    2
#define TM_SNMP_STORAGETYPE_NONVOLATILE 3
#define TM_SNMP_STORAGETYPE_PERMANENT   4
#define TM_SNMP_STORAGETYPE_READONLY    5

typedef struct tsSnmpCollectConcept
{
    struct tsSnmpCollectConcept TM_FAR *next;
    ttOidPtr sccConceptRoot;
    ttOidPtr sccConceptIndex;
    int (TM_CODE_FAR *sccCreateMethod) (
        ttOidPtr index, int index_length, oid status);
    int (TM_CODE_FAR *sccDeleteMethod) (
        ttOidPtr index, int index_length);
    tt32Bit sccOrder;
    oid sccStatusColInst;
    oid sccExistingStatusColInst;
#ifdef TM_SNMP_8BIT_SUBIDS
	tt8Bit oidPad[2]; /* pad to 32-bit address boundary */
#endif /* TM_SNMP_8BIT_SUBIDS */
    ttPktLen sccConceptRootLen;
    ttPktLen sccConceptIndexLen;
    int sccColNums[TM_SNMP_NUM_COLS_IN_CONCEPT_ENTRY];
    int sccNoDefvalCols[TM_SNMP_NUM_COLS_IN_CONCEPT_ENTRY];
    tt8Bit sccRowExists;
    tt8Bit sccPad[3]; /* pad to 32-bit address boundary */
} ttSnmpCollectConcept;
typedef ttSnmpCollectConcept     TM_FAR * ttSnmpCollectConceptPtr;
typedef const ttSnmpCollectConcept TM_FAR * ttConstSnmpCollectConceptPtr;

#ifdef __cplusplus
}
#endif

#endif /* #ifndef _TRCONCPT_H_ */

/* Processed by Treck Shipping Tool v2.48 
 * 2005/11/16 15:13:14      For: Digi
 * File Name: trconcpt.h    File Revision: 4.0.2.4 
 * Project Name: snmpdprj   Project Release: 4.0.2.53
 * Input checksum: 33894    Output checksum:  2495
 */
