/*							-- DO NOT EDIT --
 * This file has been generated by smidump
 * version 0.3.1 for the scli package.
 *
 * Derived from ATM-MIB:
 *   This is the MIB Module for ATM and AAL5-related
 *   objects for managing ATM interfaces, ATM virtual
 *   links, ATM cross-connects, AAL5 entities, and
 *   and AAL5 connections.
 *
 * Revision 1998-10-19 12:00:
 *   The initial revision of this module was published
 *   as RFC 1695. Key revisions include:
 *   o  Textual Conventions and OBJECT IDENTITIES have
 *      been moved to a separate MIB module.
 *   o  Applicability of objects to PVCs, SVCs and Soft
 *      PVCs has been clarified.
 *   o  DEFVAL clauses have been added.
 *   o  The relationship of ifIndex values with different
 *      layers and sublayers related to ATM has been
 *      clarified.
 *   o  atmTrafficQosClass has been deprecated
 *      and replaced with atmServiceCategory.
 *   o  atmInterfaceCurrentMaxVpiBits and
 *      atmInterfaceCurrentMaxVciBits have been added with
 *      a description on their relationship with other
 *      objects.
 *   o  atmInterfaceAddressType and atmInterfaceAdminAddress
 *      have been deprecated and replaced by
 *      atmInterfaceSubscrAddress.
 *   o  atmInterfaceTCAlarmState has been clarified.
 *   o  atmTrafficDescrParamIndexNext has been introduced
 *      in order to provide a manager a free
 *      atmTrafficDescrParamIndex value.
 *   o  The atmTrafficFrameDiscard capability has been added.
 *   o  A connection topology type (atmVpl/VclCastType) and
 *      a call control type (atmVpl/VclConnKind) have been
 *      added.
 *   o  aal2 has been added to atmVccAalType.
 *
 * Revision 1994-06-07 22:45:
 *   The RFC1695 version of this MIB module.
 *
 * $Id: atm-mib.h,v 1.10 2002/03/26 16:26:25 schoenw Exp $
 */

#ifndef _ATM_MIB_H_
#define _ATM_MIB_H_

#include "g_snmp.h"

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

#define ATM_MIB_ATMINTERFACEADDRESSTYPE_PRIVATE    1
#define ATM_MIB_ATMINTERFACEADDRESSTYPE_NSAPE164   2
#define ATM_MIB_ATMINTERFACEADDRESSTYPE_NATIVEE164 3
#define ATM_MIB_ATMINTERFACEADDRESSTYPE_OTHER      4

extern GSnmpEnum const atm_mib_enums_atmInterfaceAddressType[];


/*
 * C type definitions for ATM-MIB::atmInterfaceConfEntry.
 */

#define ATM_MIB_ATMINTERFACEMAXVPCS             (1 << 0) 
#define ATM_MIB_ATMINTERFACEMAXVCCS             (1 << 1) 
#define ATM_MIB_ATMINTERFACECONFVPCS            (1 << 2) 
#define ATM_MIB_ATMINTERFACECONFVCCS            (1 << 3) 
#define ATM_MIB_ATMINTERFACEMAXACTIVEVPIBITS    (1 << 4) 
#define ATM_MIB_ATMINTERFACEMAXACTIVEVCIBITS    (1 << 5) 
#define ATM_MIB_ATMINTERFACEILMIVPI             (1 << 6) 
#define ATM_MIB_ATMINTERFACEILMIVCI             (1 << 7) 
#define ATM_MIB_ATMINTERFACEADDRESSTYPE         (1 << 8) 
#define ATM_MIB_ATMINTERFACEADMINADDRESS        (1 << 9) 
#define ATM_MIB_ATMINTERFACEMYNEIGHBORIPADDRESS (1 << 10) 
#define ATM_MIB_ATMINTERFACEMYNEIGHBORIFNAME    (1 << 11) 
#define ATM_MIB_ATMINTERFACECURRENTMAXVPIBITS   (1 << 12) 
#define ATM_MIB_ATMINTERFACECURRENTMAXVCIBITS   (1 << 13) 
#define ATM_MIB_ATMINTERFACESUBSCRADDRESS       (1 << 14) 

typedef struct {
    gint32   ifIndex;
    gint32   *atmInterfaceMaxVpcs;
    gint32   *atmInterfaceMaxVccs;
    gint32   *atmInterfaceConfVpcs;
    gint32   *atmInterfaceConfVccs;
    gint32   *atmInterfaceMaxActiveVpiBits;
    gint32   *atmInterfaceMaxActiveVciBits;
    gint32   *atmInterfaceIlmiVpi;
    gint32   *atmInterfaceIlmiVci;
    gint32   *atmInterfaceAddressType;
    guchar   *atmInterfaceAdminAddress;
#define ATM_MIB_ATMINTERFACEADMINADDRESSMINLENGTH 0
#define ATM_MIB_ATMINTERFACEADMINADDRESSMAXLENGTH 40
    guint16  _atmInterfaceAdminAddressLength;
    guchar   *atmInterfaceMyNeighborIpAddress;
#define ATM_MIB_ATMINTERFACEMYNEIGHBORIPADDRESSLENGTH 4
    guchar   *atmInterfaceMyNeighborIfName;
#define ATM_MIB_ATMINTERFACEMYNEIGHBORIFNAMEMINLENGTH 0
#define ATM_MIB_ATMINTERFACEMYNEIGHBORIFNAMEMAXLENGTH 255
    guint16  _atmInterfaceMyNeighborIfNameLength;
    gint32   *atmInterfaceCurrentMaxVpiBits;
    gint32   *atmInterfaceCurrentMaxVciBits;
    guchar   *atmInterfaceSubscrAddress;
#define ATM_MIB_ATMINTERFACESUBSCRADDRESSMINLENGTH 0
#define ATM_MIB_ATMINTERFACESUBSCRADDRESSMAXLENGTH 40
    guint16  _atmInterfaceSubscrAddressLength;
} atm_mib_atmInterfaceConfEntry_t;

extern void
atm_mib_get_atmInterfaceConfTable(GSnmpSession *s, atm_mib_atmInterfaceConfEntry_t ***atmInterfaceConfEntry, gint mask);

extern void
atm_mib_free_atmInterfaceConfTable(atm_mib_atmInterfaceConfEntry_t **atmInterfaceConfEntry);

extern atm_mib_atmInterfaceConfEntry_t *
atm_mib_new_atmInterfaceConfEntry(void);

extern void
atm_mib_get_atmInterfaceConfEntry(GSnmpSession *s, atm_mib_atmInterfaceConfEntry_t **atmInterfaceConfEntry, gint32 ifIndex, gint mask);

extern void
atm_mib_set_atmInterfaceConfEntry(GSnmpSession *s, atm_mib_atmInterfaceConfEntry_t *atmInterfaceConfEntry, gint mask);

extern void
atm_mib_free_atmInterfaceConfEntry(atm_mib_atmInterfaceConfEntry_t *atmInterfaceConfEntry);


#endif /* _ATM_MIB_H_ */
