00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00029 #ifndef _RTXENUM_H_
00030 #define _RTXENUM_H_
00031
00032 #include "rtxsrc/rtxContext.h"
00033
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037
00044 typedef struct OSEnumItem {
00045 const OSUTF8CHAR* name;
00046 OSINT32 value;
00047 OSUINT16 namelen;
00048 OSUINT16 transidx;
00049 } OSEnumItem;
00050
00051 typedef struct OSEnumItemU32 {
00052 const OSUTF8CHAR* name;
00053 OSUINT32 value;
00054 OSUINT16 namelen;
00055 OSUINT16 transidx;
00056 } OSEnumItemU32;
00057
00058 typedef struct OSBigEnumItem {
00059 const OSUTF8CHAR* name;
00060 const char* value;
00061 OSUINT16 namelen;
00062 OSUINT16 transidx;
00063 } OSBigEnumItem;
00064
00065 typedef struct OSNumericEnumItem {
00066 OSINT32 start;
00067 OSINT32 end;
00068 } OSNumericEnumItem;
00069
00070 typedef struct OSNumericEnumItemU32 {
00071 OSUINT32 start;
00072 OSUINT32 end;
00073 } OSNumericEnumItemU32;
00074
00075 typedef struct OSNumericEnumItem64 {
00076 OSINT64 start;
00077 OSINT64 end;
00078 } OSNumericEnumItem64;
00079
00080 typedef struct OSNumericEnumItemU64 {
00081 OSUINT64 start;
00082 OSUINT64 end;
00083 } OSNumericEnumItemU64;
00084
00096 EXTERNRT OSINT32 rtxLookupEnum
00097 (const OSUTF8CHAR* strValue, size_t strValueSize,
00098 const OSEnumItem enumTable[], OSUINT16 enumTableSize);
00099
00111 EXTERNRT OSINT32 rtxLookupEnumU32
00112 (const OSUTF8CHAR* strValue, size_t strValueSize,
00113 const OSEnumItemU32 enumTable[], OSUINT16 enumTableSize);
00114
00127 EXTERNRT OSINT32 rtxLookupBigEnum
00128 (const OSUTF8CHAR* strValue, size_t strValueSize,
00129 const OSBigEnumItem enumTable[], OSUINT16 enumTableSize);
00130
00141 EXTERNRT OSINT32 rtxLookupEnumByValue
00142 (OSINT32 value, const OSEnumItem enumTable[], size_t enumTableSize);
00143
00154 EXTERNRT OSINT32 rtxLookupEnumU32ByValue
00155 (OSUINT32 value, const OSEnumItemU32 enumTable[], size_t enumTableSize);
00156
00167 EXTERNRT OSINT32 rtxLookupBigEnumByValue
00168 (const char* value, const OSBigEnumItem enumTable[], size_t enumTableSize);
00169
00179 EXTERNRT int rtxTestNumericEnum
00180 (OSINT32 ivalue, const OSNumericEnumItem enumTable[], OSUINT16 enumTableSize);
00181
00182 EXTERNRT int rtxTestNumericEnumU32
00183 (OSUINT32 ivalue, const OSNumericEnumItemU32 enumTable[], OSUINT16 enumTableSize);
00184
00185 EXTERNRT int rtxTestNumericEnum64
00186 (OSINT64 ivalue, const OSNumericEnumItem64 enumTable[], OSUINT16 enumTableSize);
00187
00188 EXTERNRT int rtxTestNumericEnumU64
00189 (OSUINT64 ivalue, const OSNumericEnumItemU64 enumTable[], OSUINT16 enumTableSize);
00193 #ifdef __cplusplus
00194 }
00195 #endif
00196
00197 #endif