TR69 TRxObjNode
1. external/tr69c/inc/tr69cdefs.h
typedef struct TRxObjNode
{
const char *name;
TRxPAtrrib paramAttrib;
TRxSETFUNC setTRxParam; /* only set if param is writeable */
TRxGETFUNC getTRxParam;
void *objDetail;
InstanceDope *instanceDope;
}TRxObjNode;
2.
(1)typedef union TRxPAttrib {
struct Attrib {
eTRxType etype:8;
unsigned slength:16;
unsigned inhibitActiveNotify:1; /* set to always inhibit change notification: use on counters */
//unsigned notification:2;
//unsigned accessListIndex:1; /* is 0 for no Subscriber access or 1 to enable */
/* subscriber access */
} attrib;
InstanceDesc *instance;
} TRxPAttrib;
(2)typedef TRX_STATUS (*TRxSETFUNC)(const char *value);
(3)typedef TRX_STATUS (*TRxGETFUNC)(char **value);
(4)typedef struct InstanceDope {
struct InstanceDope *next;
InstanceDesc *instance; /* set to currentInstance Desc*/
char *pdata;
unsigned notification:2;
unsigned accessListIndex:1;
} InstanceDope;
3. (1-1)typedef enum {
tUnknown=0,
tObject,
tString,
tInt,
tUnsigned,
tBool,
tDateTime,
tBase64,
tInstance,
tStringSOnly /* Set strings only */
} eTRxType;
(1-2)typedef struct InstanceDesc {
struct InstanceDesc *next;
struct InstanceDesc *parent;
int instanceID;
void *hwUserData;
} InstanceDesc;
(2-1)typedef enum {
TRX_OK=0,
TRX_REBOOT,
TRX_ERR, /* for internal error */
TRX_INVALID_PARAMETER_VALUE
}TRX_STATUS;
(4-1)
typedef struct InstanceDesc {
struct InstanceDesc *next;
struct InstanceDesc *parent;
int instanceID;
void *hwUserData;
} InstanceDesc;