Update MSG_SYSTEM description in Data section in protocol documentation
[platform/core/system/swap-manager.git] / docs / protocol.rst
1 .. toctree::
2    :maxdepth: 2
3    :caption: Contents:
4
5 **SWAP Protocol 4.2**
6
7 .. contents::
8     :depth: 4
9
10 .. sectnum::
11
12 ***************
13 Control channel
14 ***************
15
16 Basic control message format
17 ============================
18
19 +------------+----------+---------------+-----------------------+
20 | name       | type     | value         | description           |
21 +============+==========+===============+=======================+
22 | message ID | uint32   | 0x0001~0x0022 | message type          |
23 +------------+----------+---------------+-----------------------+
24 | length     | uint32   | size          | payload length        |
25 +------------+----------+---------------+-----------------------+
26 | payload    | variable | variable      | payload data          |
27 +------------+----------+---------------+-----------------------+
28
29 Control message list
30 ====================
31
32 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
33 | message ID                      | value  | payload                 | type      | description                                                                                                       |
34 +=================================+========+=========================+===========+===================================================================================================================+
35 | MSG\_VERSION                    | 0x0001 | no payload              |           | request current protocol version                                                                                  |
36 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
37 | MSG\_START                      | 0x0002 | | applications count,   | | uint32, | | count must be no less than 1.                                                                                   |
38 |                                 |        | | ApplicationInst list  | | array,  | | ApplicationInst: target application to launch and trace, see :ref:`app_inst`                                    |
39 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
40 | MSG\_STOP                       | 0x0003 | no payload              |           | stop instrumentation                                                                                              |
41 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
42 | MSG\_CONFIG                     | 0x0004 | Configuration           | struct    | send profiling configuration, see :ref:`configuration`, it can be sent many times during instrumentation          |
43 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
44 | MSG\_BINARY\_INFO               | 0x0005 | | count of binaries,    | | uint32, | | count must be no less than 1.                                                                                   |
45 |                                 |        | | list of binaries      | | array   | | binaries: see :ref:`binaries`                                                                                   |
46 |                                 |        |                         |           | | Request binaries information such as local binary path, checking PIE built, and md5sum.                         |
47 |                                 |        |                         |           |   It doesn’t mean the binaries will be traced.                                                                    |
48 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
49 | MSG\_GET\_TARGET\_INFO          | 0x0007 | no payload              |           | request target information, see :ref:`target_info`                                                                |
50 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
51 | MSG\_SWAP\_INST\_ADD            | 0x0008 | | LibraryInst count,    | | uint32, | | count must be no less than 1.                                                                                   |
52 |                                 |        | | LibraryInst list      | | array   | | LibraryInst: see :ref:`lib_inst`                                                                                |
53 |                                 |        |                         |           | | Add libraries to instrumented binaries list. It can be sent anytime, both before and after MSG\_START.          |
54 |                                 |        |                         |           |   This information is kept until the da\_manager is disconnected.                                                 |
55 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
56 | MSG\_SWAP\_INST\_REMOVE         | 0x0009 | | LibraryInst count,    | | uint32, | | count must be no less than 1.                                                                                   |
57 |                                 |        | | LibraryInst list      | | array   | | LibraryInst: see :ref:`lib_inst`                                                                                |
58 |                                 |        |                         |           | | Remove libraries from instrumented binaries list. It can be sent anytime, both before and after MSG\_START.     |
59 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
60 | MSG\_GET\_PROBEMAP              | 0x000A | no payload              |           | request instrumented API map, see :ref:`api_map`                                                                  |
61 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
62 | MSG\_KEEP\_ALIVE                | 0x000F | no payload              |           | ping of swap\_daemon                                                                                              |
63 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
64 | MSG\_GET\_SCREENSHOT            | 0x0010 | no payload              |           | request screenshot                                                                                                |
65 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
66 | MSG\_GET\_PROCESS\_ADD\_INFO    | 0x0011 | | process ids count,    | | uint32, | request processes information, each pid is uint32 too                                                             |
67 |                                 |        | | process ids list      | | array   |                                                                                                                   |
68 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
69 | MSG\_GET\_UI\_HIERARCHY         | 0x0012 | rendering time option   | uint8     | request user interface objects.                                                                                   |
70 |                                 |        |                         |           |                                                                                                                   |
71 |                                 |        |                         |           | | "0" : request hierarchy, objects properties.                                                                    |
72 |                                 |        |                         |           | | "1" : request hierarchy, objects properties + rendering time.                                                   |
73 |                                 |        |                         |           | | "2" : request hierarchy, objects properties + Elementary objects rendering time.                                |
74 |                                 |        |                         |           | | "3" : same with "0" but used for UI of Host.                                                                    |
75 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
76 | MSG\_GET\_UI\_SCREENSHOT        | 0x0013 | ui object address       | uint64    | request screenshot of a specific Evas Object                                                                      |
77 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
78 | MSG\_GET\_UI\_HIERARCHY\_CANCEL | 0x0014 | no payload              |           | stop to collect uihv information.                                                                                 |
79 |                                 |        |                         |           | If SWAP is redrawing objects, it should be stopped.                                                               |
80 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
81 | MSG\_GET\_REALPATH              | 0x0020 | file path               | string    | file path string                                                                                                  |
82 +---------------------------------+--------+-------------------------+-----------+-------------------------------------------------------------------------------------------------------------------+
83
84 .. _types:
85
86 Types
87 -----
88
89 +----------+----------+------------------+------------------+
90 | name     | code     | type             | size in bytes    |
91 +==========+==========+==================+==================+
92 | char     | c        | uint8            | 1                |
93 +----------+----------+------------------+------------------+
94 | int      | d        | uint32           | 4                |
95 +----------+----------+------------------+------------------+
96 | long     | x        | uint64           | 8                |
97 +----------+----------+------------------+------------------+
98 | pointer  | p        | uint64           | 8                |
99 +----------+----------+------------------+------------------+
100 | float    | f        | float            | 4                |
101 +----------+----------+------------------+------------------+
102 | double   | w        | double           | 8                |
103 +----------+----------+------------------+------------------+
104 | bool     | b        | uint8            | 1                |
105 +----------+----------+------------------+------------------+
106 | void     | v        | no value         | 0                |
107 +----------+----------+------------------+------------------+
108 | none     | n        | no value         | 0                |
109 +----------+----------+------------------+------------------+
110 | string   | s        | "\\0" terminated | variable         |
111 |          |          | string           |                  |
112 +----------+----------+------------------+------------------+
113
114 .. _app_inst:
115
116 ApplicationInst
117 ---------------
118
119 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
120 | name             | type     | value                                  | description                                                                              |
121 +==================+==========+========================================+==========================================================================================+
122 | application type | uint32   | 1-4                                    | | 1: tizen native UI application                                                         |
123 |                  |          |                                        | | 2: already launched process or system-wide analysis (appID, path is null string "\\0") |
124 |                  |          |                                        | | 3: common executables                                                                  |
125 |                  |          |                                        | | 4: tizen web application                                                               |
126 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
127 | application ID   | string   | AppID, PID, "\\0"                      | | depends on the target application type                                                 |
128 |                  |          |                                        | | 1: AppID, pkg\_id.app\_name, the standard tizen native application ID                  |
129 |                  |          |                                        | |   $> launch\_app AppID \_\_AUL\_SDK\_\_ DYNAMIC\_ANALYSIS                              |
130 |                  |          |                                        | | 2: PID, "\\0" for system-wide analysis                                                 |
131 |                  |          |                                        | | 3: "\\0"                                                                               |
132 |                  |          |                                        | | 4: AppID, pkg\_id.app\_name, the standard tizen web application ID                     |
133 |                  |          |                                        | |   $> wrt-launcher --start AppID                                                        |
134 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
135 | executable path  | string   | name or full path of aplication binary | "\\0" for system-wide analysis                                                           |
136 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
137 | count of         | uint32   | count of array                         | count of FunctionInst objects. It should be 0 if function profiling feature is disabled. |
138 | functions        |          |                                        |                                                                                          |
139 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
140 | FunctionInst List| array    | array of FunctionInst to instrument    | see :ref:`function_inst`                                                                 |
141 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
142 | setup data       | uint64   | data                                   | | depends on the target application type                                                 |
143 |                  |          |                                        | | 1: main address(8byte)                                                                 |
144 |                  |          |                                        | | 2, 3, 4 : nothing                                                                      |
145 +------------------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
146
147 .. _function_inst:
148
149 FunctionInst
150 ------------
151
152 +-------------------+---------+-----------------------+------------------------------------------------------------------------------+
153 | name              | type    | value                 | description                                                                  |
154 +===================+=========+=======================+==============================================================================+
155 | function address  | uint64  | pointer               | profiled function address                                                    |
156 +-------------------+---------+-----------------------+------------------------------------------------------------------------------+
157 | probe type        | char    | 0 - 3                 | | 0 â€“ common,                                                                |
158 |                   |         |                       | | 1 â€“ function body instrumentation,                                         |
159 |                   |         |                       | | 2 â€“ preloaded API,                                                         |
160 |                   |         |                       | | 3 â€“ web application profiling                                              |
161 +-------------------+---------+-----------------------+------------------------------------------------------------------------------+
162 | probe data        | variable| depends on probe type | specified probe data, see :ref:`common_probe`, :ref:`fbi_probe`              |
163 +-------------------+---------+-----------------------+------------------------------------------------------------------------------+
164
165 .. _common_probe:
166
167 Common probe
168 ^^^^^^^^^^^^
169
170 +----------+----------+-----------------+-----------------------------------------------------+
171 | name     | type     | value           | description                                         |
172 +==========+==========+=================+=====================================================+
173 | args     | string   | array of types  | string of type codes: see :ref:`types` + end "\\0"  |
174 +----------+----------+-----------------+-----------------------------------------------------+
175 | return   | char     | return type     | type code: see :ref:`types` + end "\\0"             |
176 +----------+----------+-----------------+-----------------------------------------------------+
177
178 .. _fbi_probe:
179
180 Function body instrumentation probe
181 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
182
183 +-----------------------+-----------------+--------------+----------------------------+
184 | name                  | type            | value        | description                |
185 +=======================+=================+==============+============================+
186 | fbi variables count   | uint8           | any number   | count of elements in array |
187 +-----------------------+-----------------+--------------+----------------------------+
188 | fbi variables array   | array           | variables    | see :ref:`fbi_var`         |
189 +-----------------------+-----------------+--------------+----------------------------+
190
191 .. _fbi_var:
192
193 Function body instrumentation variable
194 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195
196 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
197 | name            | type         | value           | description                                                                             |
198 +=================+==============+=================+=========================================================================================+
199 | variable id     | uint64       | any number      |                                                                                         |
200 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
201 | register offset | uint64       | register offset | offset corresponding to the registers value address.                                    |
202 |                 |              |                 | variable position is evaluated by the following rule:                                   |
203 |                 |              |                 |                                                                                         |
204 |                 |              |                 |   var_position = \*(pointer_to_register) â€“ reg_offset.                                  |
205 |                 |              |                 |                                                                                         |
206 |                 |              |                 | It is expected that the offset is not null only when we're taking var value from stack. |
207 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
208 | register number | uint8        | register number | register number where target value is stored                                            |
209 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
210 | data size       | uint32       | size            | size to be read                                                                         |
211 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
212 | steps count     | uint8        | any number      | count of elements in steps array                                                        |
213 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
214 | steps array     | array        | steps           | see :ref:`fbi_step`                                                                     |
215 +-----------------+--------------+-----------------+-----------------------------------------------------------------------------------------+
216
217 .. _fbi_step:
218
219 Function body instrumentation variable step
220 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
221
222 +---------------+-------+---------------+----------------------------------------------------------------+
223 | name          | type  | value         | description                                                    |
224 +===============+=======+===============+================================================================+
225 | pointer order | uint8 | pointer order | kind of data located on the target address:                    |
226 |               |       |               |   | 0 - variable itself,                                       |
227 |               |       |               |   | 1 â€“ pointer to the variable,                               |
228 |               |       |               |   | 2 â€“ pointer to the pointer to the variable, etc.           |
229 +---------------+-------+---------------+----------------------------------------------------------------+
230 | memory offset | uint64| offset        | data offset                                                    |
231 +---------------+-------+---------------+----------------------------------------------------------------+
232
233 .. _lib_inst:
234
235 LibraryInst
236 -----------
237
238 +--------------------+----------+-------------------------------------+---------------------------------------------+
239 | name               | type     | value                               | description                                 |
240 +====================+==========+=====================================+=============================================+
241 | path of binary     | string   | path                                | full path of binary on target               |
242 +--------------------+----------+-------------------------------------+---------------------------------------------+
243 | count of Functions | int      | count of array                      | count of FunctionInst objects,              |
244 |                    |          |                                     | In MSG\_SWAP\_INST\_REMOVE, this should be 0|
245 +--------------------+----------+-------------------------------------+---------------------------------------------+
246 | FunctionInst List  | array    | array of FunctionInst to instrument | see :ref:`function_inst`                    |
247 +--------------------+----------+-------------------------------------+---------------------------------------------+
248
249 .. _binaries:
250
251 Binaries
252 --------
253
254 +------------------+----------+----------------------------+---------------------------------------------------+
255 | name             | type     | value                      | description                                       |
256 +==================+==========+============================+===================================================+
257 | binaries list    | array of | "\\0" separated            | list of full paths of the executable binaries     |
258 |                  | strings  | string list                | on the target device                              |
259 +------------------+----------+----------------------------+---------------------------------------------------+
260
261 .. _configuration:
262
263 Configuration
264 -------------
265
266 +---------------------+----------------+-------------------------+-------------------------------------------------------------------------------+
267 | name                | type           | value                   | description                                                                   |
268 +=====================+================+=========================+===============================================================================+
269 | use\_features       | 2 * uint64     | enabled features        | on & off each features, see :ref:`features`                                   |
270 +---------------------+----------------+-------------------------+-------------------------------------------------------------------------------+
271 | system trace period | uint32         | millisecond (10~1000ms) | set the frequency of the MSG\_SYSTEM log                                      |
272 +---------------------+----------------+-------------------------+-------------------------------------------------------------------------------+
273 | sampling period     | uint32         | millisecond (1~100ms)   | set the frequency of the function sampling                                    |
274 +---------------------+----------------+-------------------------+-------------------------------------------------------------------------------+
275
276 .. _features:
277
278 Features
279 --------
280
281 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
282 | feature name                       | value           | description                                                      | affected data messages              |
283 +====================================+=================+==================================================================+=====================================+
284 | functions                          | 0x0004          | user space functions                                             | :ref:`msg_function_entry`,          |
285 |                                    |                 |                                                                  | :ref:`msg_function_exit`            |
286 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
287 | memory allocation                  | 0x0008          | direct memory allocation API calls                               | :ref:`msg_probe_memory`             |
288 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
289 | file API                           | 0x0010          | direct file API calls                                            | :ref:`msg_probe_resource`           |
290 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
291 | thread API                         | 0x0020          | direct thread API calls                                          | :ref:`msg_probe_thread`             |
292 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
293 | screenshot                         | 0x0080          | screenshot taking                                                | :ref:`msg_probe_screenshot`         |
294 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
295 | user events                        | 0x0100          | user events of Touch, Gesture, Orientation, Key                  | :ref:`msg_probe_uievent`            |
296 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
297 | syscall file                       | 0x0400          | file operation syscalls                                          | :ref:`msg_syscall_entry`            |
298 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
299 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
300 | syscall ipc                        | 0x0800          | IPC syscalls                                                     | :ref:`msg_syscall_entry`            |
301 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
302 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
303 | syscall process                    | 0x1000          | process syscalls                                                 | :ref:`msg_syscall_entry`            |
304 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
305 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
306 | syscall signal                     | 0x2000          | signal syscalls                                                  | :ref:`msg_syscall_entry`            |
307 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
308 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
309 | syscall network                    | 0x4000          | network syscalls                                                 | :ref:`msg_syscall_entry`            |
310 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
311 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
312 | syscall desc                       | 0x8000          | descriptor syscalls                                              | :ref:`msg_syscall_entry`            |
313 |                                    |                 |                                                                  | :ref:`msg_syscall_exit`             |
314 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
315 | context switch                     | 0x10000         | context switch tracing                                           | :ref:`msg_context_switch`           |
316 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
317 | network API                        | 0x20000         | network API (socket, bind, accept, listen, etc)                  | :ref:`msg_probe_network`            |
318 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
319 | openGL API                         | 0x40000         | openGL API (glFlush, glClear, glViewport, etc)                   | :ref:`msg_probe_gl`                 |
320 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
321 | function sampling                  | 0x80000         | function sampling                                                | :ref:`msg_fbi`                      |
322 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
323 | memory allocation nofilter         | 0x10000000      | all systemwide memory allocation API calls                       | :ref:`msg_probe_memory`             |
324 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
325 | file API nofilter                  | 0x20000000      | all systemwide file API calls                                    | :ref:`msg_probe_resource`           |
326 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
327 | thread API nofilter                | 0x40000000      | all systemwide thread API calls                                  | :ref:`msg_probe_thread`             |
328 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
329 | network API nofilter               | 0x100000000     | all systemwide network API calls                                 | :ref:`msg_probe_network`            |
330 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
331 | openGL API nofilter                | 0x200000000     | all systemwide openGL API calls                                  | :ref:`msg_probe_gl`                 |
332 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
333 | system cpu                         | 0x1000000000    | CPU core load, frequency                                         | :ref:`msg_system`                   |
334 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
335 | system memory                      | 0x2000000000    | system memory using                                              | :ref:`msg_system`                   |
336 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
337 | system process                     | 0x4000000000    | profiled processes information (VSS, PSS, RSS, etc)              | :ref:`msg_system`                   |
338 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
339 | system thread load                 | 0x8000000000    | thread load of profiled processes                                | :ref:`msg_system`                   |
340 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
341 | system processes load              | 0x10000000000   | non instrumented process load                                    | :ref:`msg_system`                   |
342 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
343 | system disk                        | 0x20000000000   | /proc/diskstats reads, sectors reads and writes                  | :ref:`msg_system`                   |
344 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
345 | system network                     | 0x40000000000   | network send/recv size                                           | :ref:`msg_system`                   |
346 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
347 | system device                      | 0x80000000000   | WiFi, BT, GPS, brightness, camera, sound, audio, voltage and etc | :ref:`msg_system`                   |
348 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
349 | system energy                      | 0x100000000000  | energy usage (total, per devices, by application)                | :ref:`msg_system`                   |
350 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
351 | native application startup         | 0x200000000000  | application launching stage                                      | :ref:`msg_app_setup_stage`          |
352 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
353 | web application                    | 0x400000000000  | web function profiling feature                                   | :ref:`msg_web_sampling`             |
354 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
355 | web application startup            | 0x800000000000  | web startup profiling feature                                    | :ref:`msg_web_app_setup_stage`      |
356 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
357 | system file activity               | 0x1000000000000 | function entry/exit for file syscalls                            | :ref:`msg_file_func_entry`,         |
358 |                                    |                 |                                                                  | :ref:`msg_file_func_exit`           |
359 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
360 | uihv                               | 0x2000000000000 | load user interface hierarchy viewer library                     | :ref:`msg_ui_hierarchy`             |
361 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
362 | LSAN                               | 0x4000000000000 | enable LeakSanitizer                                             | :ref:`msg_lsan`                     |
363 +------------------------------------+-----------------+------------------------------------------------------------------+-------------------------------------+
364
365
366 Response message
367 ================
368
369 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
370 | message ID                           | value  | payload (first 4 bytes) | payload (rest bytes)           | description                                            |
371 +======================================+========+=========================+================================+========================================================+
372 | MSG\_UNKNOWN\_ACK                    | 0x1000 | return ID               | no payload                     | unknown message received                               |
373 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
374 | MSG\_VERSION\_ACK                    | 0x1001 | return ID               | version string                 | reply version, current version is "4.2"                |
375 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
376 | MSG\_START\_ACK                      | 0x1002 | return ID               | profiling start time           | time when the swap\_deamon send                        |
377 |                                      |        |                         |                                | the MSG\_START\_ACK                                    |
378 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
379 | MSG\_STOP\_ACK                       | 0x1003 | return ID               | no payload                     | stop received                                          |
380 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
381 | MSG\_CONFIG\_ACK                     | 0x1004 | return ID               | no payload                     | config received                                        |
382 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
383 | MSG\_BINARY\_INFO\_ACK               | 0x1005 | return ID               | count of binary ack,           | reply binaries information                             |
384 |                                      |        |                         | list of binary ack             |                                                        |
385 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
386 | MSG\_GET\_TARGET\_INFO\_ACK          | 0x1007 | return ID               | target information             | reply target information                               |
387 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
388 | MSG\_SWAP\_INST\_ADD\_ACK            | 0x1008 | return ID               | no payload                     | instrumentation add message received                   |
389 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
390 | MSG\_SWAP\_INST\_REMOVE\_ACK         | 0x1009 | return ID               | no payload                     | instrumentation remove message received                |
391 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
392 | MSG\_GET\_PROBEMAP\_ACK              | 0x100A | return ID               | count of APIs,                 | reply API map: count is uint32,                        |
393 |                                      |        |                         | array of API map               | see :ref:`api_map`                                     |
394 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
395 | MSG\_KEEP\_ALIVE\_ACK                | 0x100F | return ID               | no payload                     | ping message received                                  |
396 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
397 | MSG\_GET\_SCREENSHOT\_ACK            | 0x1010 | return ID               | no payload                     | screenshot request received                            |
398 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
399 | MSG\_GET\_PROCESS\_ADD\_INFO\_ACK    | 0x1011 | return ID               | count of process ids,          | reply processes information: count is uint32,          |
400 |                                      |        |                         | array of process addition info | see :ref:`process_additional_info`                     |
401 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
402 | MSG\_GET\_UI\_HIERARCHY\_ACK         | 0x1012 | return ID               | no payload                     | hierarchy request received                             |
403 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
404 | MSG\_GET\_UI\_SCREENSHOT\_ACK        | 0x1013 | return ID               | screenshot image file path     | reply screenshot file path of requested object         |
405 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
406 | MSG\_GET\_UI\_HIERARCHY\_CANCEL\_ACK | 0X1014 | return ID               | no payload                     | hierarchy cancel request received                      |
407 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
408 | MSG\_GET\_REALPATH\_ACK              | 0x1020 | return ID               | real path of given file        | reply file path on target, "\\0" if file doesn't exist |
409 +--------------------------------------+--------+-------------------------+--------------------------------+--------------------------------------------------------+
410
411 .. _return_id:
412
413 Return ID: 4 bytes integer
414 --------------------------
415
416 +-------+--------------------------------------------------------------+
417 | value | description                                                  |
418 +=======+==============================================================+
419 | 0     | success                                                      |
420 +-------+--------------------------------------------------------------+
421 | -101  | lock file create failed                                      |
422 +-------+--------------------------------------------------------------+
423 | -102  | already running                                              |
424 +-------+--------------------------------------------------------------+
425 | -103  | initialize system info failed                                |
426 +-------+--------------------------------------------------------------+
427 | -104  | host server socket create failed                             |
428 +-------+--------------------------------------------------------------+
429 | -105  | target server socket create failed                           |
430 +-------+--------------------------------------------------------------+
431 | -201  | wrong message format                                         |
432 +-------+--------------------------------------------------------------+
433 | -202  | wrong message type                                           |
434 +-------+--------------------------------------------------------------+
435 | -203  | wrong message data                                           |
436 +-------+--------------------------------------------------------------+
437 | -204  | cannot start profiling                                       |
438 +-------+--------------------------------------------------------------+
439 | -205  | the message is too long to process for the swap manager      |
440 +-------+--------------------------------------------------------------+
441 | -206  | target is not found                                          |
442 +-------+--------------------------------------------------------------+
443 | -207  | ui object is not found                                       |
444 +-------+--------------------------------------------------------------+
445 | -208  | can't take screenshot because App is in background           |
446 +-------+--------------------------------------------------------------+
447 | -800  | unsupported request by security reason                       |
448 +-------+--------------------------------------------------------------+
449 | -900  | server socket creation failed (written in /tmp/da.port file) |
450 +-------+--------------------------------------------------------------+
451 | -901  | server socket bind failed (written in /tmp/da.port file)     |
452 +-------+--------------------------------------------------------------+
453 | -902  | server socket listen failed (written in /tmp/da.port file)   |
454 +-------+--------------------------------------------------------------+
455 | -999  | unknown error                                                |
456 +-------+--------------------------------------------------------------+
457
458 .. _binary_ack:
459
460 Binary ack
461 ----------
462
463 +-------------------+--------+-------+-------------------------------------------------------------------------------------------------------------+
464 | name              | type   | value | description                                                                                                 |
465 +===================+========+=======+=============================================================================================================+
466 | binary path       | string | path  | passed from control message (key of binary ack element)                                                     |
467 +-------------------+--------+-------+-------------------------------------------------------------------------------------------------------------+
468 | binary build type | uint32 | type  | 0001: PIE built, -1 : No binary                                                                             |
469 +-------------------+--------+-------+-------------------------------------------------------------------------------------------------------------+
470 | local binary path | string | path  | binary path in local pc.                                                                                    |
471 |                   |        |       | DA host read the real binary by this information, get the symbol and use it for the source link.            |
472 +-------------------+--------+-------+-------------------------------------------------------------------------------------------------------------+
473 | md5sum            | string | md5   | md5sum value of the binary on the target                                                                    |
474 +-------------------+--------+-------+-------------------------------------------------------------------------------------------------------------+
475
476 .. _target_info:
477
478 Target information
479 ------------------
480
481 +------------------------------+----------+----------------------------+------------------------------+
482 | name                         | type     | value                      | description                  |
483 +==============================+==========+============================+==============================+
484 | system memory size           | uint64   | size                       | target system memory size    |
485 +------------------------------+----------+----------------------------+------------------------------+
486 | storage size                 | uint64   | size                       | target system storage size   |
487 +------------------------------+----------+----------------------------+------------------------------+
488 | bluetooth support            | uint32   | 0, 1                       | is bluetooth available       |
489 +------------------------------+----------+----------------------------+------------------------------+
490 | gps support                  | uint32   | 0, 1                       | is gps available             |
491 +------------------------------+----------+----------------------------+------------------------------+
492 | wifi support                 | uint32   | 0, 1                       | is wifi available            |
493 +------------------------------+----------+----------------------------+------------------------------+
494 | camera count                 | uint32   | number                     | count of cameras on target   |
495 +------------------------------+----------+----------------------------+------------------------------+
496 | network type                 | string   | type string                | WCDMA/3G/LTE                 |
497 +------------------------------+----------+----------------------------+------------------------------+
498 | max brightness               | uint32   | number                     | target maximum brightness    |
499 +------------------------------+----------+----------------------------+------------------------------+
500 | number of CPU cores          | uint32   | number                     | count of CPU cores on target |
501 +------------------------------+----------+----------------------------+------------------------------+
502
503 .. _api_map:
504
505 API map
506 -------
507
508 +----------+--------+-------+------------------------+
509 | name     | type   | value | description            |
510 +==========+========+=======+========================+
511 | API ID   | uint32 | id    | function id            |
512 +----------+--------+-------+------------------------+
513 | API name | string | name  | corresponding API name |
514 +----------+--------+-------+------------------------+
515
516 .. _process_additional_info:
517
518 Process additional info
519 -----------------------
520
521 +-------------------+--------+-------+------------------------------------------------+
522 | name              | type   | value | description                                    |
523 +===================+========+=======+================================================+
524 | pid               | uint32 | id    | process id                                     |
525 +-------------------+--------+-------+------------------------------------------------+
526 | command line name | string | name  | command line name of corresponding pid process |
527 +-------------------+--------+-------+------------------------------------------------+
528
529 ************
530 Data channel
531 ************
532
533 Basic data message format
534 =========================
535
536 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
537 | name            | type         | value         | description                                                                       |
538 +=================+==============+===============+===================================================================================+
539 | message ID      | uint32       | 0x0001~0xFFFF | identify the message                                                              |
540 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
541 | sequence number | uint32       | number        | sequential data message number, next to 0xFFFFFFFF is 0x0                         |
542 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
543 | time            | uint64       | time          | time when the message was written in (uint32 seconds << 32) + uint32 nanoseconds  |
544 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
545 | length          | uint32       | any number    | length of the payload                                                             |
546 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
547 | payload         | variable     | variable      | message-specific data                                                             |
548 +-----------------+--------------+---------------+-----------------------------------------------------------------------------------+
549
550 Data messages
551 =============
552
553 Data message list
554 -----------------
555
556 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
557 | message ID                  | value  | message count             | message frequency | description                                                                     |
558 +=============================+========+===========================+===================+=================================================================================+
559 | MSG\_PROCESS\_INFO          | 0x0001 | count of target processes | irregular         | target process info log, see :ref:`msg_process_info`                            |
560 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
561 | MSG\_TERMINATE              | 0x0002 | count of target processes | irregular         | termination happened, see :ref:`msg_terminate`                                  |
562 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
563 | MSG\_ERROR                  | 0x0003 | any number                | irregular         | error happened, see :ref:`msg_error`                                            |
564 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
565 | MSG\_SAMPLE                 | 0x0004 | any number                | 10ms              | regular sample message, see :ref:`msg_sample`                                   |
566 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
567 | MSG\_SYSTEM                 | 0x0005 | any number                | 10~1000ms         | regular system state message from tracing start time, see :ref:`msg_system`     |
568 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
569 | MSG\_FUNCTION\_ENTRY        | 0x0008 | any number                | irregular         | function instrumentation log, see :ref:`msg_function_entry`                     |
570 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
571 | MSG\_FUNCTION\_EXIT         | 0x0009 | any number                | irregular         | function instrumentation log, see :ref:`msg_function_exit`                      |
572 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
573 | MSG\_SYSCALL\_ENTRY         | 0x000A | any number                | irregular         | system call function entry log, see :ref:`msg_syscall_entry`                    |
574 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
575 | MSG\_SYSCALL\_EXIT          | 0x000B | any number                | irregular         | system call function entry log, see :ref:`msg_syscall_exit`                     |
576 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
577 | MSG\_FILE\_FUNCTION\_ENTRY  | 0x000C | any number                | irregular         | non-target process file system call entry log, see :ref:`msg_file_func_entry`   |
578 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
579 | MSG\_FILE\_FUNCTION\_EXIT   | 0x000D | any number                | irregular         | non-target process file system call entry log, see :ref:`msg_file_func_exit`    |
580 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
581 | MSG\_PROCESS\_STATUS\_INFO  | 0x000E | any number                | irregular         | running process has been attached (this message should be sent                  |
582 |                             |        |                           |                   | right after MSG\_PROCESS\_INFO), see :ref:`msg_process_status_info`             |
583 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
584 | MSG\_CONTEXT\_SWITCH\_ENTRY | 0x0010 | any number                | irregular         | context switch entry log, see :ref:`msg_context_switch`                         |
585 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
586 | MSG\_CONTEXT\_SWITCH\_EXIT  | 0x0011 | any number                | irregular         | context switch exit log, see :ref:`msg_context_switch`                          |
587 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
588 | MSG\_PROCESS\_MAP           | 0x0012 | any number                | irregular         | new process mapping occured, see :ref:`msg_process_map`                         |
589 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
590 | MSG\_PROCESS\_UNMAP         | 0x0013 | any number                | irregular         | process upmapping occured, see :ref:`msg_process_unmap`                         |
591 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
592 | MSG\_WEB\_SAMPLING          | 0x0015 | any number                | irregular         | web sampling log, see :ref:`msg_web_sampling`                                   |
593 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
594 | MSG\_APP\_SETUP\_STAGE      | 0x0019 | any number                | irregular         | application launching stage log, see :ref:`msg_app_setup_stage`                 |
595 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
596 | MSG\_WEB\_APP\_SETUP\_STAGE | 0x001A | any number                | irregular         | web application launching stage log, see :ref:`msg_web_app_setup_stage`         |
597 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
598 | MSG\_FBI                    | 0x0020 | any number                | irregular         | function body instrumentation log, see :ref:`msg_fbi`                           |
599 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
600 | MSG\_UI\_HIERARCHY          | 0x0021 | any number                | irregular         | ui hierarchy info, see :ref:`msg_ui_hierarchy`                                  |
601 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
602 | MSG\_PROBE                  | 0x01xx | any number                | irregular         | resource log, see :ref:`msg_probe`                                              |
603 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
604 | MSG\_PROBE\_MEMORY          | 0X0101 | any number                | irregular         | memory API log, see :ref:`msg_probe_memory`                                     |
605 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
606 | MSG\_PROBE\_UIEVENT         | 0X0103 | any number                | irregular         | ui event resource log, see :ref:`msg_probe_uievent`                             |
607 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
608 | MSG\_PROBE\_RESOURCE        | 0X0104 | any number                | irregular         | file API log, see :ref:`msg_probe_resource`                                     |
609 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
610 | MSG\_PROBE\_LIFECYCLE       | 0X0105 | any number                | irregular         | application lifecycle resource log, see :ref:`msg_probe_lifecycle`              |
611 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
612 | MSG\_PROBE\_SCREENSHOT      | 0X0106 | any number                | irregular         | screenshot resource log, see :ref:`msg_probe_screenshot`                        |
613 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
614 | MSG\_PROBE\_THREAD          | 0X0108 | any number                | irregular         | thread API log, see :ref:`msg_probe_thread`                                     |
615 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
616 | MSG\_PROBE\_SYNC            | 0X0110 | any number                | irregular         | sync API log, see :ref:`msg_probe_sync`                                         |
617 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
618 | MSG\_PROBE\_NETWORK         | 0x0111 | any number                | irregular         | network API log, see :ref:`msg_probe_network`                                   |
619 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
620 | MSG\_PROBE\_GL              | 0x0112 | any number                | irregular         | openGL API log, see :ref:`msg_probe_gl`                                         |
621 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
622 | MSG\_LSAN                   | 0x0022 | any number                | irregular         | LSAN log, see :ref:`msg_lsan`                                                   |
623 +-----------------------------+--------+---------------------------+-------------------+---------------------------------------------------------------------------------+
624
625 .. _msg_process_info:
626
627 MSG\_PROCESS\_INFO
628 ------------------
629
630 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
631 | name                      | type     | value    | description                                                                   |
632 +===========================+==========+==========+===============================================================================+
633 | pid                       | uint32   | pid      | current process id                                                            |
634 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
635 | command name              | string   | command  | command line string for the process                                           |
636 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
637 | ppid                      | uint32   | pid      | parent process id                                                             |
638 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
639 | start time                | uint64   | time     | app launch time when init is called in                                        |
640 |                           |          |          | (uint32 seconds << 32) + uint32 nanoseconds                                   |
641 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
642 | lowest address            | uint64   | pointer  | lower boundary address of executable in /proc/pid/maps file                   |
643 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
644 | highest address           | uint64   | pointer  | upper boundary address of executable in /proc/pid/maps file                   |
645 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
646 | binary path               | string   | path     | binary path on target, userd for key in the host                              |
647 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
648 | dependent libraries count | uint32   | number   | count of elements in dependent libraries array                                |
649 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
650 | dependent library list    | array    | array of | see :ref:`library`                                                            |
651 |                           |          | objects  |                                                                               |
652 +---------------------------+----------+----------+-------------------------------------------------------------------------------+
653
654 .. _library:
655
656 Library
657 ^^^^^^^
658
659 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
660 | name             | type   | value    | description                                                                                                  |
661 +==================+========+==========+==============================================================================================================+
662 | lowest address   | uint64 | pointer  | lower boundary address of library                                                                            |
663 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
664 | highest address  | uint64 | pointer  | upper boundary address of library                                                                            |
665 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
666 | library path     | string | path     | only regular file paths (not symbol links). e.g., /usr/lib/libfoo.so.0.0.0 instead of /usr/lib/libfoo.so     |
667 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
668
669 .. _msg_sample:
670
671 MSG\_SAMPLE
672 -----------
673
674 +------------+--------+---------+----------------------------------------+
675 | name       | type   | value   | description                            |
676 +============+========+=========+========================================+
677 | PID        | uint32 | pid     | process id                             |
678 +------------+--------+---------+----------------------------------------+
679 | PC address | uint64 | pointer | address from pc register,              |
680 |            |        |         | current execution address              |
681 +------------+--------+---------+----------------------------------------+
682 | TID        | uint32 | tid     | thread id                              |
683 +------------+--------+---------+----------------------------------------+
684 | CPU num    | uint32 | number  | on which CPU the function was executed |
685 +------------+--------+---------+----------------------------------------+
686
687 .. _msg_system:
688
689 MSG\_SYSTEM
690 -----------
691
692 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
693 | name                                   | type     | value                 | description                                                                       |
694 +========================================+==========+=======================+===================================================================================+
695 | CPU frequency                          | array    | array of floats       | CPU frequency for each CPU                                                        |
696 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
697 | CPU load                               | array    | array of floats       | CPU load for each CPU                                                             |
698 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
699 | system memory used                     | uint64   | size                  | used memory amount in bytes,                                                      |
700 |                                        |          |                       | which is total usable RAM without temporary buffers, without free memory, and     |
701 |                                        |          |                       | without cache for files read from the disk                                        |
702 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
703 | count of target processes              | uint32   | number                | instrumented processes count                                                      |
704 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
705 | process profiling information          | struct   | process profiling     | see :ref:`process_profiling`, process info for each instrumented process          |
706 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
707 | count of the other processes           | uint32   | number                | the other processes count                                                         |
708 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
709 | process load                           | array    | array of objects      | see :ref:`process_load`                                                           |
710 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
711 | total used drive                       | uint32   | number                | used flash memory in MBs                                                          |
712 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
713 | disk reads                             | uint32   | number                | disk reads amount from /proc/diskstats                                            |
714 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
715 | disk sectors read                      | uint32   | number                | disk sectors reads amount from /proc/diskstats                                    |
716 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
717 | disk writes                            | uint32   | number                | disk writes amount from /proc/diskstats                                           |
718 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
719 | disk sectors written                   | uint32   | number                | disk sectors written amount from /proc/diskstats                                  |
720 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
721 | network send size                      | uint32   | number                | bytes amount sent from /proc/net/dev                                              |
722 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
723 | network receive size                   | uint32   | number                | bytes amount received from /proc/net/dev                                          |
724 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
725 | WiFi status                            | uint32   | number                | WiFi state from vconf                                                             |
726 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
727 | BT status                              | uint32   | number                | bluetooth state from vconf                                                        |
728 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
729 | GPS status                             | uint32   | number                | GPS state from vconf                                                              |
730 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
731 | Brightness status                      | uint32   | number                | brightness level from vconf                                                       |
732 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
733 | Camera status                          | uint32   | number                | camera state from vconf                                                           |
734 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
735 | Sound status                           | uint32   | number                | sound level from vconf                                                            |
736 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
737 | Audio status                           | uint32   | number                | audio state from vconf                                                            |
738 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
739 | Vibration status                       | uint32   | number                | vibration state from vconf                                                        |
740 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
741 | Voltage status                         | uint32   | number                | voltage state from /sys/class/power_supply/battery/voltage_now                    |
742 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
743 | RSSI status                            | uint32   | number                | current telephony network RSSI strength from vconf                                |
744 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
745 | Video status                           | uint32   | number                | video state from vconf                                                            |
746 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
747 | Call status                            | uint32   | number                | call state from vconf                                                             |
748 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
749 | DNet status                            | uint32   | number                | network state from vconf                                                          |
750 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
751 | energy usage                           | uint32   | number                | total energy usage in watts                                                       |
752 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
753 | energy usage per devices               | array    | array of uint32       | energy usage for each device in watts                                             |
754 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
755 | application energy usage per devices   | array    | array of uint32       | energy usage by application for each device in watts                              |
756 +----------------------------------------+----------+-----------------------+-----------------------------------------------------------------------------------+
757
758 .. _process_profiling:
759
760 Process profiling
761 ^^^^^^^^^^^^^^^^^
762
763 +------------------+--------+-----------------------+-------------------------------------------------+
764 | name             | type   | value                 | description                                     |
765 +==================+========+=======================+=================================================+
766 | PID              | uint32 | pid                   | process id                                      |
767 +------------------+--------+-----------------------+-------------------------------------------------+
768 | process load     | float  | float number          | CPU load of the process                         |
769 +------------------+--------+-----------------------+-------------------------------------------------+
770 | virtual memory   | uint64 | size                  | virtual memory size in bytes                    |
771 +------------------+--------+-----------------------+-------------------------------------------------+
772 | resident memory  | uint64 | size                  | resident memory size in bytes                   |
773 +------------------+--------+-----------------------+-------------------------------------------------+
774 | shared memory    | uint64 | size                  | shared memory size in bytes                     |
775 +------------------+--------+-----------------------+-------------------------------------------------+
776 | PSS memory       | uint64 | size                  | amount of RAM mapped into the process weighted  |
777 |                  |        |                       | by the amount it is shared across processes     |
778 +------------------+--------+-----------------------+-------------------------------------------------+
779 | GEM memory       | uint64 | size                  | sum of graphics execution manager memory        |
780 |                  |        |                       | in bytes                                        |
781 +------------------+--------+-----------------------+-------------------------------------------------+
782 | 3D memory        | uint64 | size                  | allocated by GPU driver memory size in bytes    |
783 +------------------+--------+-----------------------+-------------------------------------------------+
784 | total alloc size | uint64 | size                  | allocated memory size in bytes                  |
785 +------------------+--------+-----------------------+-------------------------------------------------+
786 | count of threads | uint32 | any number            | count of elements in thread load array          |
787 +------------------+--------+-----------------------+-------------------------------------------------+
788 | thread load list | array  | array of objects      | see :ref:`thread_load`                          |
789 +------------------+--------+-----------------------+-------------------------------------------------+
790
791 .. _process_load:
792
793 Process load
794 ^^^^^^^^^^^^
795
796 +------------+--------+--------------+----------------------------------------+
797 | name       | type   | value        | description                            |
798 +============+========+==============+========================================+
799 | PID        | uint32 | pid          | process id                             |
800 +------------+--------+--------------+----------------------------------------+
801 | load       | float  | float number | CPU load of the process                |
802 +------------+--------+--------------+----------------------------------------+
803
804 .. _thread_load:
805
806 Thread load
807 ^^^^^^^^^^^
808
809 +------------+--------+--------------+----------------------------------------+
810 | name       | type   | value        | description                            |
811 +============+========+==============+========================================+
812 | TID        | uint32 | tid          | thread id                              |
813 +------------+--------+--------------+----------------------------------------+
814 | load       | float  | float number | CPU load of the thread                 |
815 +------------+--------+--------------+----------------------------------------+
816
817 .. _msg_process_status_info:
818
819 MSG\_PROCESS\_STATUS\_INFO
820 --------------------------
821
822 +--------------------+----------+------------------+------------------------------------------------------------------------+
823 | name               | type     | value            | description                                                            |
824 +====================+==========+==================+========================================================================+
825 | pid                | uint32   | pid              | process id                                                             |
826 +--------------------+----------+------------------+------------------------------------------------------------------------+
827 | opened files count | uint32   | any number       | count of elements in opened files array (0 if file option is disabled) |
828 +--------------------+----------+------------------+------------------------------------------------------------------------+
829 | opened files list  | array    | array of objects | see :ref:`opened_files`                                                |
830 +--------------------+----------+------------------+------------------------------------------------------------------------+
831 | opened sockets     | uint32   | any number       | count of elements in opened sockets array                              |
832 | count              |          |                  | (0 if file option is disabled)                                         |
833 +--------------------+----------+------------------+------------------------------------------------------------------------+
834 | opened sockets list| array    | array of objects | see :ref:`opened_sockets`                                              |
835 +--------------------+----------+------------------+------------------------------------------------------------------------+
836
837 .. _opened_files:
838
839 Opened files
840 ^^^^^^^^^^^^
841
842 +-----------+--------+----------+---------------------+
843 | name      | type   | value    | description         |
844 +===========+========+==========+=====================+
845 | FD        | uint32 | fd       | file descriptor     |
846 +-----------+--------+----------+---------------------+
847 | TID       | uint32 | tid      | thread id           |
848 +-----------+--------+----------+---------------------+
849 | file size | uint64 | size     | file size in bytes  |
850 +-----------+--------+----------+---------------------+
851 | file path | string | path     | file path on target |
852 +-----------+--------+----------+---------------------+
853
854 .. _opened_sockets:
855
856 Opened sockets
857 ^^^^^^^^^^^^^^
858
859 +-----------+--------+----------+---------------------+
860 | name      | type   | value    | description         |
861 +===========+========+==========+=====================+
862 | FD        | uint32 | fd       | file descriptor     |
863 +-----------+--------+----------+---------------------+
864 | ip        | uint64 | ip       | ip address          |
865 +-----------+--------+----------+---------------------+
866 | port      | string | variable | port string         |
867 +-----------+--------+----------+---------------------+
868
869 .. _msg_terminate:
870
871 MSG\_TERMINATE
872 --------------
873
874 +------+--------+-------+-------------+
875 | name | type   | value | description |
876 +======+========+=======+=============+
877 | PID  | uint32 | pid   | process id  |
878 +------+--------+-------+-------------+
879
880 .. _msg_error:
881
882 MSG\_ERROR
883 ----------
884
885 +---------------+--------+-----------------+---------------------+
886 | name          | type   | value           | description         |
887 +===============+========+=================+=====================+
888 | error message | string | message         | error description   |
889 +---------------+--------+-----------------+---------------------+
890
891 .. _msg_fbi:
892
893 MSG\_FBI
894 --------
895
896 +-------------+--------------+-----------+--------------------------------------------------+
897 | name        | type         | value     | description                                      |
898 +=============+==============+===========+==================================================+
899 | variable id | uint32       | number    | it is received through control channel           |
900 +-------------+--------------+-----------+--------------------------------------------------+
901 | size        | uint32       | size      | data size                                        |
902 +-------------+--------------+-----------+--------------------------------------------------+
903 | data        | char array   | data      | target data                                      |
904 +-------------+--------------+-----------+--------------------------------------------------+
905
906 .. _msg_function_entry:
907
908 MSG\_FUNCTION\_ENTRY
909 --------------------
910
911 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
912 | name                | type       | value      | description                                                                                                              |
913 +=====================+============+============+==========================================================================================================================+
914 | PID                 | uint32     | pid        | process id                                                                                                               |
915 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
916 | TID                 | uint32     | tid        | thread id                                                                                                                |
917 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
918 | pc address          | uint64     | pointer    | start address of the function, used for ID                                                                               |
919 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
920 | caller pc address   | uint64     | pointer    | address of caller of the function                                                                                        |
921 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
922 | CPU num             | uint32     | number     | on which CPU the function was executed                                                                                   |
923 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
924 | count of args       | uint32     | any number | counts of args (type + value pairs)                                                                                      |
925 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
926 | args                | string     | array of   | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
927 |                     |            | args       |                                                                                                                          |
928 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
929
930 .. _msg_function_exit:
931
932 MSG\_FUNCTION\_EXIT
933 -------------------
934
935 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
936 | name                | type       | value      | description                                                                                                              |
937 +=====================+============+============+==========================================================================================================================+
938 | PID                 | uint32     | pid        | process id                                                                                                               |
939 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
940 | TID                 | uint32     | tid        | thread id                                                                                                                |
941 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
942 | pc address          | uint64     | pointer    | start address of the function, used for ID                                                                               |
943 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
944 | caller pc address   | uint64     | pointer    | address of caller of the function                                                                                        |
945 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
946 | CPU num             | uint32     | number     | on which CPU the function was executed                                                                                   |
947 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
948 | return              | string     | arg        | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
949 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
950
951 .. _msg_syscall_entry:
952
953 MSG\_SYSCALL\_ENTRY
954 -------------------
955
956 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
957 | name                | type       | value      | description                                                                                                              |
958 +=====================+============+============+==========================================================================================================================+
959 | PID                 | uint32     | pid        | process id                                                                                                               |
960 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
961 | TID                 | uint32     | tid        | thread id                                                                                                                |
962 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
963 | probe type          | uint32     | type number| file: 01, ipc:02, process: 04, signal: 08, network: 10, desc: 20                                                         |
964 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
965 | pc address          | uint64     | pointer    | start address of the function, used for ID                                                                               |
966 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
967 | caller pc address   | uint64     | pointer    | address of caller of the function                                                                                        |
968 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
969 | CPU num             | uint32     | number     | on which CPU the function was executed                                                                                   |
970 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
971 | count of args       | uint32     | any number | counts of args (type + value pairs)                                                                                      |
972 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
973 | args                | string     | array of   | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
974 |                     |            | args       |                                                                                                                          |
975 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
976
977 .. _msg_syscall_exit:
978
979 MSG\_SYSCALL\_EXIT
980 ------------------
981
982 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
983 | name                | type       | value      | description                                                                                                              |
984 +=====================+============+============+==========================================================================================================================+
985 | PID                 | uint32     | pid        | process id                                                                                                               |
986 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
987 | TID                 | uint32     | tid        | thread id                                                                                                                |
988 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
989 | probe type          | uint32     | type number| file: 01, ipc:02, process: 04, signal: 08, network: 10, desc: 20                                                         |
990 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
991 | pc address          | uint64     | pointer    | start address of the function, used for ID                                                                               |
992 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
993 | caller pc address   | uint64     | pointer    | address of caller of the function                                                                                        |
994 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
995 | CPU num             | uint32     | number     | on which CPU the function was executed                                                                                   |
996 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
997 | return              | string     | arg        | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
998 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
999
1000 .. _msg_file_func_entry:
1001
1002 MSG\_FILE\_FUNCTION\_ENTRY
1003 --------------------------
1004
1005 +----------------+------------+------------+------------------------------------------------------+
1006 | name           | type       | value      | description                                          |
1007 +================+============+============+======================================================+
1008 | PID            | uint32     | pid        | process id                                           |
1009 +----------------+------------+------------+------------------------------------------------------+
1010 | TID            | uint32     | tid        | thread id                                            |
1011 +----------------+------------+------------+------------------------------------------------------+
1012 | FD             | uint32     | fd         | file descriptor                                      |
1013 +----------------+------------+------------+------------------------------------------------------+
1014 | event type     | uint32     | number     | file API type                                        |
1015 +----------------+------------+------------+------------------------------------------------------+
1016 | real file path | string     | path       | file path on target                                  |
1017 +----------------+------------+------------+------------------------------------------------------+
1018 | args type      | uint32     | 0, 1, 2    | 0 - general info, 1 - open info, 2 - lock info       |
1019 +----------------+------------+------------+------------------------------------------------------+
1020 | args payload   | variable   | variable   | | 0: empty,                                          |
1021 |                |            |            | | 1: see :ref:`open_info`,                           |
1022 |                |            |            | | 2: see :ref:`lock_info`                            |
1023 +----------------+------------+------------+------------------------------------------------------+
1024
1025 .. _open_info:
1026
1027 open info
1028 ^^^^^^^^^
1029
1030 +----------------+--------+-------+----------------------------------+
1031 | name           | type   | value | description                      |
1032 +================+========+=======+==================================+
1033 | open file path | string | path  | file path to passed by arguments |
1034 +----------------+--------+-------+----------------------------------+
1035
1036 .. _lock_info:
1037
1038 lock info
1039 ^^^^^^^^^
1040
1041 +--------+--------+---------+------------------------------------------------------------+
1042 | name   | type   | value   | description                                                |
1043 +========+========+=========+============================================================+
1044 | type   | uint32 | number  | type of lock: F\_RDLCK, F\_WRLCK, F\_UNLCK                 |
1045 +--------+--------+---------+------------------------------------------------------------+
1046 | whence | uint32 | number  | how to interpret l\_start: SEEK\_SET, SEEK\_CUR, SEEK\_END |
1047 +--------+--------+---------+------------------------------------------------------------+
1048 | start  | uint64 | pointer | starting offset for lock                                   |
1049 +--------+--------+---------+------------------------------------------------------------+
1050 | length | uint64 | size    | number of bytes to lock                                    |
1051 +--------+--------+---------+------------------------------------------------------------+
1052
1053 .. _msg_file_func_exit:
1054
1055 MSG\_FILE\_FUNCTION\_EXIT
1056 -------------------------
1057
1058 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1059 | name                | type       | value      | description                                                                                                              |
1060 +=====================+============+============+==========================================================================================================================+
1061 | PID                 | uint32     | pid        | process id                                                                                                               |
1062 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1063 | TID                 | uint32     | tid        | thread id                                                                                                                |
1064 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1065 | return              | string     | arg        | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
1066 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1067
1068 .. _msg_context_switch:
1069
1070 MSG\_CONTEXT\_SWITCH\_ENTRY, MSG\_CONTEXT\_SWITCH\_EXIT
1071 -------------------------------------------------------
1072
1073 +-------------+--------+---------+--------------------------------------------------------+
1074 | name        | type   | value   | description                                            |
1075 +=============+========+=========+========================================================+
1076 | pc address  | uint64 | pointer | current pc address when the context switch is occurred |
1077 +-------------+--------+---------+--------------------------------------------------------+
1078 | PID         | uint32 | pid     | process id                                             |
1079 +-------------+--------+---------+--------------------------------------------------------+
1080 | TID         | uint32 | tid     | thread id                                              |
1081 +-------------+--------+---------+--------------------------------------------------------+
1082 | CPU num     | uint32 | number  | on which CPU the function was executed                 |
1083 +-------------+--------+---------+--------------------------------------------------------+
1084
1085 .. _msg_process_map:
1086
1087 MSG\_PROCESS\_MAP
1088 -----------------
1089
1090 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1091 | name             | type   | value   | description                                                                                      |
1092 +==================+========+=========+==================================================================================================+
1093 | pid              | uint32 | pid     | process id                                                                                       |
1094 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1095 | lowest address   | uint64 | pointer | lower boundary address of executable in /proc/pid/maps file                                      |
1096 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1097 | highest address  | uint64 | pointer | upper boundary address of executable in /proc/pid/maps file                                      |
1098 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1099 | library path     | string | path    | library path on target                                                                           |
1100 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1101
1102 .. _msg_process_unmap:
1103
1104 MSG\_PROCESS\_UNMAP
1105 -------------------
1106
1107 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1108 | name             | type   | value   | description                                                                                      |
1109 +==================+========+=========+==================================================================================================+
1110 | pid              | uint32 | pid     | process id                                                                                       |
1111 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1112 | lowest address   | uint64 | pointer | lower boundary address of executable in /proc/pid/maps file                                      |
1113 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1114 | highest address  | uint64 | pointer | upper boundary address of executable in /proc/pid/maps file                                      |
1115 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1116
1117 .. _msg_probe:
1118
1119 MSG\_PROBE
1120 ----------
1121
1122 See `Probe log` for details of each probe message.
1123
1124 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1125 | name                | type       | value      | description                                                                                                              |
1126 +=====================+============+============+==========================================================================================================================+
1127 | API ID              | uint32     | api id     | function id                                                                                                              |
1128 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1129 | PID                 | uint32     | pid        | process id                                                                                                               |
1130 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1131 | TID                 | uint32     | tid        | thread id                                                                                                                |
1132 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1133 | count of args       | uint32     | any number | counts of args (type + value pairs)                                                                                      |
1134 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1135 | args                | string     | array of   | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
1136 |                     |            | args       |                                                                                                                          |
1137 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1138 | return              | string     | arg        | arg: type (char) + corresponding value, see :ref:`types` + end "\\0"                                                     |
1139 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1140 | errno               | uint64     | number     | error number                                                                                                             |
1141 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1142 | call type           | uint32     | 0, 1       | | 0 - external call,                                                                                                     |
1143 |                     |            |            | | 1 - internal call                                                                                                      |
1144 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1145 | caller pc addr      | uint64     | pointer    | address of caller of the function                                                                                        |
1146 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1147 | original func addr  | uint64     | pointer    | original function address                                                                                                |
1148 +---------------------+------------+------------+--------------------------------------------------------------------------------------------------------------------------+
1149
1150 .. _msg_web_sampling:
1151
1152 MSG\_WEB\_SAMPLING
1153 ------------------
1154
1155 +----------------------+---------+-------+----------------------------+
1156 | name                 | type    | value | description                |
1157 +======================+=========+=======+============================+
1158 | subtype              | uint8   | 0     | reserved for future use    |
1159 +----------------------+---------+-------+----------------------------+
1160 | PID                  | uint32  | pid   | process id                 |
1161 +----------------------+---------+-------+----------------------------+
1162 | TID                  | uint32  | pid   | thread id                  |
1163 +----------------------+---------+-------+----------------------------+
1164 | function line number | uint32  | number| source code line number    |
1165 +----------------------+---------+-------+----------------------------+
1166 | function name        | string  | name  | source code function name  |
1167 +----------------------+---------+-------+----------------------------+
1168 | function url         | string  | url   | source code function url   |
1169 +----------------------+---------+-------+----------------------------+
1170
1171 .. _msg_app_setup_stage:
1172
1173 MSG\_APP\_SETUP\_STAGE
1174 ----------------------
1175
1176 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1177 | name        | type    | value  | description                                                                          |
1178 +=============+=========+========+======================================================================================+
1179 | PID         | uint32  | pid    | process id                                                                           |
1180 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1181 | stage id    | uint32  | number | | 0x00 - library mapping : stage when linker maps application and dependencies       |
1182 |             |         |        | | 0x01 - main : executing application main from the beginning to app\_efl\_main call |
1183 |             |         |        | | 0x02 - create : executing app\_create\_cb from app\_event\_callback\_s             |
1184 |             |         |        | | 0x03 - service : executing app\_service\_cb from app\_event\_callback\_s           |
1185 |             |         |        |                                                                                      |
1186 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1187 | begin time  | uint64  | time   | begin setup time in (uint32 seconds << 32) + uint32 nanoseconds                      |
1188 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1189 | end time    | uint64  | time   | end setup time in (uint32 seconds << 32) + uint32 nanoseconds                        |
1190 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1191
1192 .. _msg_web_app_setup_stage:
1193
1194 MSG\_WEB\_APP\_SETUP\_STAGE
1195 ---------------------------
1196
1197 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1198 | name        | type    | value  | description                                                                          |
1199 +=============+=========+========+======================================================================================+
1200 | PID         | uint32  | pid    | process id                                                                           |
1201 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1202 | wsp  id     | uint32  | 1-6    | | 0x0001 - WSP\_RES\_LOAD\_BEGIN,                                                    |
1203 |             |         |        | | 0x0002 - WSP\_RES\_LOAD\_END,                                                      |
1204 |             |         |        | | 0x0003 - WSP\_RES\_PROC\_BEGIN,                                                    |
1205 |             |         |        | | 0x0004 - WSP\_RES\_PROC\_END,                                                      |
1206 |             |         |        | | 0x0005 - WSP\_DRAW\_BEGIN,                                                         |
1207 |             |         |        | | 0x0006 - WSP\_DRAW\_END                                                            |
1208 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1209 | path        | string  | path   | resource path if wsp id = 1, otherwise there is nothing                              |
1210 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1211 | res id      | uint32  | number | resource id if wsp id = 1-4, otherwise there is nothing                              |
1212 +-------------+---------+--------+--------------------------------------------------------------------------------------+
1213
1214 .. _msg_lsan:
1215
1216 MSG\_LSAN
1217 ---------
1218
1219 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1220 | name             | type   | value   | description                                                                                      |
1221 +==================+========+=========+==================================================================================================+
1222 | status           | uint32 | 0,1,2,4 | | 0x0 - LSAN\_MSG\_ERR,                                                                          |
1223 |                  |        |         | | 0x1 - LSAN\_MSG\_STATUS,                                                                       |
1224 |                  |        |         | | 0x2 - LSAN\_MSG\_REPORT,                                                                       |
1225 |                  |        |         | | 0x4 - LSAN\_MSG\_DONE                                                                          |
1226 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1227 | pid              | uint32 | pid     | process id                                                                                       |
1228 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1229 | arg string       | string | arg     | arg: "s" + string + end "\\0", some message                                                      |
1230 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1231 | call type ptr    | uint32 | 0       | used by SWAP internally, it is always 0                                                          |
1232 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1233 | caller addr      | uint64 | 0       | used by SWAP internally, it is always 0                                                          |
1234 +------------------+--------+---------+--------------------------------------------------------------------------------------------------+
1235
1236 .. _msg_ui_hierarchy:
1237
1238 MSG\_UI\_HIERARCHY
1239 ------------------
1240
1241 +-----------+--------+-------+------------------------------------------------------------------------------------+
1242 | name      | type   | value | description                                                                        |
1243 +===========+========+=======+====================================================================================+
1244 | file path | string | path  | file contains binary stream of ui object info list, see :ref:`ui_object_info_list` |
1245 +-----------+--------+-------+------------------------------------------------------------------------------------+
1246
1247 .. _ui_object_info_list:
1248
1249 ui object info list
1250 ^^^^^^^^^^^^^^^^^^^
1251
1252 +---------------------+--------------+------------------+-----------------------------------------------------+
1253 | name                | type         | value            | description                                         |
1254 +=====================+==============+==================+=====================================================+
1255 | request option      | byte         | 0-2              | payload of MSG\_GET\_UI\_HIERARCHY                  |
1256 +---------------------+--------------+------------------+-----------------------------------------------------+
1257 | count of ui objects | uint32       | any number       | count of elements in ui objects array               |
1258 +---------------------+--------------+------------------+-----------------------------------------------------+
1259 | ui objects array    | array        | array of objects | see :ref:`ui_object`                                |
1260 +---------------------+--------------+------------------+-----------------------------------------------------+
1261
1262 .. _ui_object:
1263
1264 ui object
1265 ^^^^^^^^^
1266
1267 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1268 | name                    | type       | value    | description                                                                                                              |
1269 +=========================+============+==========+==========================================================================================================================+
1270 | object address          | uint64     | pointer  | ui object address                                                                                                        |
1271 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1272 | object category         | byte       | 1-3      | 0x01 - Evas, 0x02 - Elementary, 0x03 - Edje                                                                              |
1273 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1274 | object type code        | uint32     | number   | see :ref:`ui_object_code`                                                                                                |
1275 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1276 | object type name        | string     | variable | ui object type name like "elm\_button"                                                                                   |
1277 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1278 | rendering time          | uint64     | time     | rendering time in (uint32 seconds << 32) + uint32 nanoseconds. If rendering option is disabled, this value is 0.         |
1279 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1280 | parent object address   | uint64     | pointer  | parent object address is needed to make the UI Hierarchy, if it's a root object, this value is 0.                        |
1281 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1282 | properties              | properties | variable | properties of a ui object, see :ref:`ui_object_properties`                                                               |
1283 +-------------------------+------------+----------+--------------------------------------------------------------------------------------------------------------------------+
1284
1285 .. _ui_object_code:
1286
1287 ui object code
1288 ^^^^^^^^^^^^^^
1289
1290 +--------+-------------------------------+
1291 | value  | description                   |
1292 +========+===============================+
1293 | **Evas**                               |
1294 +--------+-------------------------------+
1295 | 0X0100 | Unsupported Evas object       |
1296 +--------+-------------------------------+
1297 | 0X0101 | Image                         |
1298 +--------+-------------------------------+
1299 | 0X0102 | line                          |
1300 +--------+-------------------------------+
1301 | 0X0103 | polygon                       |
1302 +--------+-------------------------------+
1303 | 0X0104 | rectangle                     |
1304 +--------+-------------------------------+
1305 | 0X0105 | text                          |
1306 +--------+-------------------------------+
1307 | 0X0106 | textblock                     |
1308 +--------+-------------------------------+
1309 | 0x0107 | vector                        |
1310 +--------+-------------------------------+
1311 | 0x0108 | table                         |
1312 +--------+-------------------------------+
1313 | 0x0109 | box                           |
1314 +--------+-------------------------------+
1315 | 0x010A | grid                          |
1316 +--------+-------------------------------+
1317 | 0x010B | textgrid                      |
1318 +--------+-------------------------------+
1319 | 0x010C | smart                         |
1320 +--------+-------------------------------+
1321 | **Elementary**                         |
1322 +--------+-------------------------------+
1323 | 0X0200 | Unsupported Elementary object |
1324 +--------+-------------------------------+
1325 | 0X0201 | background                    |
1326 +--------+-------------------------------+
1327 | 0X0202 | button                        |
1328 +--------+-------------------------------+
1329 | 0X0203 | check                         |
1330 +--------+-------------------------------+
1331 | 0X0204 | colorselector                 |
1332 +--------+-------------------------------+
1333 | 0X0205 | ctxpopup                      |
1334 +--------+-------------------------------+
1335 | 0X0206 | datetime                      |
1336 +--------+-------------------------------+
1337 | 0X0207 | entry                         |
1338 +--------+-------------------------------+
1339 | 0X0208 | flip                          |
1340 +--------+-------------------------------+
1341 | 0X0209 | gengrid                       |
1342 +--------+-------------------------------+
1343 | 0x020A | genlist                       |
1344 +--------+-------------------------------+
1345 | 0x020B | glview                        |
1346 +--------+-------------------------------+
1347 | 0x020C | icon                          |
1348 +--------+-------------------------------+
1349 | 0x020D | image                         |
1350 +--------+-------------------------------+
1351 | 0x020E | index                         |
1352 +--------+-------------------------------+
1353 | 0x020F | label                         |
1354 +--------+-------------------------------+
1355 | 0x0210 | list                          |
1356 +--------+-------------------------------+
1357 | 0x0211 | map                           |
1358 +--------+-------------------------------+
1359 | 0x0212 | notify                        |
1360 +--------+-------------------------------+
1361 | 0x0213 | panel                         |
1362 +--------+-------------------------------+
1363 | 0x0214 | photo                         |
1364 +--------+-------------------------------+
1365 | 0x0215 | photocam                      |
1366 +--------+-------------------------------+
1367 | 0x0216 | plug                          |
1368 +--------+-------------------------------+
1369 | 0x0217 | popup                         |
1370 +--------+-------------------------------+
1371 | 0x0218 | progressbar                   |
1372 +--------+-------------------------------+
1373 | 0x0219 | radio                         |
1374 +--------+-------------------------------+
1375 | 0x021A | segmentcontrol                |
1376 +--------+-------------------------------+
1377 | 0x021B | slider                        |
1378 +--------+-------------------------------+
1379 | 0x021C | spinner                       |
1380 +--------+-------------------------------+
1381 | 0x021D | toolbar                       |
1382 +--------+-------------------------------+
1383 | 0x021E | tooltip                       |
1384 +--------+-------------------------------+
1385 | 0x021F | win                           |
1386 +--------+-------------------------------+
1387 | **Edje**                               |
1388 +--------+-------------------------------+
1389 | 0x0300 | Unsupported Edje object       |
1390 +--------+-------------------------------+
1391 | 0x0301 | edje                          |
1392 +--------+-------------------------------+
1393 | 0x0302 | box                           |
1394 +--------+-------------------------------+
1395 | 0x0303 | drag                          |
1396 +--------+-------------------------------+
1397 | 0x0304 | swallow                       |
1398 +--------+-------------------------------+
1399 | 0x0305 | table                         |
1400 +--------+-------------------------------+
1401 | 0x0306 | text                          |
1402 +--------+-------------------------------+
1403 | 0x0307 | textblock                     |
1404 +--------+-------------------------------+
1405 | 0x0308 | rectangle                     |
1406 +--------+-------------------------------+
1407 | 0x0309 | vectors                       |
1408 +--------+-------------------------------+
1409 | 0x0309 | background                    |
1410 +--------+-------------------------------+
1411
1412 .. _ui_object_properties:
1413
1414 ui object properties
1415 ^^^^^^^^^^^^^^^^^^^^
1416
1417 +--------------------------------+------------+------------+-----------------------------------------------------------------------+
1418 | name                           | type       | value      | description                                                           |
1419 +================================+============+============+=======================================================================+
1420 | common properties              | struct     | properties | see :ref:`evas_properties`                                            |
1421 +--------------------------------+------------+------------+-----------------------------------------------------------------------+
1422 | category specific properties   | struct     | properties | additional properties according to object category,                   |
1423 |                                |            |            | see :ref:`edje_properties`, :ref:`elm_properties`                     |
1424 +--------------------------------+------------+------------+-----------------------------------------------------------------------+
1425 | type specific properties       | struct     | properties | additional properties according to object type,                       |
1426 |                                |            |            | see :ref:`evas_subtypes`, :ref:`elm_subtypes`                         |
1427 +--------------------------------+------------+------------+-----------------------------------------------------------------------+
1428
1429 Probe log
1430 =========
1431
1432 Basic probe message format is presented in :ref:`msg_probe`.
1433
1434 .. _msg_probe_memory:
1435
1436 MSG\_PROBE\_MEMORY
1437 ------------------
1438
1439 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1440 | name             | type   | value    | description                                                                                                  |
1441 +==================+========+==========+==============================================================================================================+
1442 | size             | uint64 | size     | affected memory size                                                                                         |
1443 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1444 | type             | uint32 | number   | memory API types:                                                                                            |
1445 |                  |        |          |                                                                                                              |
1446 |                  |        |          | | 0 - MEMORY\_API\_ALLOC,                                                                                    |
1447 |                  |        |          | | 1 - MEMORY\_API\_FREE,                                                                                     |
1448 |                  |        |          | | 2 - MEMORY\_API\_MANAGE                                                                                    |
1449 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1450 | address          | uint64 | pointer  | memory address                                                                                               |
1451 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1452
1453 .. _msg_probe_uievent:
1454
1455 MSG\_PROBE\_UIEVENT
1456 -------------------
1457
1458 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1459 | name             | type   | value    | description                                                                                                  |
1460 +==================+========+==========+==============================================================================================================+
1461 | event type       | uint32 | number   | see :ref:`ui_event_types`                                                                                    |
1462 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1463 | detail type      | uint32 | number   | see :ref:`ui_event_detail_types`                                                                             |
1464 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1465 | x                | uint32 | number   | x axis position on screen                                                                                    |
1466 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1467 | y                | uint32 | number   | y axis position on screen                                                                                    |
1468 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1469 | info1            | string | variable | additional info, depends on event type and detail type                                                       |
1470 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1471 | info2            | uint32 | number   | additional info, depends on event type and detail type                                                       |
1472 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1473
1474 .. _ui_event_types:
1475
1476 ui event types
1477 ^^^^^^^^^^^^^^
1478
1479 +--------------------------------------------------+-----------+
1480 | name                                             | value     |
1481 +==================================================+===========+
1482 | \_EVENT\_UNKNOWN                                 | -1        |
1483 +--------------------------------------------------+-----------+
1484 | \_EVENT\_KEY                                     | 1         |
1485 +--------------------------------------------------+-----------+
1486 | \_EVENT\_TOUCH                                   | 2         |
1487 +--------------------------------------------------+-----------+
1488 | \_EVENT\_ORIENTATION                             | 4         |
1489 +--------------------------------------------------+-----------+
1490 | \_EVENT\_LISTENER                                | 5         |
1491 +--------------------------------------------------+-----------+
1492 | \_EVENT\_GESTURE\_N\_TAPS                        | 6         |
1493 +--------------------------------------------------+-----------+
1494 | \_EVENT\_GESTURE\_N\_DOUBLE\_TAPS                | 7         |
1495 +--------------------------------------------------+-----------+
1496 | \_EVENT\_GESTURE\_N\_TRIPLE\_TAPS                | 8         |
1497 +--------------------------------------------------+-----------+
1498 | \_EVENT\_GESTURE\_N\_LONG\_TAPS                  | 9         |
1499 +--------------------------------------------------+-----------+
1500 | \_EVENT\_GESTURE\_N\_FLICKS                      | 10        |
1501 +--------------------------------------------------+-----------+
1502 | \_EVENT\_GESTURE\_N\_LINES                       | 11        |
1503 +--------------------------------------------------+-----------+
1504 | \_EVENT\_GESTURE\_ZOOM                           | 12        |
1505 +--------------------------------------------------+-----------+
1506 | \_EVENT\_GESTURE\_ROTATE                         | 13        |
1507 +--------------------------------------------------+-----------+
1508 | \_EVENT\_GESTURE\_MOMENTUM                       | 14        |
1509 +--------------------------------------------------+-----------+
1510
1511 .. _ui_event_detail_types:
1512
1513 ui detail types
1514 ^^^^^^^^^^^^^^^
1515
1516 +--------------------------------------------------+-----------+
1517 | name                                             | value     |
1518 +==================================================+===========+
1519 | \_KEY\_PRESSED                                   | 0         |
1520 +--------------------------------------------------+-----------+
1521 | \_KEY\_RELEASED                                  | 1         |
1522 +--------------------------------------------------+-----------+
1523 | \_TOUCH\_PRESSED                                 | 0         |
1524 +--------------------------------------------------+-----------+
1525 | \_TOUCH\_LONG\_PRESSED                           | 1         |
1526 +--------------------------------------------------+-----------+
1527 | \_TOUCH\_RELEASED                                | 2         |
1528 +--------------------------------------------------+-----------+
1529 | \_TOUCH\_MOVED                                   | 3         |
1530 +--------------------------------------------------+-----------+
1531 | \_TOUCH\_DOUBLE\_PRESSED                         | 4         |
1532 +--------------------------------------------------+-----------+
1533 | \_TOUCH\_FOCUS\_IN                               | 5         |
1534 +--------------------------------------------------+-----------+
1535 | \_TOUCH\_FOCUS\_OUT                              | 6         |
1536 +--------------------------------------------------+-----------+
1537 | \_TOUCH\_CANCELED                                | 7         |
1538 +--------------------------------------------------+-----------+
1539 | \_GESTURE\_FLICK                                 | 0         |
1540 +--------------------------------------------------+-----------+
1541 | \_GESTURE\_LONGPRESS                             | 1         |
1542 +--------------------------------------------------+-----------+
1543 | \_GESTURE\_PANNING                               | 2         |
1544 +--------------------------------------------------+-----------+
1545 | \_GESTURE\_PINCH                                 | 3         |
1546 +--------------------------------------------------+-----------+
1547 | \_GESTURE\_ROTATION                              | 4         |
1548 +--------------------------------------------------+-----------+
1549 | \_GESTURE\_TAP                                   | 5         |
1550 +--------------------------------------------------+-----------+
1551 | \_GESTURE\_CUSTOM                                | 6         |
1552 +--------------------------------------------------+-----------+
1553 | \_OS\_NONE                                       | 0         |
1554 +--------------------------------------------------+-----------+
1555 | \_OS\_PORTRAIT                                   | 1         |
1556 +--------------------------------------------------+-----------+
1557 | \_OS\_LANDSCAPE                                  | 2         |
1558 +--------------------------------------------------+-----------+
1559 | \_OS\_PORTRAIT\_REVERSE                          | 3         |
1560 +--------------------------------------------------+-----------+
1561 | \_OS\_LANDSCAPE\_REVERSE                         | 4         |
1562 +--------------------------------------------------+-----------+
1563
1564 .. _msg_probe_resource:
1565
1566 MSG\_PROBE\_RESOURCE
1567 --------------------
1568
1569 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1570 | name             | type   | value    | description                                                                                                  |
1571 +==================+========+==========+==============================================================================================================+
1572 | size             | uint64 | size     | affected size                                                                                                |
1573 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1574 | fd               | uint64 | number   | file descriptor                                                                                              |
1575 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1576 | fd api type      | uint32 | number   | see :ref:`file_api_types`                                                                                    |
1577 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1578 | file size        | uint64 | size     | file size                                                                                                    |
1579 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1580 | file path        | string | path     | file path on target                                                                                          |
1581 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1582
1583 .. _file_api_types:
1584
1585 File API types
1586 ^^^^^^^^^^^^^^
1587
1588 +--------------------------------------------------+-----------+
1589 | name                                             | value     |
1590 +==================================================+===========+
1591 | FD\_API\_OPEN                                    | 0         |
1592 +--------------------------------------------------+-----------+
1593 | FD\_API\_CLOSE                                   | 1         |
1594 +--------------------------------------------------+-----------+
1595 | FD\_API\_READ\_START                             | 2         |
1596 +--------------------------------------------------+-----------+
1597 | FD\_API\_READ\_END                               | 3         |
1598 +--------------------------------------------------+-----------+
1599 | FD\_API\_WRITE\_START                            | 4         |
1600 +--------------------------------------------------+-----------+
1601 | FD\_API\_WRITE\_END                              | 5         |
1602 +--------------------------------------------------+-----------+
1603 | FD\_API\_DIRECTORY                               | 6         |
1604 +--------------------------------------------------+-----------+
1605 | FD\_API\_PERMISSION                              | 7         |
1606 +--------------------------------------------------+-----------+
1607 | FD\_API\_OTHER                                   | 8         |
1608 +--------------------------------------------------+-----------+
1609 | FD\_API\_SEND                                    | 9         |
1610 +--------------------------------------------------+-----------+
1611 | FD\_API\_RECEIVE                                 | 10        |
1612 +--------------------------------------------------+-----------+
1613 | FD\_API\_OPTION                                  | 11        |
1614 +--------------------------------------------------+-----------+
1615 | FD\_API\_MANAGE                                  | 12        |
1616 +--------------------------------------------------+-----------+
1617 | FD\_API\_LOCK\_START                             | 14        |
1618 +--------------------------------------------------+-----------+
1619 | FD\_API\_LOCK\_END                               | 15        |
1620 +--------------------------------------------------+-----------+
1621 | FD\_API\_LOCK\_RELEASE                           | 16        |
1622 +--------------------------------------------------+-----------+
1623
1624 .. _msg_probe_lifecycle:
1625
1626 MSG\_PROBE\_LIFECYCLE
1627 ---------------------
1628
1629 Nothing.
1630
1631 .. _msg_probe_screenshot:
1632
1633 MSG\_PROBE\_SCREENSHOT
1634 ----------------------
1635
1636 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1637 | name             | type   | value    | description                                                                                                  |
1638 +==================+========+==========+==============================================================================================================+
1639 | path             | string | path     | screenshot path on target                                                                                    |
1640 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1641 | angle            | uint32 | number   | screenshot orientation, rotation angle: 0, 90, 180, 270                                                      |
1642 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1643
1644 .. _msg_probe_thread:
1645
1646 MSG\_PROBE\_THREAD
1647 ------------------
1648
1649 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1650 | name             | type   | value    | description                                                                                                  |
1651 +==================+========+==========+==============================================================================================================+
1652 | pthread id       | uint64 | number   | if pthread then thread id, else 0                                                                            |
1653 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1654 | tizen thread id  | uint64 | number   | if tizen thread then thread id, else 0                                                                       |
1655 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1656 | thread type      | uint32 | number   | see :ref:`thread_types`                                                                                      |
1657 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1658 | api type         | uint32 | number   | see :ref:`thread_api_types`                                                                                  |
1659 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1660 | class name       | string | path     | thread api class name                                                                                        |
1661 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1662
1663 .. _thread_types:
1664
1665 Thread types
1666 ^^^^^^^^^^^^
1667
1668 +--------------------------------------------------+-----------+
1669 | name                                             | value     |
1670 +==================================================+===========+
1671 | THREAD\_PTHREAD                                  | 0         |
1672 +--------------------------------------------------+-----------+
1673 | THREAD\_TIZENTHREAD_WORKER                       | 1         |
1674 +--------------------------------------------------+-----------+
1675 | THREAD\_TIZENTHREAD_EVENTDRIVEN                  | 2         |
1676 +--------------------------------------------------+-----------+
1677
1678 .. _thread_api_types:
1679
1680 Thread API types
1681 ^^^^^^^^^^^^^^^^
1682
1683 +--------------------------------------------------+-----------+
1684 | name                                             | value     |
1685 +==================================================+===========+
1686 | THREAD\_API\_NEW                                 | 0         |
1687 +--------------------------------------------------+-----------+
1688 | THREAD\_API\_START                               | 1         |
1689 +--------------------------------------------------+-----------+
1690 | THREAD\_API\_STOP                                | 2         |
1691 +--------------------------------------------------+-----------+
1692 | THREAD\_API\_EXIT                                | 3         |
1693 +--------------------------------------------------+-----------+
1694 | THREAD\_API\_WAIT\_START                         | 4         |
1695 +--------------------------------------------------+-----------+
1696 | THREAD\_API\_WAIT\_END                           | 5         |
1697 +--------------------------------------------------+-----------+
1698 | THREAD\_API\_INTERNAL\_START                     | 6         |
1699 +--------------------------------------------------+-----------+
1700 | THREAD\_API\_INTERNAL\_STOP                      | 7         |
1701 +--------------------------------------------------+-----------+
1702 | THREAD\_API\_OTHER                               | 8         |
1703 +--------------------------------------------------+-----------+
1704
1705 .. _msg_probe_sync:
1706
1707 MSG\_PROBE\_SYNC
1708 ----------------
1709
1710 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1711 | name             | type   | value    | description                                                                                                  |
1712 +==================+========+==========+==============================================================================================================+
1713 | addr             | uint64 | pointer  | sync address                                                                                                 |
1714 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1715 | type             | uint32 | number   | see :ref:`sync_types`                                                                                        |
1716 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1717 | api type         | uint32 | number   | see :ref:`sync_api_types`                                                                                    |
1718 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1719
1720 .. _sync_types:
1721
1722 Sync types
1723 ^^^^^^^^^^
1724
1725 +--------------------------------------------------+-----------+
1726 | name                                             | value     |
1727 +==================================================+===========+
1728 | SYNC\_TIZEN\_MUTEX                               | 0         |
1729 +--------------------------------------------------+-----------+
1730 | SYNC\_TIZEN\_MONITOR                             | 1         |
1731 +--------------------------------------------------+-----------+
1732 | SYNC\_TIZEN\_SEMAPHORE                           | 2         |
1733 +--------------------------------------------------+-----------+
1734 | SYNC\_PTHREAD\_MUTEX                             | 3         |
1735 +--------------------------------------------------+-----------+
1736 | SYNC\_PTHREAD\_COND\_VARIABLE                    | 4         |
1737 +--------------------------------------------------+-----------+
1738 | SYNC\_PTHREAD\_RWLOCK                            | 5         |
1739 +--------------------------------------------------+-----------+
1740 | SYNC\_PTHREAD\_SPINLOCK                          | 6         |
1741 +--------------------------------------------------+-----------+
1742 | SYNC\_PTHREAD\_BARRIER                           | 7         |
1743 +--------------------------------------------------+-----------+
1744
1745 .. _sync_api_types:
1746
1747 Sync API types
1748 ^^^^^^^^^^^^^^
1749
1750 +--------------------------------------------------+-----------+
1751 | name                                             | value     |
1752 +==================================================+===========+
1753 | SYNC\_API\_NEW                                   | 0         |
1754 +--------------------------------------------------+-----------+
1755 | SYNC\_API\_ACQUIRE\_WAIT\_START                  | 1         |
1756 +--------------------------------------------------+-----------+
1757 | SYNC\_API\_ACQUIRE\_WAIT\_END                    | 2         |
1758 +--------------------------------------------------+-----------+
1759 | SYNC\_API\_RELEASE                               | 3         |
1760 +--------------------------------------------------+-----------+
1761 | SYNC\_API\_TRY\_ACQUIRE                          | 4         |
1762 +--------------------------------------------------+-----------+
1763 | SYNC\_API\_COND\_WAIT\_START                     | 5         |
1764 +--------------------------------------------------+-----------+
1765 | SYNC\_API\_COND\_WAIT\_END                       | 6         |
1766 +--------------------------------------------------+-----------+
1767 | SYNC\_API\_NOTIFY                                | 7         |
1768 +--------------------------------------------------+-----------+
1769 | SYNC\_API\_NOTIFY\_ALL                           | 8         |
1770 +--------------------------------------------------+-----------+
1771 | SYNC\_API\_OTHER                                 | 9         |
1772 +--------------------------------------------------+-----------+
1773
1774 .. _msg_probe_network:
1775
1776 MSG\_PROBE\_NETWORK
1777 -------------------
1778
1779 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1780 | name             | type   | value    | description                                                                                                  |
1781 +==================+========+==========+==============================================================================================================+
1782 | addr             | uint64 | pointer  | object address                                                                                               |
1783 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1784 | fd               | uint64 | number   | fd value                                                                                                     |
1785 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1786 | api type         | uint32 | number   | see :ref:`network_api_types`                                                                                 |
1787 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1788 | dest ip          | uint32 | number   | destination IP address                                                                                       |
1789 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1790 | dest port        | uint32 | number   | destination port number                                                                                      |
1791 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1792 | message size     | uint64 | number   | size of message text                                                                                         |
1793 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1794 | message          | string | variable | message text                                                                                                 |
1795 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1796
1797 .. _network_api_types:
1798
1799 Network API types
1800 ^^^^^^^^^^^^^^^^^
1801
1802 +--------------------------------------------------+-----------+
1803 | name                                             | value     |
1804 +==================================================+===========+
1805 | SOCKET\_API\_FD\_OPEN                            | 0         |
1806 +--------------------------------------------------+-----------+
1807 | SOCKET\_API\_FD\_CLOSE                           | 1         |
1808 +--------------------------------------------------+-----------+
1809 | SOCKET\_API\_RECV\_START                         | 2         |
1810 +--------------------------------------------------+-----------+
1811 | SOCKET\_API\_RECV\_END                           | 3         |
1812 +--------------------------------------------------+-----------+
1813 | SOCKET\_API\_SEND\_START                         | 4         |
1814 +--------------------------------------------------+-----------+
1815 | SOCKET\_API\_SEND\_END                           | 5         |
1816 +--------------------------------------------------+-----------+
1817 | SOCKET\_API\_BIND                                | 6         |
1818 +--------------------------------------------------+-----------+
1819 | SOCKET\_API\_LISTEN                              | 7         |
1820 +--------------------------------------------------+-----------+
1821 | SOCKET\_API\_CONNECT                             | 8         |
1822 +--------------------------------------------------+-----------+
1823 | SOCKET\_API\_ACCEPT\_START                       | 9         |
1824 +--------------------------------------------------+-----------+
1825 | SOCKET\_API\_ACCEPT\_END                         | 10        |
1826 +--------------------------------------------------+-----------+
1827 | SOCKET\_API\_EVENT\_START                        | 11        |
1828 +--------------------------------------------------+-----------+
1829 | SOCKET\_API\_EVENT\_END                          | 12        |
1830 +--------------------------------------------------+-----------+
1831 | SOCKET\_API\_OTHER                               | 13        |
1832 +--------------------------------------------------+-----------+
1833 | HTTP\_API\_SESSION\_CONSTRUCT                    | 14        |
1834 +--------------------------------------------------+-----------+
1835 | HTTP\_API\_SESSION\_CLOSE                        | 15        |
1836 +--------------------------------------------------+-----------+
1837 | HTTP\_API\_TRANSACTION\_OPEN                     | 16        |
1838 +--------------------------------------------------+-----------+
1839 | HTTP\_API\_TRANSACTION\_CLOSE                    | 17        |
1840 +--------------------------------------------------+-----------+
1841 | HTTP\_API\_ALLOCATION                            | 18        |
1842 +--------------------------------------------------+-----------+
1843 | HTTP\_API\_SUBMIT                                | 19        |
1844 +--------------------------------------------------+-----------+
1845 | HTTP\_API\_REQUEST                               | 20        |
1846 +--------------------------------------------------+-----------+
1847 | HTTP\_API\_RESPONSE                              | 21        |
1848 +--------------------------------------------------+-----------+
1849 | HTTP\_API\_OTHER                                 | 22        |
1850 +--------------------------------------------------+-----------+
1851 | HTTP\_API\_CLOSE                                 | 23        |
1852 +--------------------------------------------------+-----------+
1853
1854 .. _msg_probe_gl:
1855
1856 MSG\_PROBE\_GL
1857 --------------
1858
1859 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1860 | name             | type   | value    | description                                                                                                  |
1861 +==================+========+==========+==============================================================================================================+
1862 | addr             | uint64 | pointer  | should be GL current context address but now it is always 0                                                  |
1863 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1864 | api type         | uint32 | number   | see :ref:`gl_api_types`                                                                                      |
1865 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1866 | time             | uint64 | number   | elapsed time in nanoseconds                                                                                  |
1867 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1868 | context          | string | variable | GL context value                                                                                             |
1869 +------------------+--------+----------+--------------------------------------------------------------------------------------------------------------+
1870
1871 .. _gl_api_types:
1872
1873 GL API types
1874 ^^^^^^^^^^^^
1875
1876 +--------------------------------------------------+-----------+
1877 | name                                             | value     |
1878 +==================================================+===========+
1879 | APITYPE\_INIT                                    | 0         |
1880 +--------------------------------------------------+-----------+
1881 | APITYPE\_CONTEXT                                 | 1         |
1882 +--------------------------------------------------+-----------+
1883 | APITYPE\_NO\_CONTEXT                             | 2         |
1884 +--------------------------------------------------+-----------+
1885
1886 Instrumentation blacklist
1887 =========================
1888
1889 +-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1890 | library name                | functions               |                                                                                                                                              |
1891 +=============================+=========================+==============================================================================================================================================+
1892 | /lib/libdl-2.13.so          | All functions           | The major problem with these ld\*/dl\* functions is that there is a conflict with LD\_PRELOAD-based probes.                                  |
1893 |                             |                         | In fact we have found that in some situations a call to dlsym(RTLD\_NEXT, ...) from the probes library fails with error:                     |
1894 |                             |                         | "RTLD\_NEXT used in code not dynamically loaded".                                                                                            |
1895 |                             |                         | We have examined the sources for libc, libdl, ld and it looks like there is an explicit check that a caller PC (actually, the current return |
1896 |                             |                         | address) should be located within dynamically loaded code.                                                                                   |
1897 |                             |                         | And in fact if we instrument such a function with SWAP this check will definitely fail.                                                      |
1898 |                             |                         | So actually we CAN instrument these functions. But only without using the probes library at the same time.                                   |
1899 |                             |                         |                                                                                                                                              |
1900 +-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1901 | /lib/ld-2.13.so             | All functions           |                                                                                                                                              |
1902 +-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1903 | /lib/libc-2.13.so           | do\_dlsym               | - do\_dlsym, \_\_GI\_\_\_libc\_dlsym: these are low-level libc functions.                                                                    |
1904 |                             |                         |   Currently in some situations they are mutually called and because of compiler optimizations                                                |
1905 |                             |                         |   we have some problems handling their retprobes properly.                                                                                   |
1906 |                             |                         | - \_\_GI\_\_setjmp, \_\_GI\_\_\_sigsetjmp, setjmp: these are in fact                                                                         |
1907 |                             |                         |   arch-specific tricky ASM macros which may change internally current return address (which is used for retprobes)                           |
1908 |                             |                         |                                                                                                                                              |
1909 |                             +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1910 |                             | \_\_GI\_\_\_libc\_dlsym |                                                                                                                                              |
1911 |                             +-------------------------+                                                                                                                                              +
1912 |                             | \_\_GI\_\_setjmp        |                                                                                                                                              |
1913 |                             +-------------------------+                                                                                                                                              +
1914 |                             | \_\_GI\_\_\_sigsetjmp   |                                                                                                                                              |
1915 |                             +-------------------------+                                                                                                                                              +
1916 |                             | setjmp                  |                                                                                                                                              |
1917 +-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1918 | All binaries (x86 emulator) | \_\_i686.get\_pc\_thunk | it is a compiler generated code which uses                                                                                                   |
1919 |                             |                         | current return address info. The problem is similar to \*setjmp\*                                                                            |
1920 +-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
1921
1922 Size limits in swap manager
1923 ===========================
1924
1925 +-----------------------------------------------------+
1926 | **MSG\_SYSTEM period**                              |
1927 +-----------------------------+-----------------------+
1928 | CONF\_SYSTRACE\_PERIOD\_MIN | 100                   |
1929 +-----------------------------+-----------------------+
1930 | CONF\_SYSTRACE\_PERIOD\_MAX | 1000                  |
1931 +-----------------------------+-----------------------+
1932 | CONF\_DATA\_MSG\_PERIOD\_MIN| 1                     |
1933 +-----------------------------+-----------------------+
1934 | CONF\_DATA\_MSG\_PERIOD\_MAX| 100                   |
1935 +-----------------------------+-----------------------+
1936 | **Application count**                               |
1937 +-----------------------------+-----------------------+
1938 | US\_APP\_COUNT\_MIN         | 0                     |
1939 +-----------------------------+-----------------------+
1940 | US\_APP\_COUNT\_MAX         | 8                     |
1941 +-----------------------------+-----------------------+
1942 | **probe count (or instrumentation function count)** |
1943 +-----------------------------+-----------------------+
1944 | US\_APP\_INST\_FUNC\_MIN    | 0                     |
1945 +-----------------------------+-----------------------+
1946 | US\_APP\_INST\_FUNC\_MAX    | 100000                |
1947 +-----------------------------+-----------------------+
1948 | **library count to instrument**                     |
1949 +-----------------------------+-----------------------+
1950 | US\_APP\_INST\_LIB\_MIN     | 0                     |
1951 +-----------------------------+-----------------------+
1952 | US\_APP\_INST\_LIB\_MAX     | 1000                  |
1953 +-----------------------------+-----------------------+
1954
1955 UIHV Properties
1956 ===============
1957
1958 Description of user interface hierarchy viewer properties.
1959
1960 Category specific properties
1961 ----------------------------
1962
1963 .. _evas_properties:
1964
1965 properties of Evas
1966 ^^^^^^^^^^^^^^^^^^
1967
1968 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1969 | name                      | type     | description                                                                                                                                |
1970 +===========================+==========+============================================================================================================================================+
1971 | evas\_geometry            | 4 *      | void evas\_object\_geometry\_get (const Evas\_Object \*obj, Evas\_Coord \*x, Evas\_Coord \*y, Evas\_Coord \*w, Evas\_Coord \*h)            |
1972 |                           | uint32   |                                                                                                                                            |
1973 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1974 | evas\_focus               | uint8    | Eina\_uint8evas\_object\_focus\_get (const Evas\_Object \*obj)                                                                             |
1975 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1976 | evas\_name                | string   | const char\* evas\_object\_name\_get (const Evas\_Object \*obj)                                                                            |
1977 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1978 | evas\_visible             | uint8    | Eina\_uint8evas\_object\_visible\_get (const Evas\_Object \*obj)                                                                           |
1979 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1980 | evas\_color               | 4 *      | void evas\_object\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a)                                               |
1981 |                           | uint32   |                                                                                                                                            |
1982 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1983 | evas\_anti\_alias         | uint8    | Eina\_uint8evas\_object\_anti\_alias\_get (const Evas\_Object \*obj)                                                                       |
1984 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1985 | evas\_scale               | float    | double evas\_object\_scale\_get (const Evas\_Object \*obj)                                                                                 |
1986 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1987 | evas\_size\_hint\_min     | 2 *      | void evas\_object\_size\_hint\_min\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h)                                       |
1988 |                           | uint32   |                                                                                                                                            |
1989 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1990 | evas\_size\_hint\_max     | 2 *      | void evas\_object\_size\_hint\_max\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h)                                       |
1991 |                           | uint32   |                                                                                                                                            |
1992 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1993 | evas\_size\_hint\_request | 2 *      | void evas\_object\_size\_hint\_request\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h)                                   |
1994 |                           | uint32   |                                                                                                                                            |
1995 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1996 | evas\_size\_hint\_align   | 2 *      | void evas\_object\_size\_hint\_align\_get (const Evas\_Object \*obj, double \*x, double \*y)                                               |
1997 |                           | float    |                                                                                                                                            |
1998 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
1999 | evas\_size\_hint\_weight  | 2 *      | void evas\_object\_size\_hint\_weight\_get (const Evas\_Object \*obj, double \*x, double \*y)                                              |
2000 |                           | float    |                                                                                                                                            |
2001 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
2002 | evas\_size\_hint\_padding | 4 *      | void evas\_object\_size\_hint\_padding\_get (const Evas\_Object \*obj, Evas\_Coord \*l, Evas\_Coord \*r, Evas\_Coord \*t, Evas\_Coord \*b) |
2003 |                           | uint32   |                                                                                                                                            |
2004 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
2005 | evas\_render\_op          | uint8    | | Evas\_Render\_Op evas\_object\_render\_op\_get (const Evas\_Object \*obj)                                                                |
2006 |                           |          | | EVAS\_RENDER\_BLEND = 0x00,                                                                                                              |
2007 |                           |          | | EVAS\_RENDER\_BLEND\_REL = 0x01,                                                                                                         |
2008 |                           |          | | EVAS\_RENDER\_COPY = 0x02,                                                                                                               |
2009 |                           |          | | EVAS\_RENDER\_COPY\_REL = 0x03,                                                                                                          |
2010 |                           |          | | EVAS\_RENDER\_ADD = 0x04,                                                                                                                |
2011 |                           |          | | EVAS\_RENDER\_ADD\_REL = 0x05,                                                                                                           |
2012 |                           |          | | EVAS\_RENDER\_SUB = 0x06,                                                                                                                |
2013 |                           |          | | EVAS\_RENDER\_SUB\_REL = 0x07,                                                                                                           |
2014 |                           |          | | EVAS\_RENDER\_TINT = 0x08,                                                                                                               |
2015 |                           |          | | EVAS\_RENDER\_TINT\_REL = 0x09,                                                                                                          |
2016 |                           |          | | EVAS\_RENDER\_MASK = 0x0A,                                                                                                               |
2017 |                           |          | | EVAS\_RENDER\_MUL = 0x0B                                                                                                                 |
2018 +---------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------+
2019
2020 .. _elm_properties:
2021
2022 properties of Elementary
2023 ^^^^^^^^^^^^^^^^^^^^^^^^
2024
2025 +--------------------------+--------+-----------------------------------------------------------------------+
2026 | name                     | type   | description                                                           |
2027 +==========================+========+=======================================================================+
2028 | elmentary\_text          | string | const char \*elm\_object\_text\_get()                                 |
2029 +--------------------------+--------+-----------------------------------------------------------------------+
2030 | elementary\_style        | string | const char \*elm\_object\_style\_get()                                |
2031 +--------------------------+--------+-----------------------------------------------------------------------+
2032 | elementary\_disabled     | uint8  | Eina\_uint8elm\_object\_disabled\_get(const Evas\_Object \*obj)       |
2033 +--------------------------+--------+-----------------------------------------------------------------------+
2034 | elementary\_widget\_type | string | const char \*elm\_object\_widget\_type\_get(const Evas\_Object \*obj) |
2035 +--------------------------+--------+-----------------------------------------------------------------------+
2036
2037 .. _edje_properties:
2038
2039 properties of Edje
2040 ^^^^^^^^^^^^^^^^^^
2041
2042 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2043 | name              | type   | description                                                                                         |
2044 +===================+========+=====================================================================================================+
2045 | edje\_animation   | uint8  | Eina\_uint8edje\_object\_animation\_get(const Edje\_Object \*obj)                                   |
2046 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2047 | edje\_play        | uint8  | Eina\_uint8edje\_object\_play\_get(const Edje\_Object \*obj)                                        |
2048 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2049 | edje\_scale       | float  | double edje\_object\_scale\_get(const Edje\_Object \*obj)                                           |
2050 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2051 | edje\_base\_scale | float  | double edje\_object\_base\_scale\_get(const Edje\_Object \*obj)                                     |
2052 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2053 | edje\_size\_min   | 2 *    | void edje\_object\_size\_min\_get(const Edje\_Object \*obj, Evas\_Coord \*minw, Evas\_Coord \*minh) |
2054 |                   | uint32 |                                                                                                     |
2055 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2056 | edje\_size\_max   | 2 *    | void edje\_object\_size\_max\_get(const Edje\_Object \*obj, Evas\_Coord \*maxw, Evas\_Coord \*maxh) |
2057 |                   | uint32 |                                                                                                     |
2058 +-------------------+--------+-----------------------------------------------------------------------------------------------------+
2059
2060 .. _evas_subtypes:
2061
2062 Evas subtype specific properties
2063 --------------------------------
2064
2065 properties of Image
2066 ^^^^^^^^^^^^^^^^^^^
2067
2068 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2069 | name                                | type   | description                                                                                                                      |
2070 +=====================================+========+==================================================================================================================================+
2071 | evas\_image\_load\_dpi              | float  | double evas\_object\_image\_load\_dpi\_get(const Evas\_Image \*obj)                                                              |
2072 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2073 | evas\_image\_source\_clip           | uint8  | Eina\_uint8evas\_object\_image\_source\_clip\_get(const Evas\_Image \*obj)                                                       |
2074 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2075 | evas\_image\_filled                 | uint8  | Eina\_uint8evas\_object\_image\_filled\_get(const Evas\_Image \*obj)                                                             |
2076 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2077 | evas\_image\_content\_huint32       | uint8  | | Evas\_Image\_Content\_Hint evas\_object\_image\_content\_hint\_get(const Evas\_Image \*obj)                                    |
2078 |                                     |        | | EVAS\_IMAGE\_CONTENT\_HINT\_NONE = 0x00,                                                                                       |
2079 |                                     |        | | EVAS\_IMAGE\_CONTENT\_HINT\_DYNAMIC = 0x01,                                                                                    |
2080 |                                     |        | | EVAS\_IMAGE\_CONTENT\_HINT\_STATIC = 0x02                                                                                      |
2081 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2082 | evas\_image\_alpha                  | uint8  | Eina\_uint8evas\_object\_image\_alpha\_get(const Evas\_Image \*obj)                                                              |
2083 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2084 | evas\_image\_border                 | 4 *    | void evas\_object\_image\_border\_get(const Evas\_Image \*obj, int \*l, int \*r, int \*t, int \*b)                               |
2085 |                                     | uint32 |                                                                                                                                  |
2086 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2087 | evas\_image\_border\_scale          | float  | double evas\_object\_image\_border\_scale\_get(const Evas\_Image \*obj)                                                          |
2088 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2089 | evas\_image\_pixels\_dirty          | uint8  | Eina\_uint8evas\_object\_image\_pixels\_dirty\_get(const Evas\_Image \*obj)                                                      |
2090 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2091 | evas\_image\_load\_orientation      | uint8  | Eina\_uint8evas\_object\_image\_load\_orientation\_get(const Evas\_Image \*obj)                                                  |
2092 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2093 | evas\_image\_border\_center\_fill   | uint8  | | Evas\_Border\_Fill\_Mode evas\_object\_image\_border\_center\_fill\_get(const Evas\_Image \*obj)                               |
2094 |                                     |        | | EVAS\_BORDER\_FILL\_NONE = 0x00,                                                                                               |
2095 |                                     |        | | EVAS\_BORDER\_FILL\_DEFAULT = 0x01,                                                                                            |
2096 |                                     |        | | EVAS\_BORDER\_FILL\_SOLID = 0x02                                                                                               |
2097 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2098 | evas\_image\_size                   | 2 *    | void evas\_object\_image\_size\_get(const Evas\_Image \*obj, int \*w, int \*h)                                                   |
2099 |                                     | uint32 |                                                                                                                                  |
2100 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2101 | evas\_image\_source\_visible        | uint8  | Eina\_uint8evas\_object\_image\_source\_visible\_get(const Evas\_Image \*obj)                                                    |
2102 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2103 | evas\_image\_fill                   | 4 *    | void evas\_object\_image\_fill\_get(const Evas\_Image \*obj, Evas\_Coord \*x, Evas\_Coord \*y, Evas\_Coord \*w, Evas\_Coord \*h) |
2104 |                                     | uint32 |                                                                                                                                  |
2105 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2106 | evas\_image\_load\_scale\_down      | uint32 | int evas\_object\_image\_load\_scale\_down\_get(const Evas\_Image \*obj)                                                         |
2107 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2108 | evas\_image\_scale\_huint32         | uint8  | | Evas\_Image\_Scale\_Hint evas\_object\_image\_scale\_hint\_get(const Evas\_Image \*obj)                                        |
2109 |                                     |        | | EVAS\_IMAGE\_SCALE\_HINT\_NONE = 0x00,                                                                                         |
2110 |                                     |        | | EVAS\_IMAGE\_SCALE\_HINT\_DYNAMIC = 0x01,                                                                                      |
2111 |                                     |        | | EVAS\_IMAGE\_SCALE\_HINT\_STATIC = 0x02                                                                                        |
2112 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2113 | evas\_image\_source\_events         | uint8  | Eina\_uint8evas\_object\_image\_source\_events\_get(const Evas\_Image \*obj)                                                     |
2114 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2115 | evas\_image\_animated\_frame\_count | uint32 | int evas\_object\_image\_animated\_frame\_count\_get(const Evas\_Image \*obj)                                                    |
2116 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2117 | evas\_image\_stride                 | uint32 | int evas\_object\_image\_stride\_get(const Evas\_Image \*obj)                                                                    |
2118 +-------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------+
2119
2120 properties of Line
2121 ^^^^^^^^^^^^^^^^^^
2122
2123 +----------------+--------+-------------------------------------------------------------------------------------------------------------------------------------+
2124 | name           | type   | description                                                                                                                         |
2125 +================+========+=====================================================================================================================================+
2126 | evas\_line\_xy | 4 *    | void evas\_object\_line\_xy\_get (const Evas\_Object \*obj, Evas\_Coord \*x1, Evas\_Coord \*y1, Evas\_Coord \*x2, Evas\_Coord \*y2) |
2127 |                | uint32 |                                                                                                                                     |
2128 +----------------+--------+-------------------------------------------------------------------------------------------------------------------------------------+
2129
2130 properties of Polygon
2131 ^^^^^^^^^^^^^^^^^^^^^
2132
2133 Nothing
2134
2135 properties of Rectangle
2136 ^^^^^^^^^^^^^^^^^^^^^^^
2137
2138 Nothing
2139
2140 properties of Text
2141 ^^^^^^^^^^^^^^^^^^
2142
2143 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2144 | name                         | type   | description                                                                                                                                     |
2145 +==============================+========+=================================================================================================================================================+
2146 | evas\_text\_font\_font       | string | void evas\_object\_text\_font\_get (const Evas\_Object \*obj, const char \*\*font, Evas\_Font\_Size \*size), comma(,) delemeter if several font |
2147 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2148 | evas\_text\_font\_size       | uint32 | void evas\_object\_text\_font\_get (const Evas\_Object \*obj, const char \*\*font, Evas\_Font\_Size \*size)                                     |
2149 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2150 | evas\_text\_text             | string | const char \* evas\_object\_text\_text\_get (const Evas\_Object \*obj)                                                                          |
2151 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2152 | evas\_text\_bidi\_delimiters | string | const char \* evas\_object\_text\_bidi\_delimiters\_get (const Evas\_Object \*obj)                                                              |
2153 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2154 | evas\_text\_ellipsis         | float  | double evas\_object\_text\_ellipsis\_get (const Evas\_Object \*obj)                                                                             |
2155 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2156 | evas\_text\_style            | uint8  | | Evas\_Text\_Style\_Type evas\_object\_text\_style\_get (const Evas\_Object \*obj)                                                             |
2157 |                              |        | | EVAS\_TEXT\_STYLE\_PLAIN = 0x00,                                                                                                              |
2158 |                              |        | | EVAS\_TEXT\_STYLE\_SHADOW = 0x01,                                                                                                             |
2159 |                              |        | | EVAS\_TEXT\_STYLE\_OUTLINE = 0x02,                                                                                                            |
2160 |                              |        | | EVAS\_TEXT\_STYLE\_SOFT\_OUTLINE = 0x03,                                                                                                      |
2161 |                              |        | | EVAS\_TEXT\_STYLE\_GLOW = 0x04,                                                                                                               |
2162 |                              |        | | EVAS\_TEXT\_STYLE\_OUTLINE\_SHADOW = 0x05,                                                                                                    |
2163 |                              |        | | EVAS\_TEXT\_STYLE\_FAR\_SHADOW = 0x06,                                                                                                        |
2164 |                              |        | | EVAS\_TEXT\_STYLE\_OUTLINE\_SOFT\_SHADOW = 0x07,                                                                                              |
2165 |                              |        | | EVAS\_TEXT\_STYLE\_SOFT\_SHADOW = 0x08,                                                                                                       |
2166 |                              |        | | EVAS\_TEXT\_STYLE\_FAR\_SOFT\_SHADOW = 0x09                                                                                                   |
2167 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2168 | evas\_text\_shadow\_color    | 4 *    | void evas\_object\_text\_shadow\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a)                                      |
2169 |                              | uint32 |                                                                                                                                                 |
2170 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2171 | evas\_text\_glow\_color      | 4 *    | void evas\_object\_text\_glow\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a)                                        |
2172 |                              | uint32 |                                                                                                                                                 |
2173 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2174 | evas\_text\_glow2\_color     | 4 *    | void evas\_object\_text\_glow2\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a)                                       |
2175 |                              | uint32 |                                                                                                                                                 |
2176 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2177 | evas\_text\_outline\_color   | 4 *    | void evas\_object\_text\_outline\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a)                                     |
2178 |                              | uint32 |                                                                                                                                                 |
2179 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2180 | evas\_text\_style\_pad       | 4 *    | void evas\_object\_text\_style\_pad\_get (const Evas\_Object \*obj, int \*l, int \*r, int \*t, int \*b)                                         |
2181 |                              | uint32 |                                                                                                                                                 |
2182 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2183 | evas\_text\_direction        | uint8  | | Evas\_BiDi\_Direction evas\_object\_text\_direction\_get (const Evas\_Object \*obj)                                                           |
2184 |                              |        | | EVAS\_BIDI\_DIRECTION\_NATURAL = 0x00,                                                                                                        |
2185 |                              |        | | EVAS\_BIDI\_DIRECTION\_NEUTRAL = 0x01,                                                                                                        |
2186 |                              |        | | EVAS\_BIDI\_DIRECTION\_LTR = 0x02,                                                                                                            |
2187 |                              |        | | EVAS\_BIDI\_DIRECTION\_RTL = 0x03                                                                                                             |
2188 +------------------------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------+
2189
2190 properties of Textblock
2191 ^^^^^^^^^^^^^^^^^^^^^^^
2192
2193 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2194 | name                              | type   | description                                                                             |
2195 +===================================+========+=========================================================================================+
2196 | evas\_textblock\_replace\_char    | string | const char \* evas\_object\_textblock\_replace\_char\_get (Evas\_Object \*obj)          |
2197 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2198 | evas\_textblock\_valign           | float  | double evas\_object\_textblock\_valign\_get (const Evas\_Object \*obj)                  |
2199 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2200 | evas\_textblock\_bidi\_delimiters | string | const char \* evas\_object\_textblock\_bidi\_delimiters\_get (const Evas\_Object \*obj) |
2201 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2202 | evas\_textblock\_legacy\_newline  | uint8  | Eina\_uint8evas\_object\_textblock\_legacy\_newline\_get (const Evas\_Object \*obj)     |
2203 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2204 | evas\_textblock\_text\_markup     | string | const char \* evas\_object\_textblock\_text\_markup\_get (const Evas\_Object \*obj)     |
2205 +-----------------------------------+--------+-----------------------------------------------------------------------------------------+
2206
2207 properties of Vector
2208 ^^^^^^^^^^^^^^^^^^^^
2209
2210 Nothing
2211
2212 properties of Table
2213 ^^^^^^^^^^^^^^^^^^^
2214
2215 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2216 | name                        | type     | description                                                                                                       |
2217 +=============================+==========+===================================================================================================================+
2218 | evas\_table\_homogeneous    | uint8    | | Evas\_Object\_Table\_Homogeneous\_Mode evas\_object\_table\_homogeneous\_get(const Evas\_Table \*obj)           |
2219 |                             |          | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_NONE = 0x00,                                                                  |
2220 |                             |          | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_TABLE = 0x01,                                                                 |
2221 |                             |          | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_ITEM = 0x02                                                                   |
2222 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2223 | evas\_table\_align          | 2 *      | void evas\_object\_table\_align\_get(const Evas\_Table \*obj, double \*horizontal, double \*vertical)             |
2224 |                             | float    |                                                                                                                   |
2225 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2226 | evas\_table\_padding        | 2 *      | void evas\_object\_table\_padding\_get(const Evas\_Table \*obj, Evas\_Coord \*horizontal, Evas\_Coord \*vertical) |
2227 |                             | uint32   |                                                                                                                   |
2228 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2229 | evas\_table\_mirrored       | uint8    | Eina\_uint8evas\_object\_table\_mirrored\_get(const Evas\_Table \*obj)                                            |
2230 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2231 | evas\_table\_col\_row\_size | 2 *      | void evas\_object\_table\_col\_row\_size\_get(const Evas\_Table \*obj, int \*cols, int \*rows)                    |
2232 |                             | uint32   |                                                                                                                   |
2233 +-----------------------------+----------+-------------------------------------------------------------------------------------------------------------------+
2234
2235 properties of Box
2236 ^^^^^^^^^^^^^^^^^
2237
2238 +------------------+----------+---------------------------------------------------------------------------------------------------+
2239 | name             | type     | description                                                                                       |
2240 +==================+==========+===================================================================================================+
2241 | evas\_box\_align | 2 *      | void evas\_object\_box\_align\_get(const Evas\_Box \*obj, double \*horizontal, double \*vertical) |
2242 |                  | float    |                                                                                                   |
2243 +------------------+----------+---------------------------------------------------------------------------------------------------+
2244
2245 properties of Grid
2246 ^^^^^^^^^^^^^^^^^^
2247
2248 +----------------------+--------+-------------------------------------------------------------------------------------------------+
2249 | name                 | type   | description                                                                                     |
2250 +======================+========+=================================================================================================+
2251 | evas\_grid\_mirrored | uint8  | Eina\_uint8evas\_object\_grid\_mirrored\_get(const Evas\_Grid \*obj)                            |
2252 +----------------------+--------+-------------------------------------------------------------------------------------------------+
2253 | evas\_grid\_pack     | int[4] | Eina\_uint8evas\_obj\_grid\_pack\_get(Evas\_Object \*child, int \*x, int \*y, int \*w, int \*h) |
2254 +----------------------+--------+-------------------------------------------------------------------------------------------------+
2255
2256 properties of Textgrid
2257 ^^^^^^^^^^^^^^^^^^^^^^
2258
2259 +----------------------------+--------+-----------------------------------------------------------------------------------------------------+
2260 | name                       | type   | description                                                                                         |
2261 +============================+========+=====================================================================================================+
2262 | evas\_textgrid\_size       | 2 *    | void evas\_object\_textgrid\_size\_get(const Evas\_Textgrid \*obj, int \*w, int \*h)                |
2263 |                            | uint32 |                                                                                                     |
2264 +----------------------------+--------+-----------------------------------------------------------------------------------------------------+
2265 | evas\_textgrid\_cell\_size | 2 *    | void evas\_object\_textgrid\_cell\_size\_get(const Evas\_Textgrid \*obj, int \*width, int \*height) |
2266 |                            | uint32 |                                                                                                     |
2267 +----------------------------+--------+-----------------------------------------------------------------------------------------------------+
2268
2269 properties of Smart
2270 ^^^^^^^^^^^^^^^^^^^
2271
2272 Nothing
2273
2274 .. _elm_subtypes:
2275
2276 Elementary subtype specific properties
2277 --------------------------------------
2278
2279 properties of Background
2280 ^^^^^^^^^^^^^^^^^^^^^^^^
2281
2282 +-------------------------+--------+-------------------------------------------------------------------------------+
2283 | name                    | type   | description                                                                   |
2284 +=========================+========+===============================================================================+
2285 | elm\_background\_color  | 3 *    | void elm\_bg\_color\_get(const Evas\_Object \*obj, int \*r, int \*g, int \*b) |
2286 |                         | uint32 |                                                                               |
2287 +-------------------------+--------+-------------------------------------------------------------------------------+
2288 | elm\_background\_option | uint8  | | Elm\_Bg\_Option elm\_bg\_option\_get(const Elm\_Bg \*obj)                   |
2289 |                         |        | | ELM\_BG\_OPTION\_CENTER = 0x00,                                             |
2290 |                         |        | | ELM\_BG\_OPTION\_SCALE = 0x01,                                              |
2291 |                         |        | | ELM\_BG\_OPTION\_STRETCH = 0x02,                                            |
2292 |                         |        | | ELM\_BG\_OPTION\_TILE = 0x03,                                               |
2293 |                         |        | | ELM\_BG\_OPTION\_LAST = 0x04                                                |
2294 +-------------------------+--------+-------------------------------------------------------------------------------+
2295
2296 properties of Button
2297 ^^^^^^^^^^^^^^^^^^^^
2298
2299 +-------------------------------------------+-------+---------------------------------------------------------------------------------+
2300 | name                                      | type  | description                                                                     |
2301 +===========================================+=======+=================================================================================+
2302 | elm\_button\_autorepeat\_initial\_timeout | float | double elm\_button\_autorepeat\_initial\_timeout\_get (const Elm\_Button \*obj) |
2303 +-------------------------------------------+-------+---------------------------------------------------------------------------------+
2304 | elm\_button\_autorepeat\_gap\_timeout     | float | double elm\_button\_autorepeat\_gap\_timeout\_get (const Elm\_Button \*obj)     |
2305 +-------------------------------------------+-------+---------------------------------------------------------------------------------+
2306 | elm\_button\_autorepeat                   | uint8 | Eina\_uint8elm\_button\_autorepeat\_get (const Elm\_Button \*obj)               |
2307 +-------------------------------------------+-------+---------------------------------------------------------------------------------+
2308
2309 properties of Check
2310 ^^^^^^^^^^^^^^^^^^^
2311
2312 +-------------------+------+-----------------------------------------------------------+
2313 | name              | type | description                                               |
2314 +===================+======+===========================================================+
2315 | elm\_check\_state | uint8| Eina\_uint8elm\_check\_state\_get(const Elm\_Check \*obj) |
2316 +-------------------+------+-----------------------------------------------------------+
2317
2318 properties of Colorselector
2319 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2320
2321 +-----------------------------------+--------+---------------------------------------------------------------------------------------------------------+
2322 | name                              | type   | description                                                                                             |
2323 +===================================+========+=========================================================================================================+
2324 | elm\_colorselector\_color         | 4 *    | void elm\_colorselector\_color\_get(const Elm\_Colorselector \*obj, int \*r, int \*g, int \*b, int \*a) |
2325 |                                   | uint32 |                                                                                                         |
2326 +-----------------------------------+--------+---------------------------------------------------------------------------------------------------------+
2327 | elm\_colorselector\_palette\_name | string | const char \*elm\_colorselector\_palette\_name\_get(const Elm\_Colorselector \*obj)                     |
2328 +-----------------------------------+--------+---------------------------------------------------------------------------------------------------------+
2329 | elm\_colorselector\_mode          | uint8  | | Elm\_Colorselector\_Mode elm\_colorselector\_mode\_get(const Elm\_Colorselector \*obj)                |
2330 |                                   |        | | ELM\_COLORSELECTOR\_PALETTE = 0x00,                                                                   |
2331 |                                   |        | | ELM\_COLORSELECTOR\_COMPONENTS = 0x01,                                                                |
2332 |                                   |        | | ELM\_COLORSELECTOR\_BOTH = 0x02,                                                                      |
2333 |                                   |        | | ELM\_COLORSELECTOR\_PICKER = 0x03,                                                                    |
2334 |                                   |        | | ELM\_COLORSELECTOR\_PLANE = 0x04,                                                                     |
2335 |                                   |        | | ELM\_COLORSELECTOR\_PALETTE\_PLANE = 0x05,                                                            |
2336 |                                   |        | | ELM\_COLORSELECTOR\_ALL = 0x06                                                                        |
2337 +-----------------------------------+--------+---------------------------------------------------------------------------------------------------------+
2338
2339 properties of Ctxpopup
2340 ^^^^^^^^^^^^^^^^^^^^^^
2341
2342 +---------------------------+------+------------------------------------------------------+
2343 | name                      | type | description                                          |
2344 +===========================+======+======================================================+
2345 | elm\_ctxpopup\_horizontal | uint8| Eina\_uint8elm\_obj\_ctxpopup\_horizontal\_get(void) |
2346 +---------------------------+------+------------------------------------------------------+
2347
2348 properties of Datetime
2349 ^^^^^^^^^^^^^^^^^^^^^^
2350
2351 +-----------------------+--------+-----------------------------------------------------------------------------------------+
2352 | name                  | type   | description                                                                             |
2353 +=======================+========+=========================================================================================+
2354 | elm\_datetime\_format | string | const char \*elm\_datetime\_format\_get(const Elm\_Datetime \*obj)                      |
2355 +-----------------------+--------+-----------------------------------------------------------------------------------------+
2356 | elm\_datetime\_value  | 8 *    | | Eina\_uint8elm\_datetime\_value\_get(const Elm\_Datetime \*obj, struct tm \*currtime) |
2357 |                       | uint32 | | int tm\_sec; /\* Seconds. [0-60] (1 leap second) \*/                                  |
2358 |                       |        | | int tm\_min; /\* Minutes. [0-59] \*/                                                  |
2359 |                       |        | | int tm\_hour; /\* Hours. [0-23] \*/                                                   |
2360 |                       |        | | int tm\_mday; /\* Day. [1-31] \*/                                                     |
2361 |                       |        | | int tm\_mon; /\* Month. [0-11] \*/                                                    |
2362 |                       |        | | int tm\_year; /\* Year - 1900. \*/                                                    |
2363 |                       |        | | int tm\_wday; /\* Day of week. [0-6] \*/                                              |
2364 |                       |        | | int tm\_yday; /\* Days in year.[0-365] \*/                                            |
2365 +-----------------------+--------+-----------------------------------------------------------------------------------------+
2366
2367 properties of Entry
2368 ^^^^^^^^^^^^^^^^^^^
2369
2370 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2371 | name                                       | type   | description                                                                          |
2372 +============================================+========+======================================================================================+
2373 | elm\_entry\_entry                          | string | const char \*elm\_entry\_entry\_get(const Evas\_Object \*obj)                        |
2374 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2375 | elm\_entry\_scrollable                     | uint8  | Eina\_uint8elm\_entry\_scrollable\_get(const Elm\_Entry \*obj)                       |
2376 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2377 | elm\_entry\_input\_panel\_show\_on\_demand | uint8  | Eina\_uint8elm\_entry\_input\_panel\_show\_on\_demand\_get(const Elm\_Entry \*obj)   |
2378 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2379 | elm\_entry\_context\_menu\_disabled        | uint8  | Eina\_uint8elm\_entry\_context\_menu\_disabled\_get(const Elm\_Entry \*obj)          |
2380 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2381 | elm\_entry\_cnp\_mode                      | uint8  | Elm\_Cnp\_Mode elm\_entry\_cnp\_mode\_get(const Elm\_Entry \*obj)                    |
2382 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2383 | elm\_entry\_editable                       | uint8  | EAPI Eina\_uint8elm\_entry\_editable\_get(const Elm\_Entry \*obj)                    |
2384 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2385 | elm\_entry\_anchor\_hover\_style           | string | EAPI const char \*elm\_entry\_anchor\_hover\_style\_get(const Elm\_Entry \*obj)      |
2386 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2387 | elm\_entry\_single\_line                   | uint8  | EAPI Eina\_uint8elm\_entry\_single\_line\_get(const Elm\_Entry \*obj)                |
2388 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2389 | elm\_entry\_password                       | uint8  | EAPI Eina\_uint8elm\_entry\_password\_get(const Elm\_Entry \*obj)                    |
2390 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2391 | elm\_entry\_autosave                       | uint8  | EAPI Eina\_uint8elm\_entry\_autosave\_get(const Elm\_Entry \*obj)                    |
2392 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2393 | elm\_entry\_prediction\_allow              | uint8  | EAPI Eina\_uint8elm\_entry\_prediction\_allow\_get(const Elm\_Entry \*obj)           |
2394 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2395 | elm\_entry\_input\_panel\_enabled          | uint8  | EAPI Eina\_uint8elm\_entry\_input\_panel\_enabled\_get(const Elm\_Entry \*obj)       |
2396 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2397 | elm\_entry\_cursor\_pos                    | uint32 | EAPI int elm\_entry\_cursor\_pos\_get(const Elm\_Entry \*obj)                        |
2398 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2399 | elm\_entry\_cursor\_is\_format             | uint8  | EAPI Eina\_uint8elm\_entry\_cursor\_is\_format\_get(const Elm\_Entry \*obj)          |
2400 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2401 | elm\_entry\_cursor\_content                | string | EAPI char \*elm\_entry\_cursor\_content\_get(const Elm\_Entry \*obj)                 |
2402 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2403 | elm\_entry\_selection                      | string | EAPI const char \*elm\_entry\_selection\_get(const Elm\_Entry \*obj)                 |
2404 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2405 | elm\_entry\_cursor\_is\_visible\_format    | uint8  | EAPI Eina\_uint8elm\_entry\_cursor\_is\_visible\_format\_get(const Elm\_Entry \*obj) |
2406 +--------------------------------------------+--------+--------------------------------------------------------------------------------------+
2407
2408 properties of Flip
2409 ^^^^^^^^^^^^^^^^^^
2410
2411 +---------------------------+------+-----------------------------------------------------------------+
2412 | name                      | type | description                                                     |
2413 +===========================+======+=================================================================+
2414 | elm\_flip\_interaction    | uint8| | Elm\_Flip\_Interaction elm\_obj\_flip\_interaction\_get(void) |
2415 |                           |      | | ELM\_FLIP\_INTERACTION\_NONE = 0x00,                          |
2416 |                           |      | | ELM\_FLIP\_INTERACTION\_ROTATE = 0x01,                        |
2417 |                           |      | | ELM\_FLIP\_INTERACTION\_CUBE = 0x02,                          |
2418 |                           |      | | ELM\_FLIP\_INTERACTION\_PAGE = 0x03                           |
2419 +---------------------------+------+-----------------------------------------------------------------+
2420 | elm\_flip\_front\_visible | uint8| Eina\_uint8elm\_obj\_flip\_front\_visible\_get(void)            |
2421 +---------------------------+------+-----------------------------------------------------------------+
2422
2423 properties of Gengrid
2424 ^^^^^^^^^^^^^^^^^^^^^
2425
2426 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2427 | name                              | type     | description                                                                                                     |
2428 +===================================+==========+=================================================================================================================+
2429 | elm\_gengrid\_align               | 2 *      | EAPI void elm\_gengrid\_align\_get(const Elm\_Gengrid \*obj, double \*align\_x, double \*align\_y)              |
2430 |                                   | float    |                                                                                                                 |
2431 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2432 | elm\_gengrid\_filled              | uint8    | EAPI Eina\_uint8elm\_gengrid\_filled\_get(const Elm\_Gengrid \*obj)                                             |
2433 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2434 | elm\_gengrid\_page\_relative      | 2 *      | EAPI void elm\_gengrid\_page\_relative\_get(const Elm\_Gengrid \*obj, double \*h\_pagerel, double \*v\_pagerel) |
2435 |                                   | float    |                                                                                                                 |
2436 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2437 | elm\_gengrid\_multi\_select       | uint8    | EAPI Eina\_uint8elm\_gengrid\_multi\_select\_get(const Elm\_Gengrid \*obj)                                      |
2438 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2439 | elm\_gengrid\_group\_item\_size   | 2 *      | EAPI void elm\_gengrid\_group\_item\_size\_get(const Elm\_Gengrid \*obj, Evas\_Coord \*w, Evas\_Coord \*h)      |
2440 |                                   | uint32   |                                                                                                                 |
2441 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2442 | elm\_gengrid\_select\_mode        | uint8    | | EAPI Elm\_Object\_Select\_Mode elm\_gengrid\_select\_mode\_get(const Elm\_Gengrid \*obj)                      |
2443 |                                   |          | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00,                                                                    |
2444 |                                   |          | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01,                                                                     |
2445 |                                   |          | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02,                                                                       |
2446 |                                   |          | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03,                                                              |
2447 |                                   |          | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04                                                                         |
2448 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2449 | elm\_gengrid\_reorder\_mode       | uint8    | EAPI Eina\_uint8elm\_gengrid\_reorder\_mode\_get(const Elm\_Gengrid \*obj)                                      |
2450 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2451 | elm\_gengrid\_highlight\_mode     | uint8    | EAPI Eina\_uint8elm\_gengrid\_highlight\_mode\_get(const Elm\_Gengrid \*obj)                                    |
2452 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2453 | elm\_gengrid\_item\_size          | 2 *      | EAPI void elm\_gengrid\_item\_size\_get(const Elm\_Gengrid \*obj, Evas\_Coord \*w, Evas\_Coord \*h)             |
2454 |                                   | uint32   |                                                                                                                 |
2455 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2456 | elm\_gengrid\_multi\_select\_mode | uint8    | | EAPI Elm\_Object\_Multi\_Select\_Mode elm\_gengrid\_multi\_select\_mode\_get(const Elm\_Gengrid \*obj)        |
2457 |                                   |          | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_DEFAULT = 0x00,                                                             |
2458 |                                   |          | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_WITH\_CONTROL = 0x01,                                                       |
2459 |                                   |          | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_MAX = 0x02                                                                  |
2460 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2461 | elm\_gengrid\_horizontal          | uint8    | EAPI Eina\_uint8elm\_gengrid\_horizontal\_get(const Elm\_Gengrid \*obj)                                         |
2462 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2463 | elm\_gengrid\_wheel\_disabled     | uint8    | EAPI Eina\_uint8elm\_gengrid\_wheel\_disabled\_get(const Elm\_Gengrid \*obj)                                    |
2464 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2465 | elm\_gengrid\_items\_count        | uint32   | EAPI unsigned int elm\_gengrid\_items\_count(const Elm\_Gengrid \*obj)                                          |
2466 +-----------------------------------+----------+-----------------------------------------------------------------------------------------------------------------+
2467
2468 properties of Genlist
2469 ^^^^^^^^^^^^^^^^^^^^^
2470
2471 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2472 | name                                | type  | description                                                                           |
2473 +=====================================+=======+=======================================================================================+
2474 | elm\_genlist\_multi\_select         | uint8 | Eina\_uint8elm\_genlist\_multi\_select\_get(const Evas\_Object \*obj)                 |
2475 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2476 | elm\_genlist\_mode                  | uint8 | | Elm\_List\_Mode elm\_genlist\_mode\_get(const Evas\_Object \*obj)                   |
2477 |                                     |       | | ELM\_LIST\_COMPRESS = 0x00,                                                         |
2478 |                                     |       | | ELM\_LIST\_SCROLL = 0x01,                                                           |
2479 |                                     |       | | ELM\_LIST\_LIMIT = 0x02,                                                            |
2480 |                                     |       | | ELM\_LIST\_EXPAND = 0x03,                                                           |
2481 |                                     |       | | ELM\_LIST\_LAST = 0x04                                                              |
2482 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2483 | elm\_genlist\_items\_count          | uint32| unsigned int elm\_genlist\_items\_count(const Evas\_Object \*obj)                     |
2484 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2485 | elm\_genlist\_homogeneous           | uint8 | Eina\_uint8elm\_genlist\_homogeneous\_get(const Evas\_Object \*obj)                   |
2486 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2487 | elm\_genlist\_block\_count          | uint32| int elm\_genlist\_block\_count\_get(const Evas\_Object \*obj)                         |
2488 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2489 | elm\_genlist\_longpress\_timeout    | float | double elm\_genlist\_longpress\_timeout\_get(const Evas\_Object \*obj)                |
2490 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2491 | elm\_genlist\_reorder\_mode         | uint8 | Eina\_uint8elm\_genlist\_reorder\_mode\_get(const Evas\_Object \*obj)                 |
2492 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2493 | elm\_genlist\_decorate\_mode        | uint8 | Eina\_uint8elm\_genlist\_decorate\_mode\_get(const Evas\_Object \*obj)                |
2494 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2495 | elm\_genlist\_tree\_effect\_enabled | uint8 | Eina\_uint8elm\_genlist\_tree\_effect\_enabled\_get(const Evas\_Object \*obj)         |
2496 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2497 | elm\_genlist\_select\_mode          | uint8 | | Elm\_Object\_Select\_Mode elm\_genlist\_select\_mode\_get(const Evas\_Object \*obj) |
2498 |                                     |       | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00,                                          |
2499 |                                     |       | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01,                                           |
2500 |                                     |       | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02,                                             |
2501 |                                     |       | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03,                                    |
2502 |                                     |       | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04                                               |
2503 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2504 | elm\_genlist\_highlight\_mode       | uint8 | Eina\_uint8elm\_genlist\_highlight\_mode\_get(const Evas\_Object \*obj)               |
2505 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2506 | elm\_genlist\_realization\_mode     | uint8 | Eina\_uint8elm\_genlist\_realization\_mode\_get(Evas\_Object \*obj)                   |
2507 +-------------------------------------+-------+---------------------------------------------------------------------------------------+
2508
2509 properties of Glview
2510 ^^^^^^^^^^^^^^^^^^^^
2511
2512 +-----------------------+--------+------------------------------------------------------------------------+
2513 | name                  | type   | description                                                            |
2514 +=======================+========+========================================================================+
2515 | elm\_glview\_size     | 2 *    | void elm\_glview\_size\_get(const Elm\_Glview \*obj, int \*w, int \*h) |
2516 |                       | uint32 |                                                                        |
2517 +-----------------------+--------+------------------------------------------------------------------------+
2518 | elm\_glview\_rotation | uint32 | int elm\_glview\_rotation\_get(const Elm\_Glview \*obj)                |
2519 +-----------------------+--------+------------------------------------------------------------------------+
2520
2521 properties of Icon
2522 ^^^^^^^^^^^^^^^^^^
2523
2524 +--------------------------+--------+---------------------------------------------------------------------------------+
2525 | name                     | type   | description                                                                     |
2526 +==========================+========+=================================================================================+
2527 | elm\_icon\_order\_lookup | uint8  | | Elm\_Icon\_Lookup\_Order elm\_icon\_order\_lookup\_get(const Elm\_Icon \*obj) |
2528 |                          |        | | ELM\_ICON\_LOOKUP\_FDO\_THEME = 0x00,                                         |
2529 |                          |        | | ELM\_ICON\_LOOKUP\_THEME\_FDO = 0x01,                                         |
2530 |                          |        | | ELM\_ICON\_LOOKUP\_FDO = 0x02,                                                |
2531 |                          |        | | ELM\_ICON\_LOOKUP\_THEME = 0x03                                               |
2532 +--------------------------+--------+---------------------------------------------------------------------------------+
2533 | elm\_icon\_standard      | string | const char \*elm\_icon\_standard\_get(const Elm\_Icon \*obj)                    |
2534 +--------------------------+--------+---------------------------------------------------------------------------------+
2535
2536 properties of Image
2537 ^^^^^^^^^^^^^^^^^^^
2538
2539 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2540 | name                            | type    | description                                                                                 |
2541 +=================================+=========+=============================================================================================+
2542 | elm\_image\_editable            | uint8   | Eina\_uint8elm\_image\_editable\_get(const Elm\_Image \*obj)                                |
2543 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2544 | elm\_image\_animated\_play      | uint8   | Eina\_uint8elm\_image\_animated\_play\_get(const Elm\_Image \*obj)                          |
2545 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2546 | elm\_image\_smooth              | uint8   | Eina\_uint8elm\_image\_smooth\_get(const Elm\_Image \*obj)                                  |
2547 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2548 | elm\_image\_no\_scale           | uint8   | Eina\_uint8elm\_image\_no\_scale\_get(const Elm\_Image \*obj)                               |
2549 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2550 | elm\_image\_animated            | uint8   | Eina\_uint8elm\_image\_animated\_get(const Elm\_Image \*obj)                                |
2551 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2552 | elm\_image\_aspect\_fixed       | uint8   | Eina\_uint8elm\_image\_aspect\_fixed\_get(const Elm\_Image \*obj)                           |
2553 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2554 | elm\_image\_orient              | uint8   | | Elm\_Image\_Orient elm\_image\_orient\_get(const Elm\_Image \*obj)                        |
2555 |                                 |         | | ELM\_IMAGE\_ORIENT\_NONE = 0x00,                                                          |
2556 |                                 |         | | ELM\_IMAGE\_ORIENT\_0 = 0x01,                                                             |
2557 |                                 |         | | ELM\_IMAGE\_ROTATE\_90 = 0x02,                                                            |
2558 |                                 |         | | ELM\_IMAGE\_ORIENT\_90 = 0x03,                                                            |
2559 |                                 |         | | ELM\_IMAGE\_ROTATE\_180 = 0x04,                                                           |
2560 |                                 |         | | ELM\_IMAGE\_ORIENT\_180 = 0x05,                                                           |
2561 |                                 |         | | ELM\_IMAGE\_ROTATE\_270 = 0x06,                                                           |
2562 |                                 |         | | ELM\_IMAGE\_ORIENT\_270 = 0x07,                                                           |
2563 |                                 |         | | ELM\_IMAGE\_FLIP\_HORIZONTAL = 0x08,                                                      |
2564 |                                 |         | | ELM\_IMAGE\_FLIP\_VERTICAL = 0x09,                                                        |
2565 |                                 |         | | ELM\_IMAGE\_FLIP\_TRANSPOSE = 0x0A,                                                       |
2566 |                                 |         | | ELM\_IMAGE\_FLIP\_TRANSVERSE = 0x0B                                                       |
2567 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2568 | elm\_image\_fill\_outside       | uint8   | Eina\_uint8elm\_image\_fill\_outside\_get(const Elm\_Image \*obj)                           |
2569 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2570 | elm\_image\_resizable           | 2 8     | void elm\_image\_resizable\_get(const Elm\_Image \*obj, Eina\_uint8\*up, Eina\_uint8\*down) |
2571 |                                 | uint8   |                                                                                             |
2572 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2573 | elm\_image\_animated\_available | uint8   | Eina\_uint8elm\_image\_animated\_available\_get(const Elm\_Image \*obj)                     |
2574 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2575 | elm\_image\_object\_size        | 2 *     | void elm\_image\_object\_size\_get(const Elm\_Image \*obj, int \*w, int \*h)                |
2576 |                                 | uint32  |                                                                                             |
2577 +---------------------------------+---------+---------------------------------------------------------------------------------------------+
2578
2579 properties of Index
2580 ^^^^^^^^^^^^^^^^^^^
2581
2582 +---------------------------------+-------+-------------------------------------------------------------------------+
2583 | name                            | type  | description                                                             |
2584 +=================================+=======+=========================================================================+
2585 | elm\_index\_autohide\_disabled  | uint8 | Eina\_uint8elm\_index\_autohide\_disabled\_get(const Elm\_Index \*obj)  |
2586 +---------------------------------+-------+-------------------------------------------------------------------------+
2587 | elm\_index\_omit\_enabled       | uint8 | Eina\_uint8elm\_index\_omit\_enabled\_get(const Elm\_Index \*obj)       |
2588 +---------------------------------+-------+-------------------------------------------------------------------------+
2589 | elm\_index\_priority            | uint32| int elm\_index\_priority\_get(const Elm\_Index \*obj)                   |
2590 +---------------------------------+-------+-------------------------------------------------------------------------+
2591 | elm\_index\_horizontal          | uint8 | Eina\_uint8elm\_index\_horizontal\_get(const Elm\_Index \*obj)          |
2592 +---------------------------------+-------+-------------------------------------------------------------------------+
2593 | elm\_index\_delay\_change\_time | float | double elm\_index\_delay\_change\_time\_get(const Elm\_Index \*obj)     |
2594 +---------------------------------+-------+-------------------------------------------------------------------------+
2595 | elm\_index\_indicator\_disabled | uint8 | Eina\_uint8elm\_index\_indicator\_disabled\_get(const Elm\_Index \*obj) |
2596 +---------------------------------+-------+-------------------------------------------------------------------------+
2597 | elm\_index\_item\_level         | uint32| int elm\_index\_item\_level\_get(const Elm\_Index \*obj)                |
2598 +---------------------------------+-------+-------------------------------------------------------------------------+
2599
2600 properties of Label
2601 ^^^^^^^^^^^^^^^^^^^
2602
2603 +--------------------------+---------+--------------------------------------------------------------------------------+
2604 | name                     | type    | description                                                                    |
2605 +==========================+=========+================================================================================+
2606 | elm\_label\_wrap\_width  | uint32  | Evas\_Coord elm\_label\_wrap\_width\_get(const Elm\_Label \*obj)               |
2607 +--------------------------+---------+--------------------------------------------------------------------------------+
2608 | elm\_label\_slide\_speed | float   | double elm\_label\_slide\_speed\_get(const Elm\_Label \*obj)                   |
2609 +--------------------------+---------+--------------------------------------------------------------------------------+
2610 | elm\_label\_slide\_mode  | uint8   | | Elm\_Label\_Slide\_Mode elm\_label\_slide\_mode\_get(const Elm\_Label \*obj) |
2611 |                          |         | | ELM\_LABEL\_SLIDE\_MODE\_NONE = 0x00,                                        |
2612 |                          |         | | ELM\_LABEL\_SLIDE\_MODE\_AUTO = 0x01,                                        |
2613 |                          |         | | ELM\_LABEL\_SLIDE\_MODE\_ALWAYS = 0x02                                       |
2614 +--------------------------+---------+--------------------------------------------------------------------------------+
2615
2616 properties of List
2617 ^^^^^^^^^^^^^^^^^^
2618
2619 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2620 | name                            | type | description                                                                                   |
2621 +=================================+======+===============================================================================================+
2622 | elm\_list\_horizontal           | uint8| Eina\_uint8elm\_list\_horizontal\_get(const Elm\_List \*obj)                                  |
2623 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2624 | elm\_list\_select\_mode         | uint8| | Elm\_Object\_Select\_Mode elm\_list\_select\_mode\_get(const Elm\_List \*obj)               |
2625 |                                 |      | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00,                                                  |
2626 |                                 |      | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01,                                                   |
2627 |                                 |      | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02,                                                     |
2628 |                                 |      | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03,                                            |
2629 |                                 |      | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04                                                       |
2630 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2631 | elm\_list\_focus\_on\_selection | uint8| Eina\_uint8elm\_list\_focus\_on\_selection\_get(const Elm\_List \*obj)                        |
2632 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2633 | elm\_list\_multi\_select        | uint8| Eina\_uint8elm\_list\_multi\_select\_get(const Elm\_List \*obj)                               |
2634 |                                 |      |                                                                                               |
2635 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2636 | elm\_list\_multi\_select\_mode  | uint8| | Elm\_Object\_Multi\_Select\_Mode elm\_list\_multi\_select\_mode\_get(const Elm\_List \*obj) |
2637 |                                 |      | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_DEFAULT = 0x00,                                           |
2638 |                                 |      | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_WITH\_CONTROL = 0x01,                                     |
2639 |                                 |      | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_MAX = 0x02                                                |
2640 |                                 |      |                                                                                               |
2641 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2642 | elm\_list\_mode                 | uint8| Elm\_List\_Mode elm\_list\_mode\_get(const Elm\_List \*obj)                                   |
2643 +---------------------------------+------+-----------------------------------------------------------------------------------------------+
2644
2645 properties of Map
2646 ^^^^^^^^^^^^^^^^^
2647
2648 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2649 | name                      | type     | description                                                                                           |
2650 +===========================+==========+=======================================================================================================+
2651 | elm\_map\_zoom            | uint32   | int elm\_map\_zoom\_get(const Elm\_Map \*obj)                                                         |
2652 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2653 | elm\_map\_paused          | uint8    | Eina\_uint8elm\_map\_paused\_get(const Elm\_Map \*obj)                                                |
2654 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2655 | elm\_map\_wheel\_disabled | uint8    | Eina\_uint8elm\_map\_wheel\_disabled\_get(const Elm\_Map \*obj)                                       |
2656 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2657 | elm\_map\_zoom\_min       | uint32   | int elm\_map\_zoom\_min\_get(const Elm\_Map \*obj)                                                    |
2658 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2659 | elm\_map\_rotate          | float + 2| void elm\_map\_rotate\_get(const Elm\_Map \*obj, double \*degree, Evas\_Coord \*cx, Evas\_Coord \*cy) |
2660 |                           | * uint32 |                                                                                                       |
2661 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2662 | elm\_map\_user\_agent     | string   | const char \*elm\_map\_user\_agent\_get(const Elm\_Map \*obj)                                         |
2663 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2664 | elm\_map\_zoom\_max       | uint32   | int elm\_map\_zoom\_max\_get(const Elm\_Map \*obj)                                                    |
2665 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2666 | elm\_map\_zoom\_mode      | uint8    | | Elm\_Map\_Zoom\_Mode elm\_map\_zoom\_mode\_get(const Elm\_Map \*obj)                                |
2667 |                           |          | | ELM\_MAP\_ZOOM\_MODE\_MANUAL = 0x00,                                                                |
2668 |                           |          | | ELM\_MAP\_ZOOM\_MODE\_AUTO\_FIT = 0x01,                                                             |
2669 |                           |          | | ELM\_MAP\_ZOOM\_MODE\_AUTO\_FILL = 0x02,                                                            |
2670 |                           |          | | ELM\_MAP\_ZOOM\_MODE\_LAST = 0x03                                                                   |
2671 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2672 | elm\_map\_region          | 2 *      | void elm\_map\_region\_get(const Elm\_Map \*obj, double \*lon, double \*lat)                          |
2673 |                           | float    |                                                                                                       |
2674 +---------------------------+----------+-------------------------------------------------------------------------------------------------------+
2675
2676 properties of Notify
2677 ^^^^^^^^^^^^^^^^^^^^
2678
2679 +----------------------------+----------+-----------------------------------------------------------------------------------------------+
2680 | name                       | type     | description                                                                                   |
2681 +============================+==========+===============================================================================================+
2682 | elm\_notify\_align         | 2 *      | void elm\_notify\_align\_get(const Elm\_Notify \*obj, double \*horizontal, double \*vertical) |
2683 |                            | float    |                                                                                               |
2684 +----------------------------+----------+-----------------------------------------------------------------------------------------------+
2685 | elm\_notify\_allow\_events | uint8    | Eina\_uint8elm\_notify\_allow\_events\_get(const Elm\_Notify \*obj)                           |
2686 +----------------------------+----------+-----------------------------------------------------------------------------------------------+
2687 | elm\_notify\_timeout       | float    | double elm\_notify\_timeout\_get(const Elm\_Notify \*obj)                                     |
2688 +----------------------------+----------+-----------------------------------------------------------------------------------------------+
2689
2690 properties of Panel
2691 ^^^^^^^^^^^^^^^^^^^
2692
2693 +------------------------+------+----------------------------------------------------------------------+
2694 | name                   | type | description                                                          |
2695 +========================+======+======================================================================+
2696 | elm\_panel\_orient     | uint8| | Elm\_Panel\_Orient elm\_panel\_orient\_get(const Elm\_Panel \*obj) |
2697 |                        |      | | ELM\_PANEL\_ORIENT\_TOP = 0x00,                                    |
2698 |                        |      | | ELM\_PANEL\_ORIENT\_BOTTOM = 0x01,                                 |
2699 |                        |      | | ELM\_PANEL\_ORIENT\_LEFT = 0x02,                                   |
2700 |                        |      | | ELM\_PANEL\_ORIENT\_RIGHT = 0x03                                   |
2701 +------------------------+------+----------------------------------------------------------------------+
2702 | elm\_panel\_hidden     | uint8| Eina\_uint8elm\_panel\_hidden\_get(const Elm\_Panel \*obj)           |
2703 +------------------------+------+----------------------------------------------------------------------+
2704 | elm\_panel\_scrollable | uint8| Eina\_uint8elm\_panel\_scrollable\_get(const Elm\_Panel \*obj)       |
2705 +------------------------+------+----------------------------------------------------------------------+
2706
2707 properties of Photo
2708 ^^^^^^^^^^^^^^^^^^^
2709
2710 +---------------------------+--------+-------------------------------------------------------------------+
2711 | name                      | type   | description                                                       |
2712 +===========================+========+===================================================================+
2713 | elm\_photo\_editable      | uint8  | Eina\_uint8elm\_photo\_editable\_get(const Elm\_Photo \*obj)      |
2714 +---------------------------+--------+-------------------------------------------------------------------+
2715 | elm\_photo\_fill\_inside  | uint8  | Eina\_uint8elm\_photo\_fill\_inside\_get(const Elm\_Photo \*obj)  |
2716 +---------------------------+--------+-------------------------------------------------------------------+
2717 | elm\_photo\_aspect\_fixed | uint8  | Eina\_uint8elm\_photo\_aspect\_fixed\_get(const Elm\_Photo \*obj) |
2718 +---------------------------+--------+-------------------------------------------------------------------+
2719 | elm\_photo\_size          | uint32 | int elm\_photo\_size\_get(const Elm\_Photo \*obj)                 |
2720 +---------------------------+--------+-------------------------------------------------------------------+
2721
2722 properties of Photocam
2723 ^^^^^^^^^^^^^^^^^^^^^^
2724
2725 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2726 | name                            | type   | description                                                                           |
2727 +=================================+========+=======================================================================================+
2728 | elm\_photocam\_paused           | uint8  | Eina\_uint8elm\_photocam\_paused\_get(const Elm\_Photocam \*obj)                      |
2729 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2730 | elm\_photocam\_file             | string | const char \*elm\_photocam\_file\_get(const Elm\_Photocam \*obj)                      |
2731 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2732 | elm\_photocam\_gesture\_enabled | uint8  | Eina\_uint8elm\_photocam\_gesture\_enabled\_get(const Elm\_Photocam \*obj)            |
2733 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2734 | elm\_photocam\_zoom             | float  | double elm\_photocam\_zoom\_get(const Elm\_Photocam \*obj)                            |
2735 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2736 | elm\_photocam\_zoom\_mode       | uint8  | | Elm\_Photocam\_Zoom\_Mode elm\_photocam\_zoom\_mode\_get(const Elm\_Photocam \*obj) |
2737 |                                 |        | | ELM\_PHOTOCAM\_ZOOM\_MODE\_MANUAL = 0x00,                                           |
2738 |                                 |        | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FIT = 0x01,                                        |
2739 |                                 |        | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FILL = 0x02,                                       |
2740 |                                 |        | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FIT\_IN = 0x03,                                    |
2741 |                                 |        | | ELM\_PHOTOCAM\_ZOOM\_MODE\_LAST = 0x04                                              |
2742 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2743 | elm\_photocam\_image\_size      | 2 *    | void elm\_photocam\_image\_size\_get(const Elm\_Photocam \*obj, int \*w, int \*h)     |
2744 |                                 | int    |                                                                                       |
2745 +---------------------------------+--------+---------------------------------------------------------------------------------------+
2746
2747 properties of Plug
2748 ^^^^^^^^^^^^^^^^^^
2749
2750 Nothing
2751
2752 properties of Popup
2753 ^^^^^^^^^^^^^^^^^^^
2754
2755 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2756 | name                                  | type     | description                                                                                                           |
2757 +=======================================+==========+=======================================================================================================================+
2758 | elm\_popup\_align                     | 2 *      | void elm\_popup\_align\_get(const Elm\_Popup \*obj, double \*horizontal, double \*vertical)                           |
2759 |                                       | float    |                                                                                                                       |
2760 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2761 | elm\_popup\_allow\_events             | uint8    | Eina\_uint8elm\_popup\_allow\_events\_get(const Elm\_Popup \*obj)                                                     |
2762 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2763 | elm\_popup\_content\_text\_wrap\_type | uint8    | | Elm\_Wrap\_Type elm\_popup\_content\_text\_wrap\_type\_get(const Elm\_Popup \*obj)                                  |
2764 |                                       |          | | ELM\_WRAP\_NONE = 0x00, /\*\*< No wrap - value is zero \*/                                                          |
2765 |                                       |          | | ELM\_WRAP\_CHAR = 0x01, /\*\*< Char wrap - wrap between characters \*/                                              |
2766 |                                       |          | | ELM\_WRAP\_WORD = 0x02, /\*\*< Word wrap - wrap in allowed wrapping points (as defined in the unicode standard) \*/ |
2767 |                                       |          | | ELM\_WRAP\_MIXED = 0x03, /\*\*< Mixed wrap - Word wrap, and if that fails, char wrap. \*/                           |
2768 |                                       |          | | ELM\_WRAP\_LAST = 0x04                                                                                              |
2769 |                                       |          |                                                                                                                       |
2770 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2771 | elm\_popup\_orient                    | uint8    | | Elm\_Popup\_Orient elm\_popup\_orient\_get(const Elm\_Popup \*obj)                                                  |
2772 |                                       |          | | ELM\_POPUP\_ORIENT\_TOP = 0x00, /\*\*< Popup should appear in the top of parent, default \*/                        |
2773 |                                       |          | | ELM\_POPUP\_ORIENT\_CENTER = 0x01, /\*\*< Popup should appear in the center of parent \*/                           |
2774 |                                       |          | | ELM\_POPUP\_ORIENT\_BOTTOM = 0x02, /\*\*< Popup should appear in the bottom of parent \*/                           |
2775 |                                       |          | | ELM\_POPUP\_ORIENT\_LEFT = 0x03, /\*\*< Popup should appear in the left of parent \*/                               |
2776 |                                       |          | | ELM\_POPUP\_ORIENT\_RIGHT = 0x04, /\*\*< Popup should appear in the right of parent \*/                             |
2777 |                                       |          | | ELM\_POPUP\_ORIENT\_TOP\_LEFT = 0x05, /\*\*< Popup should appear in the top left of parent \*/                      |
2778 |                                       |          | | ELM\_POPUP\_ORIENT\_TOP\_RIGHT = 0x06, /\*\*< Popup should appear in the top right of parent \*/                    |
2779 |                                       |          | | ELM\_POPUP\_ORIENT\_BOTTOM\_LEFT = 0x07, /\*\*< Popup should appear in the bottom left of parent \*/                |
2780 |                                       |          | | ELM\_POPUP\_ORIENT\_BOTTOM\_RIGHT = 0x08, /\*\*< Notify should appear in the bottom right of parent \*/             |
2781 |                                       |          | | ELM\_POPUP\_ORIENT\_LAST = 0x09                                                                                     |
2782 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2783 | elm\_popup\_timeout                   | float    | double elm\_popup\_timeout\_get(const Elm\_Popup \*obj)                                                               |
2784 +---------------------------------------+----------+-----------------------------------------------------------------------------------------------------------------------+
2785
2786 properties of Progressbar
2787 ^^^^^^^^^^^^^^^^^^^^^^^^^
2788
2789 +--------------------------------+--------+--------------------------------------------------------------------------------+
2790 | name                           | type   | description                                                                    |
2791 +================================+========+================================================================================+
2792 | elm\_progressbar\_span\_size   | uint32 | Evas\_Coord elm\_progressbar\_span\_size\_get(const Elm\_Progressbar \*obj)    |
2793 +--------------------------------+--------+--------------------------------------------------------------------------------+
2794 | elm\_progressbar\_pulse        | uint8  | Eina\_uint8elm\_progressbar\_pulse\_get(const Elm\_Progressbar \*obj)          |
2795 +--------------------------------+--------+--------------------------------------------------------------------------------+
2796 | elm\_progressbar\_value        | float  | double elm\_progressbar\_value\_get(const Elm\_Progressbar \*obj)              |
2797 +--------------------------------+--------+--------------------------------------------------------------------------------+
2798 | elm\_progressbar\_inverted     | uint8  | Eina\_uint8elm\_progressbar\_inverted\_get(const Elm\_Progressbar \*obj)       |
2799 +--------------------------------+--------+--------------------------------------------------------------------------------+
2800 | elm\_progressbar\_horizontal   | uint8  | Eina\_uint8elm\_progressbar\_horizontal\_get(const Elm\_Progressbar \*obj)     |
2801 +--------------------------------+--------+--------------------------------------------------------------------------------+
2802 | elm\_progressbar\_unit\_format | string | const char \*elm\_progressbar\_unit\_format\_get(const Elm\_Progressbar \*obj) |
2803 +--------------------------------+--------+--------------------------------------------------------------------------------+
2804
2805 properties of Radio
2806 ^^^^^^^^^^^^^^^^^^^
2807
2808 +--------------------------+------+-----------------------------------------------------------+
2809 | name                     | type | description                                               |
2810 +==========================+======+===========================================================+
2811 | elm\_radio\_state\_value | int  | int elm\_radio\_state\_value\_get(const Elm\_Radio \*obj) |
2812 +--------------------------+------+-----------------------------------------------------------+
2813 | elm\_radio\_value        | int  | int elm\_radio\_value\_get(const Elm\_Radio \*obj)        |
2814 +--------------------------+------+-----------------------------------------------------------+
2815
2816 properties of Segmentcontrol
2817 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2818
2819 +----------------------------------+------+--------------------------------------------------------------------------------+
2820 | name                             | type | description                                                                    |
2821 +==================================+======+================================================================================+
2822 | elm\_segmentcontrol\_item\_count | int  | int elm\_segment\_control\_item\_count\_get(const Elm\_Segment\_Control \*obj) |
2823 +----------------------------------+------+--------------------------------------------------------------------------------+
2824
2825 properties of Slider
2826 ^^^^^^^^^^^^^^^^^^^^
2827
2828 +--------------------------------+--------+---------------------------------------------------------------------------+
2829 | name                           | type   | description                                                               |
2830 +================================+========+===========================================================================+
2831 | elm\_slider\_horizontal        | uint8  | Eina\_uint8elm\_slider\_horizontal\_get(const Elm\_Slider \*obj)          |
2832 +--------------------------------+--------+---------------------------------------------------------------------------+
2833 | elm\_slider\_value             | float  | double elm\_slider\_value\_get(const Elm\_Slider \*obj)                   |
2834 +--------------------------------+--------+---------------------------------------------------------------------------+
2835 | elm\_slider\_indicator\_format | string | const char \*elm\_slider\_indicator\_format\_get(const Elm\_Slider \*obj) |
2836 +--------------------------------+--------+---------------------------------------------------------------------------+
2837
2838 properties of Spinner
2839 ^^^^^^^^^^^^^^^^^^^^^
2840
2841 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2842 | name                        | type     | description                                                                            |
2843 +=============================+==========+========================================================================================+
2844 | elm\_spinner\_min\_max      | 2 *      | void elm\_spinner\_min\_max\_get(const Elm\_Spinner \*obj, double \*min, double \*max) |
2845 |                             | float    |                                                                                        |
2846 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2847 | elm\_spinner\_step          | float    | double elm\_spinner\_step\_get(const Elm\_Spinner \*obj)                               |
2848 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2849 | elm\_spinner\_wrap          | uint8    | Eina\_uint8elm\_spinner\_wrap\_get(const Elm\_Spinner \*obj)                           |
2850 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2851 | elm\_spinner\_interval      | float    | double elm\_spinner\_interval\_get(const Elm\_Spinner \*obj)                           |
2852 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2853 | elm\_spinner\_round         | uint32   | int elm\_spinner\_round\_get(const Elm\_Spinner \*obj)                                 |
2854 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2855 | elm\_spinner\_editable      | uint8    | Eina\_uint8elm\_spinner\_editable\_get(const Elm\_Spinner \*obj)                       |
2856 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2857 | elm\_spinner\_base          | float    | double elm\_spinner\_base\_get(const Elm\_Spinner \*obj)                               |
2858 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2859 | elm\_spinner\_value         | float    | double elm\_spinner\_value\_get(const Elm\_Spinner \*obj)                              |
2860 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2861 | elm\_spinner\_label\_format | string   | const char \*elm\_spinner\_label\_format\_get(const Elm\_Spinner \*obj)                |
2862 +-----------------------------+----------+----------------------------------------------------------------------------------------+
2863
2864 properties of Toolbar
2865 ^^^^^^^^^^^^^^^^^^^^^
2866
2867 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2868 | name                               | type  | description                                                                           |
2869 +====================================+=======+=======================================================================================+
2870 | elm\_toolbar\_reorder\_mode        | uint8 | Eina\_uint8elm\_toolbar\_reorder\_mode\_get(const Evas\_Object \*obj)                 |
2871 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2872 | elm\_toolbar\_transverse\_expanded | uint8 | Eina\_uint8elm\_toolbar\_transverse\_expanded\_get(const Evas\_Object \*obj)          |
2873 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2874 | elm\_toolbar\_homogeneous          | uint8 | Eina\_uint8elm\_toolbar\_homogeneous\_get(const Elm\_Toolbar \*obj)                   |
2875 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2876 | elm\_toolbar\_align                | float | double elm\_toolbar\_align\_get(const Elm\_Toolbar \*obj)                             |
2877 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2878 | elm\_toolbar\_select\_mode         | uint8 | | Elm\_Object\_Select\_Mode elm\_toolbar\_select\_mode\_get(const Elm\_Toolbar \*obj) |
2879 |                                    |       | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00,                                          |
2880 |                                    |       | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01,                                           |
2881 |                                    |       | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02,                                             |
2882 |                                    |       | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03,                                    |
2883 |                                    |       | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04                                               |
2884 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2885 | elm\_toolbar\_icon\_size           | uint32| int elm\_toolbar\_icon\_size\_get(const Elm\_Toolbar \*obj)                           |
2886 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2887 | elm\_toolbar\_horizontal           | uint8 | Eina\_uint8elm\_toolbar\_horizontal\_get(const Elm\_Toolbar \*obj)                    |
2888 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2889 | elm\_toolbar\_standard\_priority   | uint32| int elm\_toolbar\_standard\_priority\_get(const Elm\_Toolbar \*obj)                   |
2890 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2891 | elm\_toolbar\_items\_count         | uint32| unsigned int elm\_toolbar\_items\_count(const Elm\_Toolbar \*obj)                     |
2892 +------------------------------------+-------+---------------------------------------------------------------------------------------+
2893
2894 properties of Tooltip
2895 ^^^^^^^^^^^^^^^^^^^^^
2896
2897 +------------------------------------+--------+------------------------------------------------------------------------------+
2898 | name                               | type   | description                                                                  |
2899 +====================================+========+==============================================================================+
2900 | elm\_object\_tooltip\_style        | string | const char \*elm\_object\_tooltip\_style\_get(const Evas\_Object \*obj)      |
2901 +------------------------------------+--------+------------------------------------------------------------------------------+
2902 | elm\_object\_tooltip\_window\_mode | uint8  | Eina\_uint8elm\_object\_tooltip\_window\_mode\_get(const Evas\_Object \*obj) |
2903 +------------------------------------+--------+------------------------------------------------------------------------------+
2904
2905 properties of Win
2906 ^^^^^^^^^^^^^^^^^
2907
2908 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2909 | name                                | type   | description                                                                                      |
2910 +=====================================+========+==================================================================================================+
2911 | elm\_win\_iconified                 | uint8  | Eina\_uint8elm\_win\_iconified\_get(const Elm\_Win \*obj)                                        |
2912 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2913 | elm\_win\_maximized                 | uint8  | Eina\_uint8elm\_win\_maximized\_get(const Elm\_Win \*obj)                                        |
2914 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2915 | elm\_win\_modal                     | uint8  | Eina\_uint8elm\_win\_modal\_get(const Elm\_Win \*obj)                                            |
2916 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2917 | elm\_win\_icon\_name                | string | const char \*elm\_win\_icon\_name\_get(const Elm\_Win \*obj)                                     |
2918 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2919 | elm\_win\_withdrawn                 | uint8  | Eina\_uint8elm\_win\_withdrawn\_get(const Elm\_Win \*obj)                                        |
2920 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2921 | elm\_win\_role                      | string | const char \*elm\_win\_role\_get(const Elm\_Win \*obj)                                           |
2922 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2923 | elm\_win\_size\_step                | 2 *    | void elm\_win\_size\_step\_get(const Elm\_Win \*obj, int \*w, int \*h)                           |
2924 |                                     | uint32 |                                                                                                  |
2925 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2926 | elm\_win\_focus\_highlight\_style   | string | const char \*elm\_win\_focus\_highlight\_style\_get(const Elm\_Win \*obj)                        |
2927 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2928 | elm\_win\_borderless                | uint8  | Eina\_uint8elm\_win\_borderless\_get(const Elm\_Win \*obj)                                       |
2929 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2930 | elm\_win\_focus\_highlight\_enabled | uint8  | Eina\_uint8elm\_win\_focus\_highlight\_enabled\_get(const Elm\_Win \*obj)                        |
2931 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2932 | elm\_win\_title                     | string | const char \*elm\_win\_title\_get(const Elm\_Win \*obj)                                          |
2933 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2934 | elm\_win\_alpha                     | uint8  | Eina\_uint8elm\_win\_alpha\_get(const Elm\_Win \*obj)                                            |
2935 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2936 | elm\_win\_urgent                    | uint8  | Eina\_uint8elm\_win\_urgent\_get(const Elm\_Win \*obj)                                           |
2937 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2938 | elm\_win\_rotation                  | uint32 | int elm\_win\_rotation\_get(const Elm\_Win \*obj)                                                |
2939 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2940 | elm\_win\_sticky                    | uint8  | Eina\_uint8elm\_win\_sticky\_get(const Elm\_Win \*obj)                                           |
2941 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2942 | elm\_win\_focus\_highlight\_animate | uint8  | Eina\_uint8elm\_win\_focus\_highlight\_animate\_get(const Elm\_Win \*obj)                        |
2943 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2944 | elm\_win\_aspect                    | float  | double elm\_win\_aspect\_get(const Elm\_Win \*obj)                                               |
2945 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2946 | elm\_win\_indicator\_opacity        | uint8  | | Elm\_Win\_Indicator\_Opacity\_Mode elm\_win\_indicator\_opacity\_get(const Elm\_Win \*obj)     |
2947 |                                     |        | | ELM\_WIN\_INDICATOR\_OPACITY\_UNKNOWN = 0x00, /\*\*< Unknown indicator opacity mode \*/        |
2948 |                                     |        | | ELM\_WIN\_INDICATOR\_OPAQUE = 0x01, /\*\*< Opacifies the indicator \*/                         |
2949 |                                     |        | | ELM\_WIN\_INDICATOR\_TRANSLUCENT = 0x02, /\*\*< Be translucent the indicator \*/               |
2950 |                                     |        | | ELM\_WIN\_INDICATOR\_TRANSPARENT = 0x03, /\*\*< Transparentizes the indicator \*/              |
2951 |                                     |        | | ELM\_WIN\_INDICATOR\_BG\_TRANSPARENT = 0x04 /\*\*< Transparentizes the indicator background\*/ |
2952 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2953 | elm\_win\_demand\_attention         | uint8  | Eina\_uint8elm\_win\_demand\_attention\_get(const Elm\_Win \*obj)                                |
2954 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2955 | elm\_win\_layer                     | uint32 | int elm\_win\_layer\_get(const Elm\_Win \*obj)                                                   |
2956 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2957 | elm\_win\_profile                   | string | const char \*elm\_win\_profile\_get(const Elm\_Win \*obj)                                        |
2958 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2959 | elm\_win\_shaped                    | uint8  | Eina\_uint8elm\_win\_shaped\_get(const Elm\_Win \*obj)                                           |
2960 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2961 | elm\_win\_fullscreen                | uint8  | Eina\_uint8elm\_win\_fullscreen\_get(const Elm\_Win \*obj)                                       |
2962 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2963 | elm\_win\_indicator\_mode           | uint8  | | Elm\_Win\_Indicator\_Mode elm\_win\_indicator\_mode\_get(const Elm\_Win \*obj)                 |
2964 |                                     |        | | ELM\_WIN\_INDICATOR\_UNKNOWN = 0x00, /\*\*< Unknown indicator state \*/                        |
2965 |                                     |        | | ELM\_WIN\_INDICATOR\_HIDE = 0x01, /\*\*< Hides the indicator \*/                               |
2966 |                                     |        | | ELM\_WIN\_INDICATOR\_SHOW = 0x02 /\*\*< Shows the indicator \*/                                |
2967 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2968 | elm\_win\_conformant                | uint8  | Eina\_uint8elm\_win\_conformant\_get(const Elm\_Win \*obj)                                       |
2969 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2970 | elm\_win\_size\_base                | 2 *    | void elm\_win\_size\_base\_get(const Elm\_Win \*obj, int \*w, int \*h)                           |
2971 |                                     | uint32 |                                                                                                  |
2972 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2973 | elm\_win\_quickpanel                | uint8  | Eina\_uint8elm\_win\_quickpanel\_get(const Elm\_Win \*obj)                                       |
2974 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2975 | elm\_win\_wm\_rotation\_supported   | uint8  | Eina\_uint8elm\_win\_wm\_rotation\_supported\_get(const Elm\_Win \*obj)                          |
2976 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2977 | elm\_win\_screen\_dpi               | 2 *    | void elm\_win\_screen\_dpi\_get(const Elm\_Win \*obj, int \*xdpi, int \*ydpi)                    |
2978 |                                     | uint32 |                                                                                                  |
2979 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+
2980 | elm\_win\_type                      | uint8  | | Elm\_Win\_Type elm\_win\_type\_get(const Elm\_Win \*obj)                                       |
2981 |                                     |        | | ELM\_WIN\_UNKNOWN = 0x00,                                                                      |
2982 |                                     |        | | ELM\_WIN\_BASIC = 0x01,                                                                        |
2983 |                                     |        | | ELM\_WIN\_DIALOG\_BASIC = 0x02,                                                                |
2984 |                                     |        | | ELM\_WIN\_DESKTOP = 0x03,                                                                      |
2985 |                                     |        | | ELM\_WIN\_DOCK = 0x04,                                                                         |
2986 |                                     |        | | ELM\_WIN\_TOOLBAR = 0x05,                                                                      |
2987 |                                     |        | | ELM\_WIN\_MENU = 0x06,                                                                         |
2988 |                                     |        | | ELM\_WIN\_UTILITY = 0x07,                                                                      |
2989 |                                     |        | | ELM\_WIN\_SPLASH = 0x08,                                                                       |
2990 |                                     |        | | ELM\_WIN\_DROPDOWN\_MENU = 0x09,                                                               |
2991 |                                     |        | | ELM\_WIN\_POPUP\_MENU = 0x0A,                                                                  |
2992 |                                     |        | | ELM\_WIN\_TOOLTIP = 0x0B,                                                                      |
2993 |                                     |        | | ELM\_WIN\_NOTIFICATION = 0x0C,                                                                 |
2994 |                                     |        | | ELM\_WIN\_COMBO = 0x0D,                                                                        |
2995 |                                     |        | | ELM\_WIN\_DND = 0x0E,                                                                          |
2996 |                                     |        | | ELM\_WIN\_INLINED\_IMAGE = 0x0F,                                                               |
2997 |                                     |        | | ELM\_WIN\_SOCKET\_IMAGE = 0x10,                                                                |
2998 |                                     |        | | ELM\_WIN\_TIZEN\_WIDGET = 0x11,                                                                |
2999 |                                     |        | | ELM\_WIN\_FAKE = 0x12                                                                          |
3000 +-------------------------------------+--------+--------------------------------------------------------------------------------------------------+