LLSymbols
LLSymbols.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "LLSymbolsCommonPublic.h"
4 
5 /* ----------------------- global includes ----------------------- */
6 #include "MisraC.h"
7 #include <stddef.h>
8 
9 /* ----------------------- global types ----------------------- */
10 #include "LLSymbolsDefs.h"
11 
12 
13 
14 typedef enum _LLSymProtocol
15 {
18 #ifdef _LLSYMBOLS_HAS_WINCOMMLIBS
19 
21 #endif
22 
25 
26 
27 /* ----------------------- structures ----------------------- */
29 {
31  TCHAR ip[60];
33  uint16_t port;
35  uint16_t timeout;
37 
38 typedef struct _LLSymServerAddress
39 {
41 #if !defined(SWIG)
42  union
43  {
46  #ifdef _LLSYMBOLS_HAS_WINCOMMLIBS
47 
48  TCHAR commString[64];
49  #endif
50 
51  const struct _LLSymServerApi * serverApi;
52  };
53 
54 #else
55  /* compilation under SWIG: just use the symProtGDB_TCP protocol, without any union. On 64bit, a 4bytes padding is required,
56  because in the original struct the serverApi member is aligned to 8bytes, and so all the union members */
57  #if ARCHITECTURE_PTR_SIZE == 64
58  uint8_t _padding[4];
59  #endif
60 
61  TCHAR ip[60];
63  uint16_t port;
65  uint16_t timeout;
66 #endif
68 
69 /* handles are defined as pointer to opaque private structres */
70 #ifndef SWIG
71 typedef void* LLSymWorkspaceHandle;
72 typedef void* LLSymTagHandle;
73 typedef void* LLSymTagMapHandle;
74 typedef void* LLSymTypeHandle;
75 typedef void* LLSymGroupHandle;
76 #else
77 /* to allow the use of handles as OUTPUT parameters, they are declared as int instead of void* */
78 typedef int LLSymWorkspaceHandle;
79 typedef int LLSymTagHandle;
80 typedef int LLSymTagMapHandle;
81 typedef int LLSymTypeHandle;
82 typedef int LLSymGroupHandle;
83 #endif
84 
85 
86 /* constant to be used with LLSym_OpenWorkspace for local GDB connection on standard TCP port */
87 #ifndef SWIG
88 static const LLSymServerAddress GDBLocalHost = { symProtGDB_TCP, { _T("127.0.0.1"), 5000, 0 } };
89 #endif
90 
91 /* ----------------------- public functions ----------------------- */
92 LLSYMBOLS_API LLSym_Init();
93 LLSYMBOLS_API LLSym_Shutdown();
94 LLSYMBOLS_API LLSym_IsInitOk();
95 
96 LLSYMBOLS_API LLSym_OpenWorkspaceEx(uint8_t plc_area, const LLSymServerAddress* address, const TCHAR* targetComm, LLSymWorkspaceHandle* out_wksHandle);
97 LLSYMBOLS_API LLSym_OpenWorkspace(uint8_t plc_area, const LLSymServerAddress* address, LLSymWorkspaceHandle* out_wksHandle);
98 LLSYMBOLS_API LLSym_GetServerVersion(LLSymWorkspaceHandle wksHandle, uint8_t* out_verMajor, uint8_t* out_verMinor, uint8_t* out_verRevision, uint8_t* out_verBuild);
99 LLSYMBOLS_API LLSym_CloseWorkspace(LLSymWorkspaceHandle wksHandle);
100 LLSYMBOLS_API LLSym_IsValidWorkspace(LLSymWorkspaceHandle wksHandle);
101 LLSYMBOLS_API LLSym_GetSymbolTable(LLSymWorkspaceHandle wksHandle, const TCHAR* symbolTableFileName, bool_t overwrite);
102 
103 LLSYMBOLS_API LLSym_GetGlobalTag(LLSymWorkspaceHandle wksHandle, const TCHAR* symbolName, LLSymTagHandle* out_tagHandle);
104 LLSYMBOLS_API LLSym_CloseTag(LLSymTagHandle tagHandle);
105 LLSYMBOLS_API LLSym_GetGlobalTags(LLSymWorkspaceHandle wksHandle, LLSymTagHandle** out_tagList, uint32_t* out_numTags);
106 LLSYMBOLS_API LLSym_FreeTagList(LLSymTagHandle* tagList);
107 LLSYMBOLS_API LLSym_GetGlobalTagsNum(LLSymWorkspaceHandle wksHandle, uint32_t* out_numTags);
108 LLSYMBOLS_API LLSym_FillGlobalTagList(LLSymWorkspaceHandle wksHandle, LLSymTagHandle* tagList, uint32_t numTags);
109 
110 LLSYMBOLS_API LLSym_QueryGlobalTags(LLSymWorkspaceHandle wksHandle, const TCHAR* query, LLSymTagHandle** out_tagList, uint32_t* out_numTags);
111 LLSYMBOLS_API LLSym_QueryGlobalTagsNum(LLSymWorkspaceHandle wksHandle, const TCHAR* query, uint32_t* out_numTags);
112 LLSYMBOLS_API LLSym_QueryFillGlobalTagList(LLSymWorkspaceHandle wksHandle, const TCHAR* query, LLSymTagHandle* tagList, uint32_t numTags);
113 
114 LLSYMBOLS_API LLSym_GetGlobalTagsMap(LLSymWorkspaceHandle wksHandle, LLSymTagMapHandle* out_mapHandle);
115 LLSYMBOLS_API LLSym_FreeTagMap(LLSymTagMapHandle mapHandle);
116 LLSYMBOLS_API LLSym_GetTagFromMap(LLSymTagMapHandle mapHandle, const TCHAR* symbolName, LLSymTagHandle* out_tagHandle);
117 
118 LLSYMBOLS_API LLSym_GetTag(LLSymWorkspaceHandle wksHandle, const TCHAR* symbolName, LLSymTagHandle* out_tagHandle);
119 
120 #ifndef SWIG
121 /* deprecated */ LLSYMBOLS_API LLSym_ReadMemory(LLSymWorkspaceHandle wksHandle, llsym_addr_t address, void* out_buf, uint32_t size);
122 /* deprecated */ LLSYMBOLS_API LLSym_WriteMemory(LLSymWorkspaceHandle wksHandle, llsym_addr_t address, const void* buf, uint32_t size);
123 #endif // SWIG
124 /* deprecated */ LLSYMBOLS_API LLSym_GetCodeId(LLSymWorkspaceHandle wksHandle, uint32_t *outCodeId, bool_t checkWithTarget, uint16_t index, uint16_t subIndex );
125 
126 LLSYMBOLS_API LLSym_GetTagAttribute(LLSymTagHandle tagHandle, const TCHAR* attrName, TCHAR* out_buf, uint16_t* bufsize);
127 LLSYMBOLS_API LLSym_GetTagName(LLSymTagHandle tagHandle, TCHAR* out_buf, uint16_t* bufsize);
128 LLSYMBOLS_API LLSym_GetTagDataType(LLSymTagHandle tagHandle, TCHAR* out_buf, uint16_t* bufsize);
129 LLSYMBOLS_API LLSym_GetTagDataTypeVar(LLSymTagHandle tagHandle, LLSymTyVar* out_type_var);
130 /* deprecated */ LLSYMBOLS_API LLSym_GetTagAddress(LLSymTagHandle tagHandle, llsym_addr_t* out_address);
131 /* deprecated */ LLSYMBOLS_API LLSym_GetTagAddressBitOffset(LLSymTagHandle tagHandle, llsym_addr_t* out_address, uint32_t* out_bit_offset);
132 /* deprecated */ LLSYMBOLS_API LLSym_GetTagArrayAddress(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, llsym_addr_t* out_address);
133 /* deprecated */ LLSYMBOLS_API LLSym_GetTagArrayAddressBitOffset(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, llsym_addr_t* out_address, uint32_t* out_bit_offset);
134 LLSYMBOLS_API LLSym_GetTagDataSize(LLSymTagHandle tagHandle, uint32_t* out_size);
135 LLSYMBOLS_API LLSym_GetTagDataFullSize(LLSymTagHandle tagHandle, uint32_t* out_size);
136 LLSYMBOLS_API LLSym_IsTagReadOnly(LLSymTagHandle tagHandle, bool_t* out_isReadOnly);
137 LLSYMBOLS_API LLSym_IsTagBitAddress(LLSymTagHandle tagHandle, bool_t* out_isBitAddress);
138 LLSYMBOLS_API LLSym_GetTagDescr(LLSymTagHandle tagHandle, TCHAR* out_buf, uint16_t* bufsize);
139 LLSYMBOLS_API LLSym_GetTagDims(LLSymTagHandle tagHandle, uint32_t* out_dim1, uint32_t* out_dim2, uint32_t* out_dim3 );
140 
141 LLSYMBOLS_API LLSym_GetTagValue_Ptr(LLSymTagHandle tagHandle, void* out_buf, uint32_t bufsize);
142 LLSYMBOLS_API LLSym_SetTagValue_Ptr(LLSymTagHandle tagHandle, const void* buf, uint32_t bufsize);
143 LLSYMBOLS_API LLSym_GetTagArrayValue_Ptr(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, void* out_buf, uint32_t bufsize);
144 LLSYMBOLS_API LLSym_SetTagArrayValue_Ptr(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, const void* buf, uint32_t bufsize);
145 LLSYMBOLS_API LLSym_GetTagRawValue_Ptr(LLSymTagHandle tagHandle, void* out_buf, uint32_t bufsize);
146 LLSYMBOLS_API LLSym_SetTagRawValue_Ptr(LLSymTagHandle tagHandle, const void* buf, uint32_t bufsize);
147 
148 #ifdef _LLSYMBOLS_HAS_VARIANT
149 LLSYMBOLS_API LLSym_GetTagValue_VARIANT(LLSymTagHandle tagHandle, VARIANT* out_value);
150 LLSYMBOLS_API LLSym_SetTagValue_VARIANT(LLSymTagHandle tagHandle, VARIANT value);
151 LLSYMBOLS_API LLSym_GetTagArrayValue_VARIANT(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, VARIANT* out_value);
152 LLSYMBOLS_API LLSym_SetTagArrayValue_VARIANT(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, VARIANT value);
153 #endif // _LLSYMBOLS_HAS_VARIANT
154 
155 LLSYMBOLS_API LLSym_GetTagType(LLSymTagHandle tagHandle, LLSymTypeHandle * typeHandle);
156 LLSYMBOLS_API LLSym_CloseType(LLSymTypeHandle typeHandle);
157 LLSYMBOLS_API LLSym_TypeIsBasic(LLSymTypeHandle typeHandle, bool_t * out_IsBasic);
158 LLSYMBOLS_API LLSym_TypeIsComplex(LLSymTypeHandle typeHandle, bool_t * out_IsComplex);
159 LLSYMBOLS_API LLSym_TypeIsString(LLSymTypeHandle typeHandle, bool_t * out_IsString);
160 LLSYMBOLS_API LLSym_TypeIsArray(LLSymTypeHandle typeHandle, bool_t * out_IsArray);
161 LLSYMBOLS_API LLSym_TypeIsStruct(LLSymTypeHandle typeHandle, bool_t * out_IsStruct);
162 LLSYMBOLS_API LLSym_TypeIsFunctionBlock(LLSymTypeHandle typeHandle, bool_t * out_IsFunctionBlock);
163 LLSYMBOLS_API LLSym_TypeIsNumeric(LLSymTypeHandle typeHandle, bool_t * out_IsNumeric);
164 LLSYMBOLS_API LLSym_TypeIsSigned(LLSymTypeHandle typeHandle, bool_t * out_IsSigned);
165 LLSYMBOLS_API LLSym_TypeIsInteger(LLSymTypeHandle typeHandle, bool_t * out_IsInteger);
166 LLSYMBOLS_API LLSym_TypeGetSize(LLSymTypeHandle typeHandle, uint32_t * out_Size);
167 LLSYMBOLS_API LLSym_TypeGetName(LLSymTypeHandle typeHandle, TCHAR* out_buf, uint16_t* bufsize);
168 LLSYMBOLS_API LLSym_TypeGetNumChildren(LLSymTypeHandle typeHandle, uint32_t * out_NumChildren);
169 LLSYMBOLS_API LLSym_TypeGetChild(LLSymTypeHandle typeHandle, uint32_t childIndex, LLSymTypeHandle * out_typeChild);
170 LLSYMBOLS_API LLSym_TypeGetChildByName(LLSymTypeHandle typeHandle, const TCHAR* fieldName, LLSymTypeHandle * out_typeChild);
171 LLSYMBOLS_API LLSym_TypeGetChildName(LLSymTypeHandle typeHandle, uint32_t childIndex, TCHAR* out_childName, uint16_t* bufsize);
172 LLSYMBOLS_API LLSym_TypeGetArrayNumDimensions(LLSymTypeHandle typeHandle, uint32_t * out_numDimensions);
173 LLSYMBOLS_API LLSym_TypeGetArrayDimension(LLSymTypeHandle typeHandle, uint32_t idx, uint32_t * out_Dimension);
174 LLSYMBOLS_API LLSym_TypeGetArrayDimensions(LLSymTypeHandle typeHandle, uint32_t * out_Dimensions, uint8_t bufsize);
175 LLSYMBOLS_API LLSym_TypeGetProperties(LLSymTypeHandle typeHandle, uint32_t * out_Properties);
176 
177 LLSYMBOLS_API LLSym_CreateGroup(LLSymWorkspaceHandle wksHandle, LLSymGroupHandle * out_groupHandle);
178 LLSYMBOLS_API LLSym_DeleteGroup(LLSymGroupHandle groupHandle);
179 LLSYMBOLS_API LLSym_AddTagToGroup(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle);
180 LLSYMBOLS_API LLSym_RemoveTagFromGroup(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle);
181 LLSYMBOLS_API LLSym_GetGroupInfo(LLSymGroupHandle groupHandle, uint32_t * out_numTags, uint32_t * out_byteSize);
182 LLSYMBOLS_API LLSym_ReadGroup(LLSymGroupHandle groupHandle);
183 LLSYMBOLS_API LLSym_WriteGroup(LLSymGroupHandle groupHandle);
184 LLSYMBOLS_API LLSym_GetTagValueFromGroup_Ptr(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, void * data, uint32_t data_size);
185 LLSYMBOLS_API LLSym_SetTagValueIntoGroup_Ptr(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, const void * data, uint32_t data_size);
186 #ifdef _LLSYMBOLS_HAS_VARIANT
187 LLSYMBOLS_API LLSym_GetTagValueFromGroup_VARIANT(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, VARIANT* out_value);
188 LLSYMBOLS_API LLSym_SetTagValueIntoGroup_VARIANT(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, VARIANT value);
189 #endif // _LLSYMBOLS_HAS_VARIANT
190 
191 // AXEL: remember to add function names also to the LLSymbols.def file!
LLSym_GetSymbolTable
LLSYMBOLS_API LLSym_GetSymbolTable(LLSymWorkspaceHandle wksHandle, const TCHAR *symbolTableFileName, bool_t overwrite)
Get symbol table from server and save it as a local copy. This can be useful for offline symbols brow...
Definition: LLSymbols.cpp:504
LLSym_TypeIsStruct
LLSYMBOLS_API LLSym_TypeIsStruct(LLSymTypeHandle typeHandle, bool_t *out_IsStruct)
It checks whether the type given a argument of the function is a struct or not. You can also use LLSy...
Definition: LLSymbols.cpp:2442
LLSym_FreeTagList
LLSYMBOLS_API LLSym_FreeTagList(LLSymTagHandle *tagList)
Deallocates a list of tags, obtained with the LLSym_GetGlobalTags function.
Definition: LLSymbols.cpp:846
LLSym_GetTag
LLSYMBOLS_API LLSym_GetTag(LLSymWorkspaceHandle wksHandle, const TCHAR *symbolName, LLSymTagHandle *out_tagHandle)
It gets a tag (global or program local variable) for a symbol on the workspace represented by the han...
Definition: LLSymbols.cpp:1101
LLSym_GetTagName
LLSYMBOLS_API LLSym_GetTagName(LLSymTagHandle tagHandle, TCHAR *out_buf, uint16_t *bufsize)
It returns the name of the global tag represented by the handle object given as argument of the funct...
Definition: LLSymbols.cpp:1221
LLSymProtocol
enum _LLSymProtocol LLSymProtocol
LLSym_TypeGetArrayNumDimensions
LLSYMBOLS_API LLSym_TypeGetArrayNumDimensions(LLSymTypeHandle typeHandle, uint32_t *out_numDimensions)
It returns the number of dimensions of the type handle given as argument of the function.
Definition: LLSymbols.cpp:2821
LLSym_TypeIsString
LLSYMBOLS_API LLSym_TypeIsString(LLSymTypeHandle typeHandle, bool_t *out_IsString)
It checks whether the type given a argument of the function is a String or not. You can also use LLSy...
Definition: LLSymbols.cpp:2376
LLSym_SetTagArrayValue_Ptr
LLSYMBOLS_API LLSym_SetTagArrayValue_Ptr(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, const void *buf, uint32_t bufsize)
It sets the value of the tag given as argument of the function at the specified set of indexes....
Definition: LLSymbols.cpp:1784
LLSym_GetGlobalTagsMap
LLSYMBOLS_API LLSym_GetGlobalTagsMap(LLSymWorkspaceHandle wksHandle, LLSymTagMapHandle *out_mapHandle)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1064
LLSym_TypeIsFunctionBlock
LLSYMBOLS_API LLSym_TypeIsFunctionBlock(LLSymTypeHandle typeHandle, bool_t *out_IsFunctionBlock)
It checks whether the type given a argument of the function is a function block or not....
Definition: LLSymbols.cpp:2475
LLSym_GetGlobalTags
LLSYMBOLS_API LLSym_GetGlobalTags(LLSymWorkspaceHandle wksHandle, LLSymTagHandle **out_tagList, uint32_t *out_numTags)
It gets a list of tags on the workspace represented by the handle object given as argument of the fun...
Definition: LLSymbols.cpp:701
_symProtServerGDB_TCP_t::timeout
uint16_t timeout
Definition: LLSymbols.h:35
_symProtServerGDB_TCP_t::ip
TCHAR ip[60]
Definition: LLSymbols.h:31
LLSym_TypeGetChild
LLSYMBOLS_API LLSym_TypeGetChild(LLSymTypeHandle typeHandle, uint32_t childIndex, LLSymTypeHandle *out_typeChild)
It returns the child type handle at the index of the parent complex type given as argument of the fun...
Definition: LLSymbols.cpp:2708
LLSym_DeleteGroup
LLSYMBOLS_API LLSym_DeleteGroup(LLSymGroupHandle groupHandle)
Delete the group of tag specified by groupHandle. Tags of the group must be closed explicitely.
Definition: LLSymbols.cpp:2995
LLSym_CloseType
LLSYMBOLS_API LLSym_CloseType(LLSymTypeHandle typeHandle)
Close a type handle.
Definition: LLSymbols.cpp:2283
LLSym_GetTagArrayAddressBitOffset
LLSYMBOLS_API LLSym_GetTagArrayAddressBitOffset(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, llsym_addr_t *out_address, uint32_t *out_bit_offset)
It returns a pair address/offset of the tag handle given as argument of the function,...
Definition: LLSymbols.cpp:1435
symProtCommLibs
@ symProtCommLibs
Definition: LLSymbols.h:20
_LLSymServerAddress::serverApi
const struct _LLSymServerApi * serverApi
Definition: LLSymbols.h:51
LLSym_GetGroupInfo
LLSYMBOLS_API LLSym_GetGroupInfo(LLSymGroupHandle groupHandle, uint32_t *out_numTags, uint32_t *out_byteSize)
Get the size of the group.
Definition: LLSymbols.cpp:3101
LLSym_GetTagArrayValue_Ptr
LLSYMBOLS_API LLSym_GetTagArrayValue_Ptr(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, void *out_buf, uint32_t bufsize)
It returns the value of the tag given as argument of the function at the specified set of indexes....
Definition: LLSymbols.cpp:1748
LLSym_SetTagValue_Ptr
LLSYMBOLS_API LLSym_SetTagValue_Ptr(LLSymTagHandle tagHandle, const void *buf, uint32_t bufsize)
It sets the value of the global tag given as argument of the function.
Definition: LLSymbols.cpp:1711
LLSym_GetTagArrayAddress
LLSYMBOLS_API LLSym_GetTagArrayAddress(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, llsym_addr_t *out_address)
It returns the address of the tag handle given as argument of the function, at the specified set of i...
Definition: LLSymbols.cpp:1397
LLSym_IsTagReadOnly
LLSYMBOLS_API LLSym_IsTagReadOnly(LLSymTagHandle tagHandle, bool_t *out_isReadOnly)
It checks whether the global tag represented by the handle object given as argument of the function i...
Definition: LLSymbols.cpp:1532
LLSym_GetGlobalTagsNum
LLSYMBOLS_API LLSym_GetGlobalTagsNum(LLSymWorkspaceHandle wksHandle, uint32_t *out_numTags)
Gets the number of global tags.
Definition: LLSymbols.cpp:883
LLSym_Shutdown
LLSYMBOLS_API LLSym_Shutdown()
It performs the final shutdown process.
Definition: LLSymbols.cpp:166
LLSym_SetTagValueIntoGroup_Ptr
LLSYMBOLS_API LLSym_SetTagValueIntoGroup_Ptr(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, const void *data, uint32_t data_size)
Set tag value into group.
Definition: LLSymbols.cpp:3238
LLSym_GetCodeId
LLSYMBOLS_API LLSym_GetCodeId(LLSymWorkspaceHandle wksHandle, uint32_t *outCodeId, bool_t checkWithTarget, uint16_t index, uint16_t subIndex)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1173
symProtServerGDB_TCP_t
struct _symProtServerGDB_TCP_t symProtServerGDB_TCP_t
LLSym_GetTagDataSize
LLSYMBOLS_API LLSym_GetTagDataSize(LLSymTagHandle tagHandle, uint32_t *out_size)
It returns the size of the data contained into the variable represented by the tag....
Definition: LLSymbols.cpp:1470
LLSym_OpenWorkspaceEx
LLSYMBOLS_API LLSym_OpenWorkspaceEx(uint8_t plc_area, const LLSymServerAddress *address, const TCHAR *targetComm, LLSymWorkspaceHandle *out_wksHandle)
It returns an handle object for a new workspace to be opened.
Definition: LLSymbols.cpp:253
LLSym_SetTagValue_VARIANT
LLSYMBOLS_API LLSym_SetTagValue_VARIANT(LLSymTagHandle tagHandle, VARIANT value)
It writes a tag value from the target, using a VARIANT.
Definition: LLSymbols.cpp:2041
LLSym_GetTagValue_VARIANT
LLSYMBOLS_API LLSym_GetTagValue_VARIANT(LLSymTagHandle tagHandle, VARIANT *out_value)
It reads a tag value from the target, using a VARIANT.
Definition: LLSymbols.cpp:2028
_LLSymServerAddress::tcp
symProtServerGDB_TCP_t tcp
Definition: LLSymbols.h:45
LLSym_CloseWorkspace
LLSYMBOLS_API LLSym_CloseWorkspace(LLSymWorkspaceHandle wksHandle)
It closes the workspace represented by the handle given as argument of the function.
Definition: LLSymbols.cpp:424
LLSym_GetTagAttribute
LLSYMBOLS_API LLSym_GetTagAttribute(LLSymTagHandle tagHandle, const TCHAR *attrName, TCHAR *out_buf, uint16_t *bufsize)
DEPRECATED - It returns textual attributes for the tag given as argument of the function.
Definition: LLSymbols.cpp:1187
LLSym_GetTagDataFullSize
LLSYMBOLS_API LLSym_GetTagDataFullSize(LLSymTagHandle tagHandle, uint32_t *out_size)
It returns the full size of the data contained into the variable represented by the tag....
Definition: LLSymbols.cpp:1501
LLSym_QueryGlobalTags
LLSYMBOLS_API LLSym_QueryGlobalTags(LLSymWorkspaceHandle wksHandle, const TCHAR *query, LLSymTagHandle **out_tagList, uint32_t *out_numTags)
It gets a list of tags on the workspace matching the specified query.
Definition: LLSymbols.cpp:775
LLSym_QueryGlobalTagsNum
LLSYMBOLS_API LLSym_QueryGlobalTagsNum(LLSymWorkspaceHandle wksHandle, const TCHAR *query, uint32_t *out_numTags)
Gets the number of global tags matching the specified query.
Definition: LLSymbols.cpp:918
LLSymServerAddress
struct _LLSymServerAddress LLSymServerAddress
LLSym_WriteMemory
LLSYMBOLS_API LLSym_WriteMemory(LLSymWorkspaceHandle wksHandle, llsym_addr_t address, const void *buf, uint32_t size)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1158
symProtGDB_TCP
@ symProtGDB_TCP
Definition: LLSymbols.h:17
LLSym_WriteGroup
LLSYMBOLS_API LLSym_WriteGroup(LLSymGroupHandle groupHandle)
Write the values of all the tags of the group in a row.
Definition: LLSymbols.cpp:3168
LLSym_TypeIsBasic
LLSYMBOLS_API LLSym_TypeIsBasic(LLSymTypeHandle typeHandle, bool_t *out_IsBasic)
It checks whether the type given a argument of the function is basic or not. You can also use LLSym_T...
Definition: LLSymbols.cpp:2310
_LLSymServerAddress::protocol
LLSymProtocol protocol
Definition: LLSymbols.h:40
LLSym_TypeIsSigned
LLSYMBOLS_API LLSym_TypeIsSigned(LLSymTypeHandle typeHandle, bool_t *out_IsSigned)
It checks whether the type given a argument of the function is signed or not. You can also use LLSym_...
Definition: LLSymbols.cpp:2541
LLSym_GetTagAddressBitOffset
LLSYMBOLS_API LLSym_GetTagAddressBitOffset(LLSymTagHandle tagHandle, llsym_addr_t *out_address, uint32_t *out_bit_offset)
It returns the pair address/offset at which the tag given as argument of the function is.
Definition: LLSymbols.cpp:1358
LLSym_TypeIsArray
LLSYMBOLS_API LLSym_TypeIsArray(LLSymTypeHandle typeHandle, bool_t *out_IsArray)
It checks whether the type given a argument of the function is an array or not. You can also use LLSy...
Definition: LLSymbols.cpp:2409
LLSym_QueryFillGlobalTagList
LLSYMBOLS_API LLSym_QueryFillGlobalTagList(LLSymWorkspaceHandle wksHandle, const TCHAR *query, LLSymTagHandle *tagList, uint32_t numTags)
Fills a list of global tags, according to the query. Similar to LLSym_QueryGlobalTags(),...
Definition: LLSymbols.cpp:1012
LLSym_GetGlobalTag
LLSYMBOLS_API LLSym_GetGlobalTag(LLSymWorkspaceHandle wksHandle, const TCHAR *symbolName, LLSymTagHandle *out_tagHandle)
It gets a global tag for a symbol on the workspace represented by the handle object given as argument...
Definition: LLSymbols.cpp:578
LLSym_SetTagRawValue_Ptr
LLSYMBOLS_API LLSym_SetTagRawValue_Ptr(LLSymTagHandle tagHandle, const void *buf, uint32_t bufsize)
It sets the content of the buffer as the full value of the tag given as argument of the function.
Definition: LLSymbols.cpp:1872
_LLSymProtocol
_LLSymProtocol
Definition: LLSymbols.h:15
LLSym_GetTagDims
LLSYMBOLS_API LLSym_GetTagDims(LLSymTagHandle tagHandle, uint32_t *out_dim1, uint32_t *out_dim2, uint32_t *out_dim3)
It returns up to 3 valid values for the dimensions of the tag handle given as argument of the functio...
Definition: LLSymbols.cpp:1631
LLSym_ReadMemory
LLSYMBOLS_API LLSym_ReadMemory(LLSymWorkspaceHandle wksHandle, llsym_addr_t address, void *out_buf, uint32_t size)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1144
LLSym_GetTagValueFromGroup_VARIANT
LLSYMBOLS_API LLSym_GetTagValueFromGroup_VARIANT(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, VARIANT *out_value)
Get tag basic value from group.
Definition: LLSymbols.cpp:3276
_LLSymServerAddress
Definition: LLSymbols.h:39
LLSym_CloseTag
LLSYMBOLS_API LLSym_CloseTag(LLSymTagHandle tagHandle)
It closes the global tag represented by the handle object given as argument of the function....
Definition: LLSymbols.cpp:618
symProtDirectAccess
@ symProtDirectAccess
Definition: LLSymbols.h:23
LLSym_TypeIsInteger
LLSYMBOLS_API LLSym_TypeIsInteger(LLSymTypeHandle typeHandle, bool_t *out_IsInteger)
It checks whether the type given a argument of the function is integer or not. You can also use LLSym...
Definition: LLSymbols.cpp:2574
LLSym_GetTagValueFromGroup_Ptr
LLSYMBOLS_API LLSym_GetTagValueFromGroup_Ptr(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, void *data, uint32_t data_size)
Get tag value from group.
Definition: LLSymbols.cpp:3201
LLSym_GetTagAddress
LLSYMBOLS_API LLSym_GetTagAddress(LLSymTagHandle tagHandle, llsym_addr_t *out_address)
It returns the address of the tag given as argument of the function.
Definition: LLSymbols.cpp:1322
LLSymTyVar
enum _LLSymTyVar LLSymTyVar
LLSym_ReadGroup
LLSYMBOLS_API LLSym_ReadGroup(LLSymGroupHandle groupHandle)
Refresh the values of all the tags of the group in a row.
Definition: LLSymbols.cpp:3136
LLSymTagHandle
void * LLSymTagHandle
Definition: LLSymbols.h:72
LLSymWorkspaceHandle
void * LLSymWorkspaceHandle
Definition: LLSymbols.h:71
LLSym_TypeIsComplex
LLSYMBOLS_API LLSym_TypeIsComplex(LLSymTypeHandle typeHandle, bool_t *out_IsComplex)
It checks whether the type given a argument of the function is complex or not. You can also use LLSym...
Definition: LLSymbols.cpp:2343
LLSym_TypeGetName
LLSYMBOLS_API LLSym_TypeGetName(LLSymTypeHandle typeHandle, TCHAR *out_buf, uint16_t *bufsize)
It returns the name of the type represented by the handle given as argument of the function.
Definition: LLSymbols.cpp:2641
LLSym_TypeGetNumChildren
LLSYMBOLS_API LLSym_TypeGetNumChildren(LLSymTypeHandle typeHandle, uint32_t *out_NumChildren)
It returns the number of children of the type handle given as argument of the function.
Definition: LLSymbols.cpp:2674
LLSym_GetTagArrayValue_VARIANT
LLSYMBOLS_API LLSym_GetTagArrayValue_VARIANT(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, VARIANT *out_value)
It returns the value of the tag given as argument of the function at the specified set of indexes,...
Definition: LLSymbols.cpp:2057
LLSym_GetTagValue_Ptr
LLSYMBOLS_API LLSym_GetTagValue_Ptr(LLSymTagHandle tagHandle, void *out_buf, uint32_t bufsize)
It returns the value global tag given as argument of the function.
Definition: LLSymbols.cpp:1663
LLSym_IsInitOk
LLSYMBOLS_API LLSym_IsInitOk()
It checks whether the initialization process was right or not.
Definition: LLSymbols.cpp:195
LLSym_IsValidWorkspace
LLSYMBOLS_API LLSym_IsValidWorkspace(LLSymWorkspaceHandle wksHandle)
It checks whether the workspace represented by the the handle object given as argument of the functio...
Definition: LLSymbols.cpp:471
LLSym_IsTagBitAddress
LLSYMBOLS_API LLSym_IsTagBitAddress(LLSymTagHandle tagHandle, bool_t *out_isBitAddress)
It checks whether the tag given as argument of the function is identified by a bit address or not.
Definition: LLSymbols.cpp:1563
LLSym_AddTagToGroup
LLSYMBOLS_API LLSym_AddTagToGroup(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle)
Add specified tag to group of tags.
Definition: LLSymbols.cpp:3029
LLSym_GetTagRawValue_Ptr
LLSYMBOLS_API LLSym_GetTagRawValue_Ptr(LLSymTagHandle tagHandle, void *out_buf, uint32_t bufsize)
It returns a binary blob containing all the values of the tag given as argument of the function.
Definition: LLSymbols.cpp:1816
LLSym_TypeGetArrayDimensions
LLSYMBOLS_API LLSym_TypeGetArrayDimensions(LLSymTypeHandle typeHandle, uint32_t *out_Dimensions, uint8_t bufsize)
It returns the sizes of all dimensions for array types.
Definition: LLSymbols.cpp:2889
LLSym_GetTagDescr
LLSYMBOLS_API LLSym_GetTagDescr(LLSymTagHandle tagHandle, TCHAR *out_buf, uint16_t *bufsize)
It returns a string representing the description of the global tag represented by the handle object g...
Definition: LLSymbols.cpp:1595
LLSym_OpenWorkspace
LLSYMBOLS_API LLSym_OpenWorkspace(uint8_t plc_area, const LLSymServerAddress *address, LLSymWorkspaceHandle *out_wksHandle)
It returns an handle object for a new workspace to be opened.
Definition: LLSymbols.cpp:379
LLSym_GetTagDataType
LLSYMBOLS_API LLSym_GetTagDataType(LLSymTagHandle tagHandle, TCHAR *out_buf, uint16_t *bufsize)
It returns the type of the variable represented by the handle object given as argument of the functio...
Definition: LLSymbols.cpp:1255
LLSym_CreateGroup
LLSYMBOLS_API LLSym_CreateGroup(LLSymWorkspaceHandle wksHandle, LLSymGroupHandle *out_groupHandle)
It returns an LLSymGroupHandle handle of the empty group of tags.
Definition: LLSymbols.cpp:2955
LLSym_TypeGetChildName
LLSYMBOLS_API LLSym_TypeGetChildName(LLSymTypeHandle typeHandle, uint32_t childIndex, TCHAR *out_childName, uint16_t *bufsize)
It returns the child type name at the index of the parent complex type given as argument of the funct...
Definition: LLSymbols.cpp:2788
LLSym_TypeGetArrayDimension
LLSYMBOLS_API LLSym_TypeGetArrayDimension(LLSymTypeHandle typeHandle, uint32_t idx, uint32_t *out_Dimension)
It returns the size of the dimension at the specified index of the type handle given as argument of t...
Definition: LLSymbols.cpp:2855
LLSym_GetTagDataTypeVar
LLSYMBOLS_API LLSym_GetTagDataTypeVar(LLSymTagHandle tagHandle, LLSymTyVar *out_type_var)
It returns the type of the variable represented by the handle object given as argument of the functio...
Definition: LLSymbols.cpp:1288
LLSym_TypeIsNumeric
LLSYMBOLS_API LLSym_TypeIsNumeric(LLSymTypeHandle typeHandle, bool_t *out_IsNumeric)
It checks whether the type given a argument of the function is numeric or not. You can also use LLSym...
Definition: LLSymbols.cpp:2508
LLSymbolsDefs.h
LLSym_SetTagArrayValue_VARIANT
LLSYMBOLS_API LLSym_SetTagArrayValue_VARIANT(LLSymTagHandle tagHandle, uint32_t idx1, uint32_t idx2, uint32_t idx3, VARIANT value)
It sets the value of the tag given as argument of the function at the specified set of indexes,...
Definition: LLSymbols.cpp:2145
LLSymGroupHandle
void * LLSymGroupHandle
Definition: LLSymbols.h:75
llsym_addr_t
addr32_t llsym_addr_t
Definition: LLSymbolsDefs.h:185
LLSym_TypeGetChildByName
LLSYMBOLS_API LLSym_TypeGetChildByName(LLSymTypeHandle typeHandle, const TCHAR *fieldName, LLSymTypeHandle *out_typeChild)
It returns the child type handle by specifying its fieldName within the parent complex type given as ...
Definition: LLSymbols.cpp:2747
LLSymTagMapHandle
void * LLSymTagMapHandle
Definition: LLSymbols.h:73
LLSym_GetTagType
LLSYMBOLS_API LLSym_GetTagType(LLSymTagHandle tagHandle, LLSymTypeHandle *typeHandle)
It returns the type handle of the tag given as argument of the function.
Definition: LLSymbols.cpp:2241
LLSym_GetServerVersion
LLSYMBOLS_API LLSym_GetServerVersion(LLSymWorkspaceHandle wksHandle, uint8_t *out_verMajor, uint8_t *out_verMinor, uint8_t *out_verRevision, uint8_t *out_verBuild)
returns the protocol version supported by symbols server.
Definition: LLSymbols.cpp:394
_symProtServerGDB_TCP_t::port
uint16_t port
Definition: LLSymbols.h:33
LLSym_Init
LLSYMBOLS_API LLSym_Init()
It initializes the system.
Definition: LLSymbols.cpp:139
LLSymTypeHandle
void * LLSymTypeHandle
Definition: LLSymbols.h:74
_LLSymServerAddress::commString
TCHAR commString[64]
Definition: LLSymbols.h:48
_symProtServerGDB_TCP_t
Definition: LLSymbols.h:29
LLSym_TypeGetSize
LLSYMBOLS_API LLSym_TypeGetSize(LLSymTypeHandle typeHandle, uint32_t *out_Size)
It returns the size of the type represented by the handle given as argument of the function.
Definition: LLSymbols.cpp:2607
LLSym_FillGlobalTagList
LLSYMBOLS_API LLSym_FillGlobalTagList(LLSymWorkspaceHandle wksHandle, LLSymTagHandle *tagList, uint32_t numTags)
Fills a list of global tags. Similar to LLSym_GetGlobalTags(), but does not allocate the resulting ta...
Definition: LLSymbols.cpp:961
LLSym_FreeTagMap
LLSYMBOLS_API LLSym_FreeTagMap(LLSymTagMapHandle mapHandle)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1075
LLSym_TypeGetProperties
LLSYMBOLS_API LLSym_TypeGetProperties(LLSymTypeHandle typeHandle, uint32_t *out_Properties)
It returns as a bitmask the various flags of the request type (see enum LLSymTypeProperty)
Definition: LLSymbols.cpp:2922
LLSym_SetTagValueIntoGroup_VARIANT
LLSYMBOLS_API LLSym_SetTagValueIntoGroup_VARIANT(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle, VARIANT value)
Set tag basic value into group.
Definition: LLSymbols.cpp:3368
LLSym_GetTagFromMap
LLSYMBOLS_API LLSym_GetTagFromMap(LLSymTagMapHandle mapHandle, const TCHAR *symbolName, LLSymTagHandle *out_tagHandle)
DEPRECATED - Command not implemented.
Definition: LLSymbols.cpp:1088
LLSym_RemoveTagFromGroup
LLSYMBOLS_API LLSym_RemoveTagFromGroup(LLSymGroupHandle groupHandle, LLSymTagHandle tagHandle)
Remove specified tag from group of tags.
Definition: LLSymbols.cpp:3064