/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* Restricted Materials of IBM */ /* */ /* (C) COPYRIGHT International Business Machines Corp. 2008,2019 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ #ifndef _CT_MICROSENSOR_DOT_H #define _CT_MICROSENSOR_DOT_H #include /* Cluster common types */ #include /* Cluster common utilities */ #include /* RMC common types */ #include /* Error structures */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /***************************************************/ /* the MicroSensor API version of this header file */ /***************************************************/ #define USF_API_VERSION 2 /*********************************************/ /* macros for standard dynamic attribute IDs */ /*********************************************/ #define USF_DATTR_STRING_ID 1 #define USF_DATTR_INT32_ID 2 #define USF_DATTR_UINT32_ID 3 #define USF_DATTR_INT64_ID 4 #define USF_DATTR_UINT64_ID 5 #define USF_DATTR_FLOAT32_ID 6 #define USF_DATTR_FLOAT64_ID 7 #define USF_DATTR_STRING_ARRAY_ID 8 #define USF_DATTR_INT32_ARRAY_ID 9 #define USF_DATTR_UINT32_ARRAY_ID 10 #define USF_DATTR_INT64_ARRAY_ID 11 #define USF_DATTR_UINT64_ARRAY_ID 12 #define USF_DATTR_FLOAT32_ARRAY_ID 13 #define USF_DATTR_FLOAT64_ARRAY_ID 14 #define USF_DATTR_QUANTUM_ID 15 /****************************************/ /* values suitable for use in bitfields */ /****************************************/ #define USF_DATTR_STRING 0x0001 #define USF_DATTR_INT32 0x0002 #define USF_DATTR_UINT32 0x0004 #define USF_DATTR_INT64 0x0008 #define USF_DATTR_UINT64 0x0010 #define USF_DATTR_FLOAT32 0x0020 #define USF_DATTR_FLOAT64 0x0040 #define USF_DATTR_STRING_ARRAY 0x0080 #define USF_DATTR_INT32_ARRAY 0x0100 #define USF_DATTR_UINT32_ARRAY 0x0200 #define USF_DATTR_INT64_ARRAY 0x0400 #define USF_DATTR_UINT64_ARRAY 0x0800 #define USF_DATTR_FLOAT32_ARRAY 0x1000 #define USF_DATTR_FLOAT64_ARRAY 0x2000 #define USF_DATTR_QUANTUM 0x4000 /***********************************************/ /* properties of the custom dynamic attributes */ /***********************************************/ #define USF_RSRC_DATTR_QRY_REQS_MONITORING 0x0001 /* basic information about a resource attribute */ typedef struct usf_attribute { rmc_attribute_id_t attribute_id; ct_data_type_t data_type; ct_value_t value; } usf_attribute_t; /* basic information about a MicroSensor */ typedef struct usf_control_data { ct_uint32_t usf_API_version; /* API version implemented by MicroSensor */ ct_uint32_t usf_uSensor_version; /* version of MicroSensor */ ct_uint64_t usf_standard_dattrs; /* bit mask of standard dynamic attrs */ void *usf_anchor; /* anchor for re-entrancy */ ct_uint32_t usf_num_custom_dattrs; /* number of custom dattrs defined */ } usf_control_data_t; /* Custom dynamic attributes info */ typedef struct usf_custom_dattr_info { char *usf_name; /* cda name */ ct_int32_t usf_data_type; /* cda type */ ct_int32_t usf_variable_type; /* cda variable type */ ct_int32_t usf_reporting_interval; /* cda reporting interval in seconds */ ct_uint32_t usf_properties; /* cda properties */ } usf_custom_dattr_info_t; /*--------------------------------------------------------------------------*/ /* MicroSensor API callback function prototypes. */ /*--------------------------------------------------------------------------*/ cu_error_t* usf_get_control_data ( ct_int32_t argc, /* input: argument count */ char **argv, /* input: argument vector */ usf_control_data_t *control_data_p /* output: control data */ ); cu_error_t* usf_start_standard_dattr ( void *anchor_p, /* input: anchor pointer */ ct_int32_t dattr_ID, /* input: standard dattr ID */ int *fd_p /* output: file descriptor */ ); cu_error_t* usf_start_standard_dattrs ( void *anchor_p, /* input: anchor pointer */ ct_uint64_t dattr_ID, /* input: standard dattr ID */ int *fd_p /* output: file descriptor */ ); cu_error_t* usf_stop_standard_dattr ( void *anchor_p, /* input: anchor pointer */ ct_int32_t dattr_ID /* input: standard dattr ID */ ); cu_error_t* usf_stop_standard_dattrs ( void *anchor_p, /* input: anchor pointer */ ct_uint64_t dattr_ID /* input: standard dattr ID */ ); cu_error_t* usf_get_standard_dattr_values ( void *anchor_p, /* input: anchor pointer */ ct_uint32_t num_values, /* input: number of values requested */ usf_attribute_t values[] /* input/output: array of values */ ); cu_error_t* usf_get_custom_dattr_info ( void *anchor_p, /* input: anchor pointer */ ct_uint32_t num_attrs, /* number of attrs */ usf_custom_dattr_info_t dattr_info[] /* output: dattr info */ ); cu_error_t* usf_start_custom_dattr ( void *anchor_p, /* input: anchor pointer */ ct_int32_t dattr_ID, /* input: custom dattr ID */ int *fd_p /* output: file descriptor */ ); cu_error_t* usf_stop_custom_dattr ( void *anchor_p, /* input: anchor pointer */ ct_int32_t dattr_ID /* input: custom dattr ID */ ); cu_error_t* usf_get_custom_dattr_values ( void *anchor_p, /* input: anchor pointer */ ct_uint32_t num_values, /* input: number of values requested */ usf_attribute_t values[] /* input/output: array of values */ ); cu_error_t* usf_fini ( void *anchor_p, /* input: anchor pointer */ ct_uint32_t unload_flag /* unload flag */ ); #ifdef __cplusplus } // end extern "C" #endif /* __cplusplus */ #endif /* _CT_MICROSENSOR_DOT_H */