Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _P_REC_UTILS_H_
00025 #define _P_REC_UTILS_H_
00026
00027 #include "Diags.h"
00028 #include "ink_atomic.h"
00029
00030 #include "P_RecDefs.h"
00031
00032
00033
00034
00035
00036 #define REC_TYPE_IS_STAT(rec_type) \
00037 (((rec_type) == RECT_PROCESS) || \
00038 ((rec_type) == RECT_PLUGIN) || \
00039 ((rec_type) == RECT_NODE) || \
00040 ((rec_type) == RECT_CLUSTER))
00041
00042 #define REC_TYPE_IS_CONFIG(rec_type) \
00043 (((rec_type) == RECT_CONFIG) || \
00044 ((rec_type) == RECT_LOCAL))
00045
00046
00047
00048
00049
00050 void RecRecordInit(RecRecord *r);
00051 void RecRecordFree(RecRecord *r);
00052 RecRecord *RecAlloc(RecT rec_type, const char *name, RecDataT data_type);
00053
00054
00055
00056
00057
00058
00059 void RecDataClear(RecDataT type, RecData * data);
00060 void RecDataSetMax(RecDataT type, RecData * data);
00061 void RecDataSetMin(RecDataT type, RecData * data);
00062 bool RecDataSet(RecDataT data_type, RecData * data_dst, RecData * data_src);
00063 bool RecDataSetFromInk64(RecDataT data_type, RecData * data_dst, int64_t data_int64);
00064 bool RecDataSetFromFloat(RecDataT data_type, RecData * data_dst, float data_float);
00065 bool RecDataSetFromString(RecDataT data_type, RecData * data_dst, const char *data_string);
00066 int RecDataCmp(RecDataT type, RecData left, RecData right);
00067 RecData RecDataAdd(RecDataT type, RecData left, RecData right);
00068 RecData RecDataSub(RecDataT type, RecData left, RecData right);
00069 RecData RecDataMul(RecDataT type, RecData left, RecData right);
00070 RecData RecDataDiv(RecDataT type, RecData left, RecData right);
00071
00072
00073
00074
00075
00076
00077 void RecLog(DiagsLevel dl, const char *format_string, ...);
00078 void RecDebug(DiagsLevel dl, const char *format_string, ...);
00079 void RecDebugOff();
00080
00081 #endif