/* automatically generated by posy 7.0 #3 (wk87), do not edit! */

#ifndef	_module_SNMP_defined_
#define	_module_SNMP_defined_

#ifndef	PEPYPATH
#include <isode/psap.h>
#include <isode/pepy/UNIV-types.h>
#else
#include "psap.h"
#include "../pepy/UNIV-types.h"
#endif



#define	type_SNMP_GetRequest__PDU	type_SNMP_PDU
#define	free_SNMP_GetRequest__PDU	free_SNMP_PDU

#define	type_SNMP_GetNextRequest__PDU	type_SNMP_PDU
#define	free_SNMP_GetNextRequest__PDU	free_SNMP_PDU

#define	type_SNMP_GetResponse__PDU	type_SNMP_PDU
#define	free_SNMP_GetResponse__PDU	free_SNMP_PDU

#define	type_SNMP_SetRequest__PDU	type_SNMP_PDU
#define	free_SNMP_SetRequest__PDU	free_SNMP_PDU

#define	type_SNMP_ObjectName	OIDentifier
#define	free_SNMP_ObjectName	oid_free

#define	type_SNMP_ObjectSyntax	PElement
#define	free_SNMP_ObjectSyntax	pe_free

#define	type_SNMP_NetworkAddress	type_SNMP_IpAddress
#define	free_SNMP_NetworkAddress	free_SNMP_IpAddress

#define	type_SNMP_IpAddress	qbuf
#define	free_SNMP_IpAddress	qb_free

struct type_SNMP_Message {
    integer    version;
#define	int_SNMP_version_version__1	0

    struct qbuf *community;

    struct type_SNMP_PDUs *data;
};
int	free_SNMP_Message ();

struct type_SNMP_PDUs {
    int     offset;
#define	type_SNMP_PDUs_get__request	1
#define	type_SNMP_PDUs_get__next__request	2
#define	type_SNMP_PDUs_get__response	3
#define	type_SNMP_PDUs_set__request	4
#define	type_SNMP_PDUs_trap	5

    union {
            struct type_SNMP_GetRequest__PDU *get__request;

            struct type_SNMP_GetNextRequest__PDU *get__next__request;

            struct type_SNMP_GetResponse__PDU *get__response;

            struct type_SNMP_SetRequest__PDU *set__request;

            struct type_SNMP_Trap__PDU *trap;
    }       un;
};
int	free_SNMP_PDUs ();

struct type_SNMP_PDU {
    integer    request__id;

    integer    error__status;
#define	int_SNMP_error__status_noError	0
#define	int_SNMP_error__status_tooBig	1
#define	int_SNMP_error__status_noSuchName	2
#define	int_SNMP_error__status_badValue	3
#define	int_SNMP_error__status_readOnly	4
#define	int_SNMP_error__status_genErr	5

    integer    error__index;

    struct type_SNMP_VarBindList *variable__bindings;
};
int	free_SNMP_PDU ();

struct type_SNMP_Trap__PDU {
    OID     enterprise;

    struct type_SNMP_NetworkAddress *agent__addr;

    integer    generic__trap;
#define	int_SNMP_generic__trap_coldStart	0
#define	int_SNMP_generic__trap_warmStart	1
#define	int_SNMP_generic__trap_linkDown	2
#define	int_SNMP_generic__trap_linkUp	3
#define	int_SNMP_generic__trap_authenticationFailure	4
#define	int_SNMP_generic__trap_egpNeighborLoss	5
#define	int_SNMP_generic__trap_enterpriseSpecific	6

    integer    specific__trap;

    struct type_SNMP_TimeTicks *time__stamp;

    struct type_SNMP_VarBindList *variable__bindings;
};
int	free_SNMP_Trap__PDU ();

struct type_SNMP_VarBind {
    struct type_SNMP_ObjectName *name;

    struct type_SNMP_ObjectSyntax *value;
};
int	free_SNMP_VarBind ();

struct type_SNMP_VarBindList {
        struct type_SNMP_VarBind *VarBind;

        struct type_SNMP_VarBindList *next;
};
int	free_SNMP_VarBindList ();

struct type_SNMP_TimeTicks {
    integer    parm;
};
int	free_SNMP_TimeTicks ();
#endif
