Version | Date | Change |
---|---|---|
0.1 | 2013-08-07 | Initial contribution |
WR_TargetDataBase service provides access to the current target data base.
The service supports:
Commands are encoded as zero terminated JSON strings.
The service uses standard format for error reports, see Error Report Format.
The command reports WR_TargetDataBase service capabilities to clients so they can adjust to different implementations of the service.
Reply:
Capability data is a list of properties. All properties are optional. There is no predefined capabilities for now.
C • <token> • WR_TargetDataBase • getParameterList • <object search properties>
This command returns the parameter list of a given service command (I.E. load of the servide ModuleLoad) for a given context.
Search properties consists of a list of properties.
Example if the data base is not accessible, the getParameterList command will return an error. The Context ID corresponds to a valid Process ID. It will be used to determin which data base to access.
Predefined properties are:
Reply:
R • <token> • <error report> • <array parameters properties> •
Predefined parameter properties are:
<array of parameters> ⇒ null ⇒ [<paramters>] <parameters> ⇒ <parameter> ⇒ <parameters>,<parameter>
Predefined parameter are:
"Name" : <string>
"Label" : <string>
"Description" : <string>
"Type" : <string>
- This is one of :
"Included" : <Boolean>
"Value" : <String / integer / Boolean>
"Children" : <array of parameter>
(Optional)
[
{
"Type":"GroupOR",
"Name":"LoagFlg",
"Included":true,
"Children":[
{
"Type":"GroupXOR",
"Name":"OPTION_LD_SYMBOLS",
"Label":"Adding symbols to the symbol table.",
"Description":"The symbols defined in the module to be loaded may be added to the system symbol table.",
"Included":true,
"Children":[
{
"Type":"Boolean",
"Name":"all",
"Label":"Add both local and external symbols to the system symbol table.",
"Value":"LOAD_ALL_SYMBOLS",
"Included":true
},
{
"Type":"Boolean",
"Name":"local",
"Label":"Add only local symbols to the system symbol table.",
"Value":"LOAD_LOCAL_SYMBOLS",
"Included":false
},
{
"Type":"Boolean",
"Name":"global",
"Label":"Add only external symbols to the system symbol table.",
"Value":"LOAD_GLOBAL_SYMBOLS",
"Included":false
},
{
"Type":"Boolean",
"Name":"none",
"Label":"Add no symbols to the system symbol table.",
"Value":"LOAD_NO_SYMBOLS",
"Included":false
}
]
},
{
"Type":"GroupXOR",
"Name":"OPTION_LD_COMMONS",
"Label":"COMMON symbols resolution.",
"Description":"Some host compiler/linker combinations use another storage class internally called . In the C language, uninitialized global variables are eventually put in the BSS segment. However, in partially linked object modules they are flagged internally as COMMON and the static linker (host) resolves these and places them in BSS as a final step in creating a fully linked object module. However, the kernel loader is used to load partially linked object modules into the kernel, not executable modules. When the VxWorks loader encounters a variable labeled as COMMON, memory for the variable can be allocated, and the variable is entered in the symbol table (if specified) at that address.",
"Included":true,
"Children":[
{
"Type":"Boolean",
"Name":"match_all",
"Label":"ALL COMMON matches (default).",
"Description":"The loader seeks for any matching symbol. All symbols are considered. If no matching symbol exists, then it acts like LOAD_COMMON_MATCH_NONE. If several matches are found, the preference order is the same as for LOAD_COMMON_MATCH_USER.",
"Value":"OPT_LOAD_COMMON_MATCH_ALL",
"Included":true
},
{
"Type":"Boolean",
"Name":"match_none",
"Label":"none COMMON matches.",
"Description":"Allocate memory for the variable with malloc() and enter the variable in the target symbol table (if specified) with type SYM_COMM at that address. This is the default. Note that the remark about symbol linking visibility also applies here : unless LOAD_NO_SYMBOLS is set, LOAD_COMMON_MATCH_NONE won't prevent other modules from linking against the module symbols.",
"Value":"OPT_LOAD_COMMON_MATCH_NONE",
"Included":false
},
{
"Type":"Boolean",
"Name":"match_user",
"Label":"User COMMON matches.",
"Description":"The loader seeks a matching user symbol, i.e. symbols that have been added by dynamically loaded object modules ( symbols statically present at boot time). If no matching symbol exists, it acts like LOAD_COMMON_MATCH_NONE. If several matching symbols exist, the symbol most recently added to the target symbol table is used.",
"Value":"OPT_LOAD_COMMON_MATCH_USER",
"Included":false
}
]
}
]
}
]
No event definition
Specific error code for this service are:
{"Service":"WR_TargetDataBase","Code":65539,"Time":1375295543368,"Format":"The service {1} does not have parameter list description","Params":["WR_ModuleLoad"]}