blob: 0e28df16589d90949f4060cfc7abcd691a978964 [file] [log] [blame]
/* Portions of this file are subject to the following copyright(s). See
* the Net-SNMP's COPYING file for more details and other copyrights
* that may apply:
*/
/*
* Portions of this file are copyrighted by:
* Copyright (C) 2007 Apple, Inc. All rights reserved.
* Use is subject to license terms specified in the COPYING file
* distributed with the Net-SNMP package.
*/
#ifndef NETSNMP_SWINST_H
#define NETSNMP_SWINST_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Data structure for a swinst entry
*/
typedef struct hrSWInstalledTable_entry {
netsnmp_index oid_index;
/*
* Index values; MIB type is int32, but we use oid so this
* structure can be used directly with a table_container.
*/
oid swIndex;
/*
* Column values
*/
char swName[64];
char swDate[11];
#ifdef NETSNMP_HAVE_SWID
oid *swID;
u_char swID_len;
#endif
u_char swType;
u_char swName_len;
u_char swDate_len;
} netsnmp_swinst_entry;
#define HRSWINSTALLEDTYPE_UNKNOWN 1
#define HRSWINSTALLEDTYPE_OPERATINGSYSTEM 2
#define HRSWINSTALLEDTYPE_DEVICEDRIVER 3
#define HRSWINSTALLEDTYPE_APPLICATION 4
#define NETSNMP_SWINST_NOFLAGS 0x00000000
#define NETSNMP_SWINST_ALL_OR_NONE 0x00000001
#define NETSNMP_SWINST_DONT_FREE_ITEMS 0x00000002
netsnmp_container *
netsnmp_swinst_container_load(netsnmp_container *container, int flags );
void netsnmp_swinst_container_free(netsnmp_container *container,
u_int flags);
void netsnmp_swinst_container_free_items(netsnmp_container *container);
void netsnmp_swinst_entry_remove(netsnmp_container * container,
netsnmp_swinst_entry *entry);
netsnmp_swinst_entry * netsnmp_swinst_entry_create(int32_t index);
void netsnmp_swinst_entry_free(netsnmp_swinst_entry *entry);
int32_t netsnmp_swinst_add_name(const char *name);
int32_t netsnmp_swinst_get_id(const char *name);
const char * netsnmp_swinst_get_name(int32_t id);
#ifdef __cplusplus
}
#endif
#endif /* NETSNMP_SWINST_H */