/*							-- DO NOT EDIT --
 * This file has been generated by smidump
 * version 0.3.1 for the scli package.
 *
 * Derived from SNMP-TARGET-MIB:
 *   This MIB module defines MIB objects which provide
 *   mechanisms to remotely configure the parameters used
 *   by an SNMP entity for the generation of SNMP messages.
 *
 * Revision 1998-08-04 00:00:
 *   Clarifications, published as
 *   RFC2573.
 *
 * Revision 1997-07-14 00:00:
 *   The initial revision, published as RFC2273.
 *
 * $Id: snmp-target-mib.h,v 1.13 2002/03/26 16:26:27 schoenw Exp $
 */

#ifndef _SNMP_TARGET_MIB_H_
#define _SNMP_TARGET_MIB_H_

#include "g_snmp.h"

/*
 * Tables to map enumerations to strings and vice versa.
 */

#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE_OTHER       1
#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE_VOLATILE    2
#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE_NONVOLATILE 3
#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE_PERMANENT   4
#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE_READONLY    5

extern GSnmpEnum const snmp_target_mib_enums_snmpTargetAddrStorageType[];

#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_ACTIVE        1
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_NOTINSERVICE  2
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_NOTREADY      3
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_CREATEANDGO   4
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_CREATEANDWAIT 5
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS_DESTROY       6

extern GSnmpEnum const snmp_target_mib_enums_snmpTargetAddrRowStatus[];

#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYLEVEL_NOAUTHNOPRIV 1
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYLEVEL_AUTHNOPRIV   2
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYLEVEL_AUTHPRIV     3

extern GSnmpEnum const snmp_target_mib_enums_snmpTargetParamsSecurityLevel[];

#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE_OTHER       1
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE_VOLATILE    2
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE_NONVOLATILE 3
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE_PERMANENT   4
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE_READONLY    5

extern GSnmpEnum const snmp_target_mib_enums_snmpTargetParamsStorageType[];

#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_ACTIVE        1
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_NOTINSERVICE  2
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_NOTREADY      3
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_CREATEANDGO   4
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_CREATEANDWAIT 5
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS_DESTROY       6

extern GSnmpEnum const snmp_target_mib_enums_snmpTargetParamsRowStatus[];


/*
 * C type definitions for SNMP-TARGET-MIB::snmpTargetObjects.
 */

#define SNMP_TARGET_MIB_SNMPTARGETSPINLOCK      (1 << 0) 
#define SNMP_TARGET_MIB_SNMPUNAVAILABLECONTEXTS (1 << 1) 
#define SNMP_TARGET_MIB_SNMPUNKNOWNCONTEXTS     (1 << 2) 

typedef struct {
    gint32   *snmpTargetSpinLock;
    guint32  *snmpUnavailableContexts;
    guint32  *snmpUnknownContexts;
} snmp_target_mib_snmpTargetObjects_t;

extern snmp_target_mib_snmpTargetObjects_t *
snmp_target_mib_new_snmpTargetObjects(void);

extern void
snmp_target_mib_get_snmpTargetObjects(GSnmpSession *s, snmp_target_mib_snmpTargetObjects_t **snmpTargetObjects, gint mask);

extern void
snmp_target_mib_set_snmpTargetObjects(GSnmpSession *s, snmp_target_mib_snmpTargetObjects_t *snmpTargetObjects, gint mask);

extern void
snmp_target_mib_free_snmpTargetObjects(snmp_target_mib_snmpTargetObjects_t *snmpTargetObjects);

/*
 * C type definitions for SNMP-TARGET-MIB::snmpTargetAddrEntry.
 */

#define SNMP_TARGET_MIB_SNMPTARGETADDRTDOMAIN     (1 << 0) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRTADDRESS    (1 << 1) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRTIMEOUT     (1 << 2) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRRETRYCOUNT  (1 << 3) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRTAGLIST     (1 << 4) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRPARAMS      (1 << 5) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRSTORAGETYPE (1 << 6) 
#define SNMP_TARGET_MIB_SNMPTARGETADDRROWSTATUS   (1 << 7) 

typedef struct {
    guchar   snmpTargetAddrName[32];
#define SNMP_TARGET_MIB_SNMPTARGETADDRNAMEMINLENGTH 1
#define SNMP_TARGET_MIB_SNMPTARGETADDRNAMEMAXLENGTH 32
    guint16  _snmpTargetAddrNameLength;
    guint32  *snmpTargetAddrTDomain;
#define SNMP_TARGET_MIB_SNMPTARGETADDRTDOMAINMINLENGTH 0
#define SNMP_TARGET_MIB_SNMPTARGETADDRTDOMAINMAXLENGTH 128
    guint16  _snmpTargetAddrTDomainLength;
    guchar   *snmpTargetAddrTAddress;
#define SNMP_TARGET_MIB_SNMPTARGETADDRTADDRESSMINLENGTH 1
#define SNMP_TARGET_MIB_SNMPTARGETADDRTADDRESSMAXLENGTH 255
    guint16  _snmpTargetAddrTAddressLength;
    gint32   *snmpTargetAddrTimeout;
    gint32   *snmpTargetAddrRetryCount;
    guchar   *snmpTargetAddrTagList;
#define SNMP_TARGET_MIB_SNMPTARGETADDRTAGLISTMINLENGTH 0
#define SNMP_TARGET_MIB_SNMPTARGETADDRTAGLISTMAXLENGTH 255
    guint16  _snmpTargetAddrTagListLength;
    guchar   *snmpTargetAddrParams;
#define SNMP_TARGET_MIB_SNMPTARGETADDRPARAMSMINLENGTH 1
#define SNMP_TARGET_MIB_SNMPTARGETADDRPARAMSMAXLENGTH 32
    guint16  _snmpTargetAddrParamsLength;
    gint32   *snmpTargetAddrStorageType;
    gint32   *snmpTargetAddrRowStatus;
} snmp_target_mib_snmpTargetAddrEntry_t;

extern void
snmp_target_mib_get_snmpTargetAddrTable(GSnmpSession *s, snmp_target_mib_snmpTargetAddrEntry_t ***snmpTargetAddrEntry, gint mask);

extern void
snmp_target_mib_free_snmpTargetAddrTable(snmp_target_mib_snmpTargetAddrEntry_t **snmpTargetAddrEntry);

extern snmp_target_mib_snmpTargetAddrEntry_t *
snmp_target_mib_new_snmpTargetAddrEntry(void);

extern void
snmp_target_mib_get_snmpTargetAddrEntry(GSnmpSession *s, snmp_target_mib_snmpTargetAddrEntry_t **snmpTargetAddrEntry, guchar *snmpTargetAddrName, guint16 _snmpTargetAddrNameLength, gint mask);

extern void
snmp_target_mib_set_snmpTargetAddrEntry(GSnmpSession *s, snmp_target_mib_snmpTargetAddrEntry_t *snmpTargetAddrEntry, gint mask);

extern void
snmp_target_mib_free_snmpTargetAddrEntry(snmp_target_mib_snmpTargetAddrEntry_t *snmpTargetAddrEntry);

/*
 * C type definitions for SNMP-TARGET-MIB::snmpTargetParamsEntry.
 */

#define SNMP_TARGET_MIB_SNMPTARGETPARAMSMPMODEL       (1 << 0) 
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYMODEL (1 << 1) 
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYNAME  (1 << 2) 
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYLEVEL (1 << 3) 
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSTORAGETYPE   (1 << 4) 
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSROWSTATUS     (1 << 5) 

typedef struct {
    guchar   snmpTargetParamsName[32];
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSNAMEMINLENGTH 1
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSNAMEMAXLENGTH 32
    guint16  _snmpTargetParamsNameLength;
    gint32   *snmpTargetParamsMPModel;
    gint32   *snmpTargetParamsSecurityModel;
    guchar   *snmpTargetParamsSecurityName;
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYNAMEMINLENGTH 0
#define SNMP_TARGET_MIB_SNMPTARGETPARAMSSECURITYNAMEMAXLENGTH 255
    guint16  _snmpTargetParamsSecurityNameLength;
    gint32   *snmpTargetParamsSecurityLevel;
    gint32   *snmpTargetParamsStorageType;
    gint32   *snmpTargetParamsRowStatus;
} snmp_target_mib_snmpTargetParamsEntry_t;

extern void
snmp_target_mib_get_snmpTargetParamsTable(GSnmpSession *s, snmp_target_mib_snmpTargetParamsEntry_t ***snmpTargetParamsEntry, gint mask);

extern void
snmp_target_mib_free_snmpTargetParamsTable(snmp_target_mib_snmpTargetParamsEntry_t **snmpTargetParamsEntry);

extern snmp_target_mib_snmpTargetParamsEntry_t *
snmp_target_mib_new_snmpTargetParamsEntry(void);

extern void
snmp_target_mib_get_snmpTargetParamsEntry(GSnmpSession *s, snmp_target_mib_snmpTargetParamsEntry_t **snmpTargetParamsEntry, guchar *snmpTargetParamsName, guint16 _snmpTargetParamsNameLength, gint mask);

extern void
snmp_target_mib_set_snmpTargetParamsEntry(GSnmpSession *s, snmp_target_mib_snmpTargetParamsEntry_t *snmpTargetParamsEntry, gint mask);

extern void
snmp_target_mib_free_snmpTargetParamsEntry(snmp_target_mib_snmpTargetParamsEntry_t *snmpTargetParamsEntry);


#endif /* _SNMP_TARGET_MIB_H_ */
