/* 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_SWRUN_H #define NETSNMP_SWRUN_H #ifdef __cplusplus extern "C" { #endif /*-***************************************************************** * * Data structure for a row entry */ typedef struct hrSWRunTable_entry { netsnmp_index oid_index; /* * Index values */ oid hrSWRunIndex; /* * Column values */ char hrSWRunName[ 64+1]; /* size per MIB + 1 */ char hrSWRunPath[128+1]; /* size per MIB + 1 */ char hrSWRunParameters[128+1]; /* size per MIB + 1 */ #ifdef NETSNMP_SWRUN_HAVE_ID /* if not defined, will always use nullOid */ oid hrSWRunID[SNMP_MAXOID]; u_char hrSWRunID_len; #endif u_char hrSWRunName_len; u_char hrSWRunPath_len; u_char hrSWRunParameters_len; u_char hrSWRunType; u_char hrSWRunStatus; u_char old_hrSWRunStatus; /* * Perf values */ int32_t hrSWRunPerfCPU; int32_t hrSWRunPerfMem; } netsnmp_swrun_entry; /* * enums for column hrSWRunType */ #define HRSWRUNTYPE_UNKNOWN 1 #define HRSWRUNTYPE_OPERATINGSYSTEM 2 #define HRSWRUNTYPE_DEVICEDRIVER 3 #define HRSWRUNTYPE_APPLICATION 4 /* * enums for column hrSWRunStatus */ #define HRSWRUNSTATUS_RUNNING 1 #define HRSWRUNSTATUS_RUNNABLE 2 #define HRSWRUNSTATUS_NOTRUNNABLE 3 #define HRSWRUNSTATUS_INVALID 4 /*-***************************************************************** * * Prototypes */ netsnmp_container * netsnmp_swrun_container_load(netsnmp_container *container, u_int flags ); void netsnmp_swrun_container_free(netsnmp_container *container, u_int flags); void netsnmp_swrun_container_free_items(netsnmp_container * container); netsnmp_swrun_entry * netsnmp_swrun_entry_create(int32_t swIndex); void netsnmp_swrun_entry_free(netsnmp_swrun_entry *entry); int swrun_count_processes( void ); int swrun_max_processes( void ); int swrun_count_processes_by_name( char *name ); #define NETSNMP_SWRUN_NOFLAGS 0x00000000 #define NETSNMP_SWRUN_ALL_OR_NONE 0x00000001 #define NETSNMP_SWRUN_DONT_FREE_ITEMS 0x00000002 /*#define NETSNMP_SWRUN_xx 0x00000004 */ #ifdef __cplusplus } #endif #endif /* NETSNMP_SWRUN_H */