/*							-- DO NOT EDIT --
 * This file has been generated by smidump
 * version 0.3.1 for the scli package.
 *
 * Derived from RAPID-CITY:
 *   Enterprise MIB for the Accelar product family.
 *
 * Revision 1997-01-01 00:00:
 *   [Revision added by libsmi due to a LAST-UPDATED clause.]
 *
 * $Id: rapid-city.h,v 1.5 2002/03/26 16:26:26 schoenw Exp $
 */

#ifndef _RAPID_CITY_H_
#define _RAPID_CITY_H_

#include "g_snmp.h"

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

#define RAPID_CITY_RCVLANHIGHPRIORITY_TRUE  1
#define RAPID_CITY_RCVLANHIGHPRIORITY_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanHighPriority[];

#define RAPID_CITY_RCVLANROUTINGENABLE_TRUE  1
#define RAPID_CITY_RCVLANROUTINGENABLE_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanRoutingEnable[];

#define RAPID_CITY_RCVLANACTION_NONE             1
#define RAPID_CITY_RCVLANACTION_FLUSHMACFDB      2
#define RAPID_CITY_RCVLANACTION_FLUSHARP         3
#define RAPID_CITY_RCVLANACTION_FLUSHIP          4
#define RAPID_CITY_RCVLANACTION_FLUSHDYNMEMB     5
#define RAPID_CITY_RCVLANACTION_ALL              6
#define RAPID_CITY_RCVLANACTION_FLUSHSNOOPMEMB   7
#define RAPID_CITY_RCVLANACTION_TRIGGERRIPUPDATE 8
#define RAPID_CITY_RCVLANACTION_FLUSHSNOOPMRTR   9

extern GSnmpEnum const rapid_city_enums_rcVlanAction[];

#define RAPID_CITY_RCVLANRESULT_NONE       1
#define RAPID_CITY_RCVLANRESULT_INPROGRESS 2
#define RAPID_CITY_RCVLANRESULT_SUCCESS    3
#define RAPID_CITY_RCVLANRESULT_FAIL       4

extern GSnmpEnum const rapid_city_enums_rcVlanResult[];

#define RAPID_CITY_RCVLANTYPE_BYPORT       1
#define RAPID_CITY_RCVLANTYPE_BYIPSUBNET   2
#define RAPID_CITY_RCVLANTYPE_BYPROTOCOLID 3
#define RAPID_CITY_RCVLANTYPE_BYSRCMAC     4
#define RAPID_CITY_RCVLANTYPE_BYDSTMCAST   5

extern GSnmpEnum const rapid_city_enums_rcVlanType[];

#define RAPID_CITY_RCVLANPROTOCOLID_NONE         0
#define RAPID_CITY_RCVLANPROTOCOLID_IP           1
#define RAPID_CITY_RCVLANPROTOCOLID_IPX802DOT3   2
#define RAPID_CITY_RCVLANPROTOCOLID_IPX802DOT2   3
#define RAPID_CITY_RCVLANPROTOCOLID_IPXSNAP      4
#define RAPID_CITY_RCVLANPROTOCOLID_IPXETHERNET2 5
#define RAPID_CITY_RCVLANPROTOCOLID_APPLETALK    6
#define RAPID_CITY_RCVLANPROTOCOLID_DECLAT       7
#define RAPID_CITY_RCVLANPROTOCOLID_DECOTHER     8
#define RAPID_CITY_RCVLANPROTOCOLID_SNA802DOT2   9
#define RAPID_CITY_RCVLANPROTOCOLID_SNAETHERNET2 10
#define RAPID_CITY_RCVLANPROTOCOLID_NETBIOS      11
#define RAPID_CITY_RCVLANPROTOCOLID_XNS          12
#define RAPID_CITY_RCVLANPROTOCOLID_VINES        13
#define RAPID_CITY_RCVLANPROTOCOLID_IPV6         14
#define RAPID_CITY_RCVLANPROTOCOLID_USRDEFINED   15
#define RAPID_CITY_RCVLANPROTOCOLID_RARP         16

extern GSnmpEnum const rapid_city_enums_rcVlanProtocolId[];

#define RAPID_CITY_RCVLANROWSTATUS_ACTIVE        1
#define RAPID_CITY_RCVLANROWSTATUS_NOTINSERVICE  2
#define RAPID_CITY_RCVLANROWSTATUS_NOTREADY      3
#define RAPID_CITY_RCVLANROWSTATUS_CREATEANDGO   4
#define RAPID_CITY_RCVLANROWSTATUS_CREATEANDWAIT 5
#define RAPID_CITY_RCVLANROWSTATUS_DESTROY       6

extern GSnmpEnum const rapid_city_enums_rcVlanRowStatus[];

#define RAPID_CITY_RCVLANIGMPSNOOPENABLE_TRUE  1
#define RAPID_CITY_RCVLANIGMPSNOOPENABLE_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanIgmpSnoopEnable[];

#define RAPID_CITY_RCVLANIGMPSNOOPREPORTPROXYENABLE_TRUE  1
#define RAPID_CITY_RCVLANIGMPSNOOPREPORTPROXYENABLE_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanIgmpSnoopReportProxyEnable[];

#define RAPID_CITY_RCVLANPORTTYPE_ACCESS 1
#define RAPID_CITY_RCVLANPORTTYPE_TRUNK  2

extern GSnmpEnum const rapid_city_enums_rcVlanPortType[];

#define RAPID_CITY_RCVLANPORTDISCARDTAGGEDFRAMES_TRUE  1
#define RAPID_CITY_RCVLANPORTDISCARDTAGGEDFRAMES_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanPortDiscardTaggedFrames[];

#define RAPID_CITY_RCVLANPORTDISCARDUNTAGGEDFRAMES_TRUE  1
#define RAPID_CITY_RCVLANPORTDISCARDUNTAGGEDFRAMES_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanPortDiscardUntaggedFrames[];

#define RAPID_CITY_RCVLANPORTPERFORMTAGGING_TRUE  1
#define RAPID_CITY_RCVLANPORTPERFORMTAGGING_FALSE 2

extern GSnmpEnum const rapid_city_enums_rcVlanPortPerformTagging[];


/*
 * C type definitions for RAPID-CITY::rcVlanEntry.
 */

#define RAPID_CITY_RCVLANID                          (1 << 0) 
#define RAPID_CITY_RCVLANNAME                        (1 << 1) 
#define RAPID_CITY_RCVLANCOLOR                       (1 << 2) 
#define RAPID_CITY_RCVLANHIGHPRIORITY                (1 << 3) 
#define RAPID_CITY_RCVLANROUTINGENABLE               (1 << 4) 
#define RAPID_CITY_RCVLANIFINDEX                     (1 << 5) 
#define RAPID_CITY_RCVLANACTION                      (1 << 6) 
#define RAPID_CITY_RCVLANRESULT                      (1 << 7) 
#define RAPID_CITY_RCVLANSTGID                       (1 << 8) 
#define RAPID_CITY_RCVLANTYPE                        (1 << 9) 
#define RAPID_CITY_RCVLANPORTMEMBERS                 (1 << 10) 
#define RAPID_CITY_RCVLANACTIVEMEMBERS               (1 << 11) 
#define RAPID_CITY_RCVLANSTATICMEMBERS               (1 << 12) 
#define RAPID_CITY_RCVLANNOTALLOWTOJOIN              (1 << 13) 
#define RAPID_CITY_RCVLANPROTOCOLID                  (1 << 14) 
#define RAPID_CITY_RCVLANSUBNETADDR                  (1 << 15) 
#define RAPID_CITY_RCVLANSUBNETMASK                  (1 << 16) 
#define RAPID_CITY_RCVLANAGINGTIME                   (1 << 17) 
#define RAPID_CITY_RCVLANMACADDRESS                  (1 << 18) 
#define RAPID_CITY_RCVLANROWSTATUS                   (1 << 19) 
#define RAPID_CITY_RCVLANIGMPSNOOPENABLE             (1 << 20) 
#define RAPID_CITY_RCVLANIGMPSNOOPREPORTPROXYENABLE  (1 << 21) 
#define RAPID_CITY_RCVLANIGMPSNOOPROBUSTNESS         (1 << 22) 
#define RAPID_CITY_RCVLANIGMPSNOOPQUERYINTERVAL      (1 << 23) 
#define RAPID_CITY_RCVLANIGMPSNOOPMROUTERPORTS       (1 << 24) 
#define RAPID_CITY_RCVLANUSERDEFINEDPID              (1 << 25) 
#define RAPID_CITY_RCVLANIGMPSNOOPACTIVEMROUTERPORTS (1 << 26) 
#define RAPID_CITY_RCVLANPROTOCOLIDS                 (1 << 27) 
#define RAPID_CITY_RCVLANIGMPSNOOPACTIVEQUERIER      (1 << 28) 
#define RAPID_CITY_RCVLANIGMPSNOOPMROUTEREXPIRATION  (1 << 29) 
#define RAPID_CITY_RCVLANIGMPSNOOPQUERIERPORT        (1 << 30) 

typedef struct {
    gint32   rcVlanId;
    guchar   *rcVlanName;
#define RAPID_CITY_RCVLANNAMEMINLENGTH 0
#define RAPID_CITY_RCVLANNAMEMAXLENGTH 20
    guint16  _rcVlanNameLength;
    gint32   *rcVlanColor;
    gint32   *rcVlanHighPriority;
    gint32   *rcVlanRoutingEnable;
    gint32   *rcVlanIfIndex;
    gint32   *rcVlanAction;
    gint32   *rcVlanResult;
    gint32   *rcVlanStgId;
    gint32   *rcVlanType;
    guchar   *rcVlanPortMembers;
#define RAPID_CITY_RCVLANPORTMEMBERSLENGTH 32
    guchar   *rcVlanActiveMembers;
#define RAPID_CITY_RCVLANACTIVEMEMBERSLENGTH 32
    guchar   *rcVlanStaticMembers;
#define RAPID_CITY_RCVLANSTATICMEMBERSLENGTH 32
    guchar   *rcVlanNotAllowToJoin;
#define RAPID_CITY_RCVLANNOTALLOWTOJOINLENGTH 32
    gint32   *rcVlanProtocolId;
    guchar   *rcVlanSubnetAddr;
#define RAPID_CITY_RCVLANSUBNETADDRLENGTH 4
    guchar   *rcVlanSubnetMask;
#define RAPID_CITY_RCVLANSUBNETMASKLENGTH 4
    gint32   *rcVlanAgingTime;
    guchar   *rcVlanMacAddress;
#define RAPID_CITY_RCVLANMACADDRESSLENGTH 6
    gint32   *rcVlanRowStatus;
    gint32   *rcVlanIgmpSnoopEnable;
    gint32   *rcVlanIgmpSnoopReportProxyEnable;
    gint32   *rcVlanIgmpSnoopRobustness;
    gint32   *rcVlanIgmpSnoopQueryInterval;
    guchar   *rcVlanIgmpSnoopMRouterPorts;
#define RAPID_CITY_RCVLANIGMPSNOOPMROUTERPORTSLENGTH 32
    gint32   *rcVlanUserDefinedPid;
    guchar   *rcVlanIgmpSnoopActiveMRouterPorts;
#define RAPID_CITY_RCVLANIGMPSNOOPACTIVEMROUTERPORTSLENGTH 32
    gint32   *rcVlanProtocolIds;
    guchar   *rcVlanIgmpSnoopActiveQuerier;
#define RAPID_CITY_RCVLANIGMPSNOOPACTIVEQUERIERLENGTH 4
    gint32   *rcVlanIgmpSnoopMRouterExpiration;
    gint32   *rcVlanIgmpSnoopQuerierPort;
} rapid_city_rcVlanEntry_t;

extern void
rapid_city_get_rcVlanTable(GSnmpSession *s, rapid_city_rcVlanEntry_t ***rcVlanEntry, gint mask);

extern void
rapid_city_free_rcVlanTable(rapid_city_rcVlanEntry_t **rcVlanEntry);

extern rapid_city_rcVlanEntry_t *
rapid_city_new_rcVlanEntry(void);

extern void
rapid_city_get_rcVlanEntry(GSnmpSession *s, rapid_city_rcVlanEntry_t **rcVlanEntry, gint32 rcVlanId, gint mask);

extern void
rapid_city_set_rcVlanEntry(GSnmpSession *s, rapid_city_rcVlanEntry_t *rcVlanEntry, gint mask);

extern void
rapid_city_free_rcVlanEntry(rapid_city_rcVlanEntry_t *rcVlanEntry);

/*
 * C type definitions for RAPID-CITY::rcVlanPortEntry.
 */

#define RAPID_CITY_RCVLANPORTINDEX                 (1 << 0) 
#define RAPID_CITY_RCVLANPORTNUMVLANIDS            (1 << 1) 
#define RAPID_CITY_RCVLANPORTVLANIDS               (1 << 2) 
#define RAPID_CITY_RCVLANPORTTYPE                  (1 << 3) 
#define RAPID_CITY_RCVLANPORTDISCARDTAGGEDFRAMES   (1 << 4) 
#define RAPID_CITY_RCVLANPORTDISCARDUNTAGGEDFRAMES (1 << 5) 
#define RAPID_CITY_RCVLANPORTDEFAULTVLANID         (1 << 6) 
#define RAPID_CITY_RCVLANPORTPERFORMTAGGING        (1 << 7) 

typedef struct {
    gint32   rcVlanPortIndex;
    gint32   *rcVlanPortNumVlanIds;
    guchar   *rcVlanPortVlanIds;
#define RAPID_CITY_RCVLANPORTVLANIDSLENGTH 250
    gint32   *rcVlanPortType;
    gint32   *rcVlanPortDiscardTaggedFrames;
    gint32   *rcVlanPortDiscardUntaggedFrames;
    gint32   *rcVlanPortDefaultVlanId;
    gint32   *rcVlanPortPerformTagging;
} rapid_city_rcVlanPortEntry_t;

extern void
rapid_city_get_rcVlanPortTable(GSnmpSession *s, rapid_city_rcVlanPortEntry_t ***rcVlanPortEntry, gint mask);

extern void
rapid_city_free_rcVlanPortTable(rapid_city_rcVlanPortEntry_t **rcVlanPortEntry);

extern rapid_city_rcVlanPortEntry_t *
rapid_city_new_rcVlanPortEntry(void);

extern void
rapid_city_get_rcVlanPortEntry(GSnmpSession *s, rapid_city_rcVlanPortEntry_t **rcVlanPortEntry, gint32 rcVlanPortIndex, gint mask);

extern void
rapid_city_set_rcVlanPortEntry(GSnmpSession *s, rapid_city_rcVlanPortEntry_t *rcVlanPortEntry, gint mask);

extern void
rapid_city_free_rcVlanPortEntry(rapid_city_rcVlanPortEntry_t *rcVlanPortEntry);


#endif /* _RAPID_CITY_H_ */
