/*
 * Note: this file originally auto-generated by mib2c using
 *  : mib2c.column_enums.conf,v 5.2 2003/02/22 04:09:25 hardaker Exp $
 */
#ifndef NETSNMPHOSTSTABLE_ENUMS_H
#define NETSNMPHOSTSTABLE_ENUMS_H

/*
 * enums for column netSnmpHostAddressType 
 */
#define NETSNMPHOSTADDRESSTYPE_UNKNOWN		0
#define NETSNMPHOSTADDRESSTYPE_IPV4		1
#define NETSNMPHOSTADDRESSTYPE_IPV6		2
#define NETSNMPHOSTADDRESSTYPE_IPV4Z		3
#define NETSNMPHOSTADDRESSTYPE_IPV6Z		4
#define NETSNMPHOSTADDRESSTYPE_DNS		16

/*
 * enums for column netSnmpHostStorage 
 */
#define NETSNMPHOSTSTORAGE_OTHER		1
#define NETSNMPHOSTSTORAGE_VOLATILE		2
#define NETSNMPHOSTSTORAGE_NONVOLATILE		3
#define NETSNMPHOSTSTORAGE_PERMANENT		4
#define NETSNMPHOSTSTORAGE_READONLY		5

/*
 * enums for column netSnmpHostRowStatus 
 */
#define NETSNMPHOSTROWSTATUS_ACTIVE		1
#define NETSNMPHOSTROWSTATUS_NOTINSERVICE		2
#define NETSNMPHOSTROWSTATUS_NOTREADY		3
#define NETSNMPHOSTROWSTATUS_CREATEANDGO		4
#define NETSNMPHOSTROWSTATUS_CREATEANDWAIT		5
#define NETSNMPHOSTROWSTATUS_DESTROY		6

#endif                          /* NETSNMPHOSTSTABLE_ENUMS_H */
