00001
00012 #ifndef PFTYPES_H_INCLUDED_260872
00013 #define PFTYPES_H_INCLUDED_260872
00014
00015 #define TOKEN unsigned long
00016 #if defined (SM2_DSP)
00017 #define MAX_CAMERAS 7
00018 #else
00019 #define MAX_CAMERAS 32
00020 #endif
00021
00024 #define INVALID_TOKEN 0
00025
00026
00031 typedef enum {
00032 PF_INVALID,
00033 PF_ROOT,
00034 PF_INT,
00035 PF_FLOAT,
00036 PF_BOOL,
00037 PF_MODE,
00038 PF_REGISTER,
00039 PF_STRING,
00040 PF_BUFFER,
00041
00042 PF_STRUCT,
00043 PF_ARRAY,
00044
00045 PF_COMMAND,
00046 PF_EVENT
00047 } PropertyType;
00048
00049
00058 #define F_PRIVATE 0x02
00059 #define F_BIG 0x04
00060 #define F_RW 0x00
00061 #define F_RO 0x10
00062 #define F_WO 0x20
00063 #define F_INACTIVE 0x40
00064
00065
00113 typedef struct
00114 {
00115 union{
00116 long i;
00117 float f;
00118 void *p;
00119 } value;
00120 PropertyType type;
00121 int len;
00122 } PFValue;
00123
00128 #define SET_FLOAT(v, f) v.type = PF_FLOAT; v.value.f = f
00129
00133 #define SET_INT(v, i) v.type = PF_INT; v.value.f = i
00134
00139 #define SET_STRING(v, s, l) v.type = PF_STRING; v.value.p = (void *) s; \
00140 v.len = l;
00141
00142
00155 typedef int (PropCallback)(TOKEN t);
00156
00163 typedef int (*FeedbackFuncP)(int i);
00164
00165 #endif // PFTYPES_H_INCLUDED_260872