--- /dev/null
+SWAP Protocol 4.3
+=================
+
+.. contents::
+
+==================
+ Control channel
+==================
+
+1. Basic message format
+-----------------------
+
++------------+----------+----------+---------------+-----------------------+
+| name | type | length | value | description |
++============+==========+==========+===============+=======================+
+| message ID | int | 4 | 0x0001~0xFFFF | identify the message |
++------------+----------+----------+---------------+-----------------------+
+| length | int | 4 | | length of the payload |
++------------+----------+----------+---------------+-----------------------+
+| payload | variable | variable | | |
++------------+----------+----------+---------------+-----------------------+
+
+\* all strings end with '\\0'
+
+2. Control message list
+-----------------------
+
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| message ID | value | payload | value | description |
++=================================+========+=========================+=======+===================================================================================================================+
+| MSG\_VERSION | 0x0001 | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_START | 0x0002 | count of Applications | | the count is 4bytes, always more than 1. |
+| | | List of ApplicationInst | | ApplicationInst: The target application to launch and trace. |
+| | | Replay\_event | | Replay\_event are optional. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_STOP | 0x0003 | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_CONFIG | 0x0004 | configuration | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_BINARY\_INFO | 0x0005 | count of binaries | | the count is 4bytes, always more than 1. |
+| | | List of binaries | | Only for the query of a binary. This msg. doesn’t mean the binary will be traced. |
+| | | | | This is used for the swap\_daemon to get local binary path, checking PIE built, and md5sum. |
+| | | | | In Tizen 2.1 we use readelf, which should be substituded by implemeting in the swap\_daemon. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_TARGET\_INFO | 0x0007 | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_SWAP\_INST\_ADD | 0x0008 | count of LibraryInst | | the count is 4bytes, always more than 1. |
+| | | List of LibraryInst | | Can be sent anytime, before and after MSG\_START |
+| | | | | This information is fixed until the da\_manager is disconnected. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_SWAP\_INST\_REMOVE | 0x0009 | count of LibraryInst | | the count is 4bytes, always more than 1. |
+| | | List of LibraryInst | | Can be sent anytime, before and after MSG\_START |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_PROBEMAP | 0x000A | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_KEEP\_ALIVE | 0x000F | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_SCREENSHOT | 0x0010 | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_PROCESS\_ADD\_INFO | 0x0011 | count of process id | | count is unsigned 4bytes, each pid is also unsigned 4bytes |
+| | | list of process id | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_UI\_HIERARCHY | 0x0012 | rendering time option | 1byte | Request all of Evas Object. Payload is option of "Rendering time" (it has one of "0, 1, 2, 3"). |
+| | | | | |
+| | | | | | "0" : request only hierarchy, properties. (all of type) |
+| | | | | | "1" : request hierarchy, properties + rendering time. (all of type) |
+| | | | | | "2" : request hierarchy, properties(all of type) + rendering time(only Elementary type). |
+| | | | | | "3" : request only hierarchy, properties. (all of type) -> It's same with "0". this value is used for UI of |
+| | | | | Host. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_UI\_SCREENSHOT | 0x0013 | ui object address | | Request screenshot of a specific Evas Object. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_UI\_HIERARCHY\_CANCEL | 0x0014 | | | During SWAP collect informations for MSG\_GET\_UI\_HIERARCHY, This protocol make SWAP stop collect information. |
+| | | | | If SWAP is redrawing objects, It should be stopped. |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_GET\_REALPATH | 0x0020 | path of file | | path of file is string |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| MSG\_LSAN | 0x0022 | int32 status | | **status:** represents the subtype of message. It corresponds to this enum in SWAP:: |
+| | | int32 pid | | |
+| | | char[] string | | enum lsan_status { |
+| | | int32 call\_type\_ptr | | LSAN_MSG_ERR = 0x0, |
+| | | int64 caller\_addr | | LSAN_MSG_STATUS = 0x1, |
+| | | | | LSAN_MSG_REPORT = 0x2, |
+| | | | | LSAN_INIT_DONE = 0x4 |
+| | | | | }; |
+| | | | | |
+| | | | | | Possible values are:: |
+| | | | | |
+| | | | | | "0": Something went wrong (e.g. LSan failed to create report file) and the error occurred. |
+| | | | | | "2": The message contains information about LSan report (string value contains LSan report file name). |
+| | | | | | "5": Signals that LSan init is done (LSan shared library was successfully loaded into memory). |
+| | | | | |
+| | | | | | **string:** just plain C string. |
+| | | | | | If **status == "2",** contains LSan report file name. Otherwise it can contain arbitrary but valid string. |
+| | | | | | **call\_type\_ptr:** used to make SWAP internal routines happy. This value is always 0. |
+| | | | | | **caller\_addr:** used to make SWAP internal routines happy. This value is always 0. |
+| | | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+| | | | | |
++---------------------------------+--------+-------------------------+-------+-------------------------------------------------------------------------------------------------------------------+
+
+2.1 ApplicationInst
+```````````````````
+
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+==========+==========+========================================+==========================================================================================+
+| application type | int | 4 | 0x0001~0xFFFF | 01: tizen native UI application. (OSP) |
+| | | | | 02: already launched process or system-wide analysis (appID, path is null string "\\0".) |
+| | | | | 03: common executables |
+| | | | | 04: tizen web application |
+| | | | | 10: no launch |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| application ID | string | variable | AppID, PID, "\\0" | depends on the target application type |
+| | | | | 01: AppID, pkg\_id.app\_name, the standard tizen native application ID |
+| | | | | $> launch\_app AppID \_\_AUL\_SDK\_\_ DYNAMIC\_ANALYSIS |
+| | | | | 02: PID, "\\0" for system-wide analysis |
+| | | | | 03: "\\0" |
+| | | | | 04: AppID, pkg\_id.app\_name, the standard tizen web application ID |
+| | | | | $> wrt-launcher --start AppID |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| executable path | string | variable | name or full path of aplication binary | "\\0" for system-wide analysis |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| count of | int | 4 | count of array | count of FunctionInst objects, If no function profiling, this will be 0. |
+| Functions | | | | |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| FunctionInst List| object[] | variable | array of FunctionInst to instrument | |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+| setup data | variable | variable | data | depends on the target application type |
+| | | | | 01: main address(8byte) |
+| | | | | 02, 03, 04... : nothing |
++------------------+----------+----------+----------------------------------------+------------------------------------------------------------------------------------------+
+
+2.2 FunctionInst
+````````````````
+
++-------------------+------+-----------------------+-----------------------+------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================+======+=======================+=======================+==============================================================================+
+| function address | int | 8 | | |
++-------------------+------+-----------------------+-----------------------+------------------------------------------------------------------------------+
+| probe type | char | 1 | Probe type | 0 – common, 1 – function body instrumentation, 3 – web application profiling |
++-------------------+------+-----------------------+-----------------------+------------------------------------------------------------------------------+
+| probe data | | depends on probe type | depends on probe type | data for the specified probe |
++-------------------+------+-----------------------+-----------------------+------------------------------------------------------------------------------+
+
+2.2.1 Common probe
+''''''''''''''''''
+
++----------+----------+------------+-----------------+-------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==========+==========+============+=================+=============================================================================================================+
+| args | char[] | variable | array of type | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool) + end'\\0' |
++----------+----------+------------+-----------------+-------------------------------------------------------------------------------------------------------------+
+| Return | char | variable | type | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string) |
+| | | | | v(1, void), n(1,no type) |
++----------+----------+------------+-----------------+-------------------------------------------------------------------------------------------------------------+
+
+2.2.2 Function body instrumentation probe
+'''''''''''''''''''''''''''''''''''''''''
+
++-----------------------+-----------------+------------+--------------+---------------+
+| name | type | length | value | description |
++=======================+=================+============+==============+===============+
+| fbi variables count | unsigned char | 1 | any number | |
++-----------------------+-----------------+------------+--------------+---------------+
+| fbi variables array | <var>[] | variable | variables | |
++-----------------------+-----------------+------------+--------------+---------------+
+
+2.2.2.1 Function body instrumentation variable
+..............................................
+
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================+==============+===========+=================+=========================================================================================+
+| variable id | unsigned int | 8 | any number | |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| register offset | int | 8 | register offset | Offset relative to the registers value address. |
+| | | | | Variable position is evaluated by the following rule:: |
+| | | | | |
+| | | | | var_position = *(pointer_to_register) – reg_offset. |
+| | | | | |
+| | | | | It is expected that the offset is not null only when we're taking var value from stack. |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| register number | byte | 1 | register number | register number where target value is stored |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| data size | unsigned int | 4 | size to be read | |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| steps count | byte | 1 | any number | |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+| steps array | <step>[] | variables | steps | |
++-----------------+--------------+-----------+-----------------+-----------------------------------------------------------------------------------------+
+
+2.2.2.1.1 Function body instrumentation variable step
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
++---------------+------+--------+---------------+----------------------------------------------------------------+
+| name | type | length | value | description |
++===============+======+========+===============+================================================================+
+| pointer order | byte | 1 | pointer order | Specifies what kind of data is located on the target address:: |
+| | | | | | 0 - variable itself, |
+| | | | | | 1 – pointer to the variable, |
+| | | | | | 2 – pointer to the pointer to the variable, etc. |
++---------------+------+--------+---------------+----------------------------------------------------------------+
+| memory offset | int | 8 | mem offset | |
++---------------+------+--------+---------------+----------------------------------------------------------------+
+
+2.2.3 Web application profiling
+'''''''''''''''''''''''''''''''
+
++---------+------+--------+-------+-------------+
+| name | type | length | value | description |
++---------+------+--------+-------+-------------+
+| no args |
++---------+------+--------+-------+-------------+
+
+2.3 LibraryInst
+```````````````
+
++--------------------+----------+----------+-------------------------------------+--------------------------------------------+
+| name | type | length | value | description |
++====================+==========+==========+=====================================+============================================+
+| path of binary | string | variable | name or full path of binary | |
++--------------------+----------+----------+-------------------------------------+--------------------------------------------+
+| count of Functions | int | 4 | count of array | count of FunctionInst objects, |
+| | | | | In MSG\_SWAP\_INST\_REMOVE, this will be 0 |
++--------------------+----------+----------+-------------------------------------+--------------------------------------------+
+| FunctionInst List | object[] | variable | array of FunctionInst to instrument | |
++--------------------+----------+----------+-------------------------------------+--------------------------------------------+
+
+2.4 List of Binaries
+````````````````````
+
++------------------+----------+----------+----------------------------+---------------------------------------------------+
+| name | type | length | value | description |
++==================+==========+==========+============================+===================================================+
+| Binary path list | string[] | variable | \\0' saparated string list | list of binaries to query. |
+| | | | | full path of the executable in the target device. |
++------------------+----------+----------+----------------------------+---------------------------------------------------+
+
+2.5 configuration
+`````````````````
+
++---------------------+-----------+--------+-------------------------+-------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+===========+========+=========================+===============================================================================+
+| use\_features | long long | 16 | see 2.3.1 feature list | on & off each features |
++---------------------+-----------+--------+-------------------------+-------------------------------------------------------------------------------+
+| system trace period | int | 4 | millisecond (10~1000ms) | set the frequency of the MSG\_SYSTEM log, and send all data messages with it. |
++---------------------+-----------+--------+-------------------------+-------------------------------------------------------------------------------+
+| sampling period | int | 4 | millisecond (1~100ms) | set the frequency of the function sampling |
++---------------------+-----------+--------+-------------------------+-------------------------------------------------------------------------------+
+
+2.5.1 feature list
+''''''''''''''''''
+
++-----------------------------------+----------------+------------------------------------------------------------------+
+| feature name | value | description |
++===================================+================+==================================================================+
+| RESERVED | 0x0001 | |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| RESERVED | 0x0002 | |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| function profiling | 0x0004 | On/Off the UserSpaceInst |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| memory allcation probing | 0x0008 | memory allocation API (glibc) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| file API probing | 0x0010 | file API (glibc, OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| thread API probing | 0x0020 | thread API (glibc, OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| OSP UI API probing | 0x0040 | UI API (OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| screenshot | 0x0080 | Screenshot |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| user event | 0x0100 | events of Touch, Gesture, Orientation, Key |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| recording | 0x0200 | recording the user event |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall file | 0x0400 | File operation syscalls tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall ipc | 0x0800 | IPC syscall tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall process | 0x1000 | Process syscalls tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall signal | 0x2000 | Signal syscalls tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall network | 0x4000 | Network syscalls tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Systcall desc | 0x8000 | Descriptor syscalls tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| Context switch | 0x10000 | Context switch tracing |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| network API probing | 0x20000 | network API (glibc, OSP, libsoup) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| openGL API probing | 0x40000 | openGL API |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| function sampling | 0x80000 | Function Sampling |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| memory allcation probing nofilter | 0x10000000 | no internal call filtering for memory allocation API (glibc) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| file API probing nofilter | 0x20000000 | no internal call filtering for file API (glibc, OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| thread API probing nofilter | 0x40000000 | no internal call filtering for thread API (glibc, OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| OSP UI API probing nofilter | 0x80000000 | no internal call filtering for UI API (OSP) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| network API probing nofilter | 0x100000000 | no internal call filtering for network API (glibc, OSP, libsoup) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| openGL API probing nofilter | 0x200000000 | no internal call filtering for openGL API |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_CPU | 0x1 \* 0x10^9 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_MEMORY | 0x2 \* 0x10^9 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_PROCESS | 0x4 \* 0x10^9 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_THREAD\_LOAD | 0x8 \* 0x10^9 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_PROCESSES\_LOAD | 0x1 \* 0x10^10 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_DISK | 0x2 \* 0x10^10 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_NETWORK | 0x4 \* 0x10^10 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_DEVICE | 0x8 \* 0x10^10 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| SYSTEM\_ENERGY | 0x1 \* 0x10^11 | see MSG\_SYSTEM in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| APP\_STARTUP | 0x2 \* 0x10^11 | see MSG\_APP\_SETUP\_STAGE in data channel |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| WEB\_PROFILING | 0x4 \* 0x10^11 | web function profiling feature |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| WEB\_STARTUP\_PROFILING | 0x8 \* 0x10^11 | web startup profiling feature |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| system file activity | 0x1 \* 0x10^12 | function entry/exit for probe type 04 (File syscall) |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| | 0x2 \* 0x10^12 | |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| LSAN\_ENABLED | 0x4 \* 0x10^12 | enable LeakSanitizer |
++-----------------------------------+----------------+------------------------------------------------------------------+
+| | 0x8 \* 0x10^12 | |
++-----------------------------------+----------------+------------------------------------------------------------------+
+
+2.6 replay event
+````````````````
+
++-------------------+----------+----------+---------------+-------------------------------------------+
+| name | type | length | value | description |
++===================+==========+==========+===============+===========================================+
+| on/off | int | 4 | 0: off, 1: on | if 0 is set, no more information is added |
++-------------------+----------+----------+---------------+-------------------------------------------+
+| replay start time | time | 8 | | 2.2 MSG\_PROCESS\_INFO -> start time |
++-------------------+----------+----------+---------------+-------------------------------------------+
+| count of objects | int | 4 | | count of event objects |
++-------------------+----------+----------+---------------+-------------------------------------------+
+| event object list | object[] | variable | | |
++-------------------+----------+----------+---------------+-------------------------------------------+
+
+2.6.1 event object
+''''''''''''''''''
+
++-------------+------+--------+-------+----------------------------------------------------------------------+
+| name | type | length | value | description |
++=============+======+========+=======+======================================================================+
+| event time | time | 8 | | event writing time: event time - replay start time + app start time. |
++-------------+------+--------+-------+----------------------------------------------------------------------+
+| event ID | int | 4 | | |
++-------------+------+--------+-------+----------------------------------------------------------------------+
+| event type | int | 4 | | |
++-------------+------+--------+-------+----------------------------------------------------------------------+
+| event code | int | 4 | | |
++-------------+------+--------+-------+----------------------------------------------------------------------+
+| event value | int | 4 | | |
++-------------+------+--------+-------+----------------------------------------------------------------------+
+
+2.6.2 user event list
+'''''''''''''''''''''
+
++----------+--------+-------------+
+| event ID | value | description |
++==========+========+=============+
+| TOUCH | 0x8001 | |
++----------+--------+-------------+
+| KEY | 0x8002 | |
++----------+--------+-------------+
+
+3. response message
+-------------------
+
++--------------------------------------+--------+--------------------------------------------+---------------------------------------------------+
+| message ID | value | payload | description |
++======================================+========+===========+================================+===================================================+
+| MSG\_UNKNOWN\_ACK | 0x1000 | return ID | | ack for unknown message |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_VERSION\_ACK | 0x1001 | return ID | version string | should be "4.0" currently |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_START\_ACK | 0x1002 | return ID | Profiling start time | Profiling start time is the time when |
+| | | | | the swap\_deamon send the MSG\_START\_ACK |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_STOP\_ACK | 0x1003 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_CONFIG\_ACK | 0x1004 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_BINARY\_INFO\_ACK | 0x1005 | return ID | count of binary ack | |
+| | | | List of Binary ack | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_TARGET\_INFO\_ACK | 0x1007 | return ID | target information | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_SWAP\_INST\_ADD\_ACK | 0x1008 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_SWAP\_INST\_REMOVE\_ACK | 0x1009 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_PROBEMAP\_ACK | 0x100A | return ID | count of APIs | count is 4bytes |
+| | | | array of API map | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_KEEP\_ALIVE\_ACK | 0x100F | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_SCREENSHOT\_ACK | 0x1010 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_PROCESS\_ADD\_INFO\_ACK | 0x1011 | return ID | count of process ids | count is 4bytes |
+| | | | array of process addition info | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_UI\_HIERARCHY\_ACK | 0x1012 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_UI\_SCREENSHOT\_ACK | 0x1013 | return ID | file path | Screenshot image file, Error code : -207 or -208. |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_UI\_HIERARCHY\_CANCEL\_ACK | 0X1014 | return ID | | |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+| MSG\_GET\_REALPATH\_ACK | 0x1020 | return ID | realpath of given file | realpath is string ('\\0' if file does not exist) |
++--------------------------------------+--------+-----------+--------------------------------+---------------------------------------------------+
+
+
+3.1 return ID: 4byte integer
+````````````````````````````
+
++-------+--------------------------------------------------------------+
+| value | description |
++=======+==============================================================+
+| 0 | success |
++-------+--------------------------------------------------------------+
+| -101 | lock file create failed |
++-------+--------------------------------------------------------------+
+| -102 | already running |
++-------+--------------------------------------------------------------+
+| -103 | initialize system info failed |
++-------+--------------------------------------------------------------+
+| -104 | host server socket create failed |
++-------+--------------------------------------------------------------+
+| -105 | target server socket create failed |
++-------+--------------------------------------------------------------+
+| -201 | wrong message format |
++-------+--------------------------------------------------------------+
+| -202 | wrong message type |
++-------+--------------------------------------------------------------+
+| -203 | wrong message data |
++-------+--------------------------------------------------------------+
+| -204 | cannot start profiling |
++-------+--------------------------------------------------------------+
+| -205 | the message is too long to process for the swap manager |
++-------+--------------------------------------------------------------+
+| -206 | <target> is not found |
++-------+--------------------------------------------------------------+
+| -207 | Requested ui object is not found |
++-------+--------------------------------------------------------------+
+| -208 | SWAP can't take screenshot because App is in background |
++-------+--------------------------------------------------------------+
+| -800 | Not supported request by security reason |
++-------+--------------------------------------------------------------+
+| -900 | server socket creation failed (written in /tmp/da.port file) |
++-------+--------------------------------------------------------------+
+| -901 | server socket bind failed (written in /tmp/da.port file) |
++-------+--------------------------------------------------------------+
+| -902 | server socket listen failed (written in /tmp/da.port file) |
++-------+--------------------------------------------------------------+
+| -999 | unknown error |
++-------+--------------------------------------------------------------+
+
+3.2 Binary ack
+``````````````
+
++-------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================+========+==========+=======+=============================================================================================================+
+| binary path | string | variable | | passed from control message (key of binary ack element) |
++-------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------+
+| binary build type | int | 4 | | 0001: PIE built, -1 : No binary |
++-------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------+
+| local binary path | string | variable | | | < SWAP to Host UI > |
+| | | | | | binary path in local pc |
+| | | | | | the DA host read the real binary by this information, and get the symbol, and use it for the source link. |
++-------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------+
+| md5sum | string | variable | | | < SWAP to DA > |
+| | | | | | md5sum value of the binary in the target |
++-------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------+
+
+3.3 target information
+``````````````````````
+
++------------------------------+----------+----------+----------------------------+------------------+
+| name | type | length | value | description |
++==============================+==========+==========+============================+==================+
+| system memory size | long | 8 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| storage size | long | 8 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| bluetooth support | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| gps support | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| wifi support | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| camera count | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| network type | string | variable | | WCDMA/3G/LTE |
++------------------------------+----------+----------+----------------------------+------------------+
+| max brightness | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| number of CPU cores | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| number of devices | int | 4 | | |
++------------------------------+----------+----------+----------------------------+------------------+
+| devices for energy profiling | string[] | variable | \\0' separated string list | for energy usage |
++------------------------------+----------+----------+----------------------------+------------------+
+
+3.4 API map
+```````````
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| API ID | int | 4 | | API id |
++----------+--------+----------+-------+------------------------+
+| API name | string | variable | | corresponding API name |
++----------+--------+----------+-------+------------------------+
+
+3.5 process additional info
+```````````````````````````
+
++-------------------+--------+----------+-------+------------------------------------------------+
+| name | type | length | value | description |
++===================+========+==========+=======+================================================+
+| pid | int | 4 | | process id |
++-------------------+--------+----------+-------+------------------------------------------------+
+| command line name | string | variable | | command line name of corresponding pid process |
++-------------------+--------+----------+-------+------------------------------------------------+
+
+===============
+Data channel
+===============
+
+1. Basic message format
+-----------------------
+
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================+==========+==========+===============+===================================================================================+
+| message ID | int | 4 | 0x0001~0xFFFF | identify the message |
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+| sequence number | int | 4 | | increased by 1 indendant of message type, unsigned int, next to 0xFFFFFFFF is 0x0 |
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+| time | time | 8 | | 4byte int (second) + 4byte int (nanosecond), second: milli-micro-nano-pico |
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+| length | int | 4 | | length of the payload |
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+| payload | variable | variable | | not specify lengh of payload |
++-----------------+----------+----------+---------------+-----------------------------------------------------------------------------------+
+
+2. Data message list
+--------------------
+
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| message ID | value | message count | message frequency | descript |
++=============================+========+===========================+===================+==================================================================================================================+
+| MSG\_PROCESS\_INFO | 0x0001 | count of target processes | irregular | target process info |
+| | | | | |
+| | | | | In MSG\_PROCESS\_INFO(0x00001) there is a list of application mappings. |
+| | | | | this message contain maps list (with address and libraries path) only for "r\*x\*" region. |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_TERMINATE | 0x0002 | count of target processes | irregular | terminate |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_ERROR | 0x0003 | N | irregular | error message |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_SAMPLE | 0x0004 | N | 10ms | |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_SYSTEM | 0x0005 | N | 10~1000ms | DaData, start sending immediately after start message from host, first system message time is tracing start time |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_IMAGE | 0x0006 | N | irregular | image |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_RECORD | 0x0007 | N | irregular | replay event |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_FUNCTION\_ENTRY | 0x0008 | N | irregular | swap instrumentation, Instrumented functions by AppInst and LibInst |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_FUNCTION\_EXIT | 0x0009 | N | irregular | swap instrumentation, Instrumented functions by AppInst and LibInst |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_SYSCALL\_ENTRY | 0x000A | N | irregular | system call function entry |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_SYSCALL\_EXIT | 0x000B | N | irregular | system call function exit |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_FILE\_FUNCTION\_ENTRY | 0x000C | N | irregular | System call entry of the file to non-target process is used in the file that the target process uses |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_FILE\_FUNCTION\_EXIT | 0x000D | N | irregular | System call exit of the file to non-target process is used in the file that the target process uses |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROCESS\_STATUS\_INFO | 0x000E | N | irregular | process status information when running process attached (should be sent right after MSG\_PROCESS\_INFO) |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_CONTEXT\_SWITCH\_ENTRY | 0x0010 | N | irregular | swap instrumentation for kernel |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_CONTEXT\_SWITCH\_EXIT | 0x0011 | N | irregular | swap instrumentation for kernel |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROCESS\_MAP | 0x0012 | N | irregular | if new mapping occurs MSG\_PROCESS\_MAP message will be send. |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROCESS\_UNMAP | 0x0013 | N | irregular | if upmapping occurs MSG\_PROCESS\_UNMAP message will be send. |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROCESS\_COMM | 0x0014 | N | irregular | |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_WEB\_SAMPLING | 0x0015 | N | irregular | Web sampling messages |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| Not used | 0x0016 | | | |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| Not used | 0x0017 | | | |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| Not used | 0x0018 | | | |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_APP\_SETUP\_STAGE | 0x0019 | N | irregular | application launching stage |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_WEB\_APP\_SETUP\_STAGE | 0x001A | N | irregular | web application launching stage |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG FBI | 0x0020 | N | irregular | function body instrumentation probe |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_UI\_HIERARCHY | 0x0021 | N | irregular | UI Hierarchy info |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE | 0x01xx | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_MEMORY | 0X0101 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_UICONTROL | 0X0102 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_UIEVENT | 0X0103 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_FILE | 0X0104 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_LIFECYCLE | 0X0105 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_SCREENSHOT | 0X0106 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_SCENE | 0X0107 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_THREAD | 0X0108 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_CUSTOM | 0X0109 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_SYNC | 0X0110 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_NETWORK | 0x0111 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+| MSG\_PROBE\_GLES20 | 0x0112 | N | irregular | resource log |
++-----------------------------+--------+---------------------------+-------------------+------------------------------------------------------------------------------------------------------------------+
+
+2.2 MSG\_PROCESS\_INFO
+``````````````````````
+
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===========================+==========+==========+=======+=======================================================================================================+
+| pid | int | 4 | | in 64bit linux ( max: 4194304, 2^22) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| command\_name | string | variable | | command line string for the process |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| ppid | int | 4 | | |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| start time | time | 8 | | app launch time, when init is called. Also used for replay start time when replay later. |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| Lowest\_address | long | 8 | | matching executable path in MSG\_START-2.2 target information with /proc/pid/maps file, (lower bound) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| Highest\_address | long | 8 | | (upper bound) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| binary path | string | variable | | binary path in target, userd for key in the host |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| dependant libraries count | int | 4 | | |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| dependant library ojbect | object[] | variable | | |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+
+2.2.1 library object
+''''''''''''''''''''
+
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+========+==========+=======+=======================================================================================================================================================+
+| Lowest\_address | long | 8 | | lower boundary address of library |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Highest\_address | long | 8 | | upper boundary address of library |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Library Path | string | variable | | only regular filenames (not symbol links). e.g., /usr/lib/libfoo.so.0.0.0 instead of /usr/lib/libfoo.so |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+2.3 MSG\_SAMPLE
+```````````````
+
++------------+------+--------+-------+--------------------------------------+
+| name | type | length | value | description |
++============+======+========+=======+======================================+
+| PID | int | 4 | | |
++------------+------+--------+-------+--------------------------------------+
+| PC address | long | 8 | | |
++------------+------+--------+-------+--------------------------------------+
+| TID | int | 4 | | |
++------------+------+--------+-------+--------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++------------+------+--------+-------+--------------------------------------+
+
+2.4 MSG\_SYSTEM
+```````````````
+
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| name | type | length | value | description |
++========================================+==========+=========================+=======================+===================================================================================+
+| CPU frequency | float[] | count of CPU \* 4 | | [feature: SYSTEM\_CPU], [“f”] – for each CPU |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| CPU load | float[] | count of CPU \* 4 | | [feature: SYSTEM\_CPU], [“f”] – for each CPU |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| System memory used | long | 8 | | [feature: SYSTEM\_MEMORY] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Count of target processes | int | 4 | | [feature: SYSTEM\_PROCESS or SYSTEM\_THREAD\_LOAD], only for the target processes |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Process profiling information | object[] | | | [feature: SYSTEM\_PROCESS or SYSTEM\_THREAD\_LOAD], only for the target processes |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Count of the other processes | int | 4 | | [feature: SYSTEM\_PROCESSES\_LOAD], the other processes |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Process load | object[] | count of processes \* 8 | | [feature: SYSTEM\_PROCESSES\_LOAD], [“d”, “f”] – (PID, load) for each process |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| total used drive | int | 4 | | [feature: SYSTEM\_DISK] MBs used in the flash memory |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| DISK reads | int | 4 | byte size | [feature: SYSTEM\_DISK] /proc/diskstats - #reads |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| DISK sectors read | int | 4 | the number of sectors | [feature: SYSTEM\_DISK] /proc/diskstats - #sectors read |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| DISK writes | int | 4 | byte size | [feature: SYSTEM\_DISK] /proc/diskstats - #writes |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| DISK sectors written | int | 4 | the number of sectors | [feature: SYSTEM\_DISK] /proc/diskstats - #sectors written |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Network send size | int | 4 | | [feature: SYSTEM\_NETWORK] /proc/net/dev |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Network receive size | int | 4 | | [feature: SYSTEM\_NETWORK] /proc/net/dev |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| WiFi status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| BT status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| GPS status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Brightness status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Camera status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Sound status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Audio status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Vibration status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Voltage status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| RSSI status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Video status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| Call status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| DNet status | int | 4 | | [feature: SYSTEM\_DEVICE] |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| energy usage | int | 4 | | [feature: SYSTEM\_ENERGY] Energy usage (watt) |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| energy usage per devices | int[] | 4\*count | | [feature: SYSTEM\_ENERGY] Energy usage (watt) |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+| application's energy usage per devices | int[] | 4\*count | | [feature: SYSTEM\_ENERGY] Energy usage (watt) |
++----------------------------------------+----------+-------------------------+-----------------------+-----------------------------------------------------------------------------------+
+
+2.4.1 Process profiling
+'''''''''''''''''''''''
+
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+========+=======================+=======+===================================================================================================+
+| PID | int | 4 | | [feature: SYSTEM\_PROCESS or SYSTEM\_THREAD\_LOAD], only for the target processes |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Process load | float | 4 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Virtual memory | long | 8 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Resident memory | long | 8 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Shared memory | long | 8 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| PSS memory | long | 8 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Total alloc size | long | 8 | | [feature: SYSTEM\_PROCESS] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Count of threads | int | 4 | | [feature: SYSTEM\_THREAD\_LOAD] |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+| Thread load | object | count of threads \* 8 | | [feature: SYSTEM\_THREAD\_LOAD], [“d”, “f”] – (TID, load) for each thread in the target processes |
++------------------+--------+-----------------------+-------+---------------------------------------------------------------------------------------------------+
+
+2.5 MSG\_PROCESS\_STATUS\_INFO
+``````````````````````````````
+
++----------------+----------+----------+-------+-----------------------------------------------------------------+
+| name | type | length | value | description |
++================+==========+==========+=======+=================================================================+
+| pid | int | 4 | | in 64bit linux ( max: 4194304, 2^22) |
++----------------+----------+----------+-------+-----------------------------------------------------------------+
+| file count | int | 4 | | opened file count (should be zero when file option is disabled) |
++----------------+----------+----------+-------+-----------------------------------------------------------------+
+| open file list | object[] | variable | | nothing if the file count = 0 |
++----------------+----------+----------+-------+-----------------------------------------------------------------+
+
+2.6.1 open file list
+''''''''''''''''''''
+
++-----------+--------+----------+-------+-------------+
+| name | type | length | value | description |
++===========+========+==========+=======+=============+
+| FD | int | 4 | | |
++-----------+--------+----------+-------+-------------+
+| TID | int | 4 | | |
++-----------+--------+----------+-------+-------------+
+| File size | long | 8 | | |
++-----------+--------+----------+-------+-------------+
+| File path | string | variable | | |
++-----------+--------+----------+-------+-------------+
+
+2.7 MSG\_TERMINATE
+``````````````````
+
++------+------+--------+-------+-------------+
+| name | type | length | value | description |
++======+======+========+=======+=============+
+| TYPE | int | 4 | | |
++------+------+--------+-------+-------------+
+| PID | int | 4 | | |
++------+------+--------+-------+-------------+
+
+2.8 MSG\_ERROR
+``````````````
+
++---------------+--------+----------+-------+---------------------+
+| name | type | length | value | description |
++===============+========+==========+=======+=====================+
+| error message | string | variable | | need more to define |
++---------------+--------+----------+-------+---------------------+
+
+2.9 MSG\_RECORD
+```````````````
+
++---------------+----------+--------------------+-------+-------------+
+| name | type | length | value | description |
++===============+==========+====================+=======+=============+
+| object count | int | 4 | | |
++---------------+----------+--------------------+-------+-------------+
+| record\_event | object[] | count\*object size | | |
++---------------+----------+--------------------+-------+-------------+
+
+2.9.1 recorded\_event object
+''''''''''''''''''''''''''''
+
++-------------+------+--------+-------+-------------+
+| name | type | length | value | description |
++=============+======+========+=======+=============+
+| event ID | int | 4 | | |
++-------------+------+--------+-------+-------------+
+| event type | int | 4 | | |
++-------------+------+--------+-------+-------------+
+| event code | int | 4 | | |
++-------------+------+--------+-------+-------------+
+| event value | int | 4 | | |
++-------------+------+--------+-------+-------------+
+
+2.10 MSG\_FUNCTION\_ENTRY
+`````````````````````````
+
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+=================+==========+=========================+==========================================================================================================================+
+| PID | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| pc\_address | long | 8 | | start address of the function, used for ID |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| caller\_pc\_address | long | 8 | | address of caller of the function |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| count of Args | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| args | (char\|value)[] | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
+| | | | | 04 (FILE) : dentry + fd + file path |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.11 MSG\_FUNCTION\_EXIT
+````````````````````````
+
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+===============+==========+=========================+==========================================================================================================================+
+| PID | int | 4 | | |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int | 4 | | |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| pc\_address | long | 8 | | start address of the function, used for ID |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| caller\_pc\_address | long | 8 | | address of caller of the function |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Return | (char\|value) | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.12 MSG\_SYSCALL\_ENTRY
+````````````````````````
+
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+=================+==========+=========================+==========================================================================================================================+
+| PID | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Probe type | int | 4 | | file: 01, ipc:02, process: 04, signal: 08, network: 10, desc: 20 |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| pc\_address | long | 8 | | start address of the function, used for ID |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| caller\_pc\_address | long | 8 | | address of caller of the function |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| count of Args | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| args | (char\|value)[] | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
+| | | | | 04 (FILE) : dentry + fd + file path |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.13 MSG\_SYSCALL\_EXIT
+```````````````````````
+
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+===============+==========+=========================+==========================================================================================================================+
+| PID | int | 4 | | |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int | 4 | | |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Probe type | int | 4 | | file: 01, ipc:02, process: 04, signal: 08, network: 10, desc: 20 |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| pc\_address | long | 8 | | start address of the function, used for ID |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| caller\_pc\_address | long | 8 | | address of caller of the function |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Return | (char\|value) | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
++---------------------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.14 MSG\_FILE\_FUNCTION\_ENTRY
+```````````````````````````````
+
++----------------+----------+----------+-------+------------------------------------------------------+
+| name | type | length | value | description |
++================+==========+==========+=======+======================================================+
+| PID | int | 4 | | |
++----------------+----------+----------+-------+------------------------------------------------------+
+| TID | int | 4 | | |
++----------------+----------+----------+-------+------------------------------------------------------+
+| FD | int | 4 | | |
++----------------+----------+----------+-------+------------------------------------------------------+
+| event type | int | 4 | | file API type |
++----------------+----------+----------+-------+------------------------------------------------------+
+| real file path | string | variable | | |
++----------------+----------+----------+-------+------------------------------------------------------+
+| args type | int | 4 | | 0 : (general info), 1 : (open info), 2 : (lock info) |
++----------------+----------+----------+-------+------------------------------------------------------+
+| args payload | variable | variable | | |
++----------------+----------+----------+-------+------------------------------------------------------+
+
+2.14.1 args payload
+'''''''''''''''''''
+
+0 (general info)
+................
+
+empty
+
+1 (open info)
+.............
+
++----------------+--------+----------+-------+----------------------------------+
+| name | type | length | value | description |
++================+========+==========+=======+==================================+
+| open file path | string | variable | | file path to passed by arguments |
++----------------+--------+----------+-------+----------------------------------+
+
+2 (lock info)
+.............
+
++--------+------+--------+-------+------------------------------------------------------------+
+| name | type | length | value | description |
++========+======+========+=======+============================================================+
+| type | int | 4 | | Type of lock: F\_RDLCK, F\_WRLCK, F\_UNLCK |
++--------+------+--------+-------+------------------------------------------------------------+
+| whence | int | 4 | | How to interpret l\_start: SEEK\_SET, SEEK\_CUR, SEEK\_END |
++--------+------+--------+-------+------------------------------------------------------------+
+| start | long | 8 | | Starting offset for lock |
++--------+------+--------+-------+------------------------------------------------------------+
+| length | long | 8 | | Number of bytes to lock |
++--------+------+--------+-------+------------------------------------------------------------+
+
+2.15 MSG\_FILE\_FUNCTION\_EXIT
+``````````````````````````````
+
++--------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++========+===============+==========+=========================+==========================================================================================================================+
+| PID | int | 4 | | |
++--------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int | 4 | | |
++--------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Return | (char\|value) | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
++--------+---------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.16 MSG\_CONTEXT\_SWITCH\_ENTRY
+````````````````````````````````
+
++-------------+------+--------+-------+--------------------------------------------------------+
+| name | type | length | value | description |
++=============+======+========+=======+========================================================+
+| pc\_address | long | 8 | | current pc address when the context switch is occurred |
++-------------+------+--------+-------+--------------------------------------------------------+
+| PID | int | 4 | | |
++-------------+------+--------+-------+--------------------------------------------------------+
+| TID | int | 4 | | |
++-------------+------+--------+-------+--------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++-------------+------+--------+-------+--------------------------------------------------------+
+
+2.17 MSG\_CONTEXT\_SWITCH\_EXIT
+```````````````````````````````
+
++-------------+------+--------+-------+--------------------------------------------------------+
+| name | type | length | value | description |
++=============+======+========+=======+========================================================+
+| pc\_address | long | 8 | | current pc address when the context switch is occurred |
++-------------+------+--------+-------+--------------------------------------------------------+
+| PID | int | 4 | | |
++-------------+------+--------+-------+--------------------------------------------------------+
+| TID | int | 4 | | |
++-------------+------+--------+-------+--------------------------------------------------------+
+| CPU num | int | 4 | | which CPU the function was executed. |
++-------------+------+--------+-------+--------------------------------------------------------+
+
+2.18 MSG\_PROCESS\_MAP
+``````````````````````
+
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+========+==========+=======+=======================================================================================================+
+| pid | int | 4 | | |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| Lowest\_address | long | 8 | | matching executable path in MSG\_START-2.2 target information with /proc/pid/maps file, (lower bound) |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| Highest\_address | long | 8 | | (upper bound) |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| library path | string | variable | | |
++------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------+
+
+2.19 MSG\_PROCESS\_UNMAP
+````````````````````````
+
++------------------+------+--------+-------+-------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+======+========+=======+=======================================================================================================+
+| pid | int | 4 | | |
++------------------+------+--------+-------+-------------------------------------------------------------------------------------------------------+
+| Lowest\_address | long | 8 | | matching executable path in MSG\_START-2.2 target information with /proc/pid/maps file, (lower bound) |
++------------------+------+--------+-------+-------------------------------------------------------------------------------------------------------+
+| Highest\_address | long | 8 | | (upper bound) |
++------------------+------+--------+-------+-------------------------------------------------------------------------------------------------------+
+
+2.20 MSG\_PROBE (see 'probe log' worksheet for each probe message)
+``````````````````````````````````````````````````````````````````
+
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================+=================+==========+=========================+==========================================================================================================================+
+| API ID | int(4) | | | need to define each probed OSP/Glibc APIs |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| PID | int(4) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| TID | int(4) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| count of Args | int | 4 | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| args | (char\|value)[] | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), s(string end with '\\0') |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Return | (char\|value) | variable | array of (type + value) | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string end with '\\0') |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| errno | long(8) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| internalCall | int(4) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| Caller\_PC\_address | long(8) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| reserved | int(4) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| reserved | int(4) | | | |
++---------------------+-----------------+----------+-------------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.21 MSG\_WEB\_SAMPLING
+```````````````````````
+
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| name | type | length | value | description |
++======================+=========================+===========================+=======+============================+
+| Subtype | unsigned 8-bit integer | 1 octet | 0 | Sub types (for future use) |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| PID | unsigned 32-bit integer | 4 octets | | |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| TID | unsigned 32-bit integer | 4 octets | | |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| function line number | unsigned 32-bit integer | 4 octets | | |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| function name | null-terminated string | variable, minimum 1 octet | | |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+| function url | null-terminated string | variable, minimum 1 octet | | |
++----------------------+-------------------------+---------------------------+-------+----------------------------+
+
+2.22 MSG\_APP\_SETUP\_STAGE
+```````````````````````````
+
++-------------+------+--------+-------+--------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=============+======+========+=======+======================================================================================+
+| PID | int | 4 | | |
++-------------+------+--------+-------+--------------------------------------------------------------------------------------+
+| stage\_ID | int | 4 | | | 0x00 - library mapping : stage when linker maps application and dependencies |
+| | | | | | 0x01 - main : executing application main from the beginning to app\_efl\_main call |
+| | | | | | 0x02 - create : executing app\_create\_cb from app\_event\_callback\_s |
+| | | | | | 0x03 - service : executing app\_service\_cb from app\_event\_callback\_s |
+| | | | | |
++-------------+------+--------+-------+--------------------------------------------------------------------------------------+
+| begin\_time | time | 8 | | |
++-------------+------+--------+-------+--------------------------------------------------------------------------------------+
+| end\_time | time | 8 | | |
++-------------+------+--------+-------+--------------------------------------------------------------------------------------+
+
+2.23 MSG\_WEB\_APP\_SETUP\_STAGE
+````````````````````````````````
+
++---------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=========+========+==========+=======+==================================================================================================+
+| PID | int | 4 | | |
++---------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| wsp\_id | int | 4 | | | 0x0001 - WSP\_RES\_LOAD\_BEGIN 0x0002 - WSP\_RES\_LOAD\_END |
+| | | | | | 0x0003 - WSP\_RES\_PROC\_BEGIN |
+| | | | | | 0x0004 - WSP\_RES\_PROC\_END |
+| | | | | | 0x0005 - WSP\_DRAW\_BEGIN |
+| | | | | | 0x0006 - WSP\_DRAW\_END |
++---------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| res\_id | int | 4 | | wsp\_id : WSP\_RES\_LOAD\_BEGIN, WSP\_RES\_LOAD\_END, WSP\_RES\_PROC\_BEGIN, WSP\_RES\_PROC\_END |
++---------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| path | string | variable | | wsp\_id : WSP\_RES\_LOAD\_BEGIN |
++---------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+
+2.24 MSG\_FBI
+`````````````
+
++-------------+--------------+----------+-----------+--------------------------------------------------+
+| name | type | length | value | description |
++=============+==============+==========+===========+==================================================+
+| variable id | unsigned int | 4 | | value, that has been received on control channel |
++-------------+--------------+----------+-----------+--------------------------------------------------+
+| size | unsigned int | 4 | data size | |
++-------------+--------------+----------+-----------+--------------------------------------------------+
+| data | char[] | variable | data | target data |
++-------------+--------------+----------+-----------+--------------------------------------------------+
+
+2.25 MSG\_UI\_HIERARCHY (Response of MSG\_GET\_UI\_HIERARCHY)
+`````````````````````````````````````````````````````````````
+
++-----------+--------+----------+-------+------------------------------------------------------------+
+| name | type | length | value | description |
++===========+========+==========+=======+============================================================+
+| file path | string | variable | | file include binary stream of (2.28.1 ui object info list) |
++-----------+--------+----------+-------+------------------------------------------------------------+
+
+2.25.1 ui object info list
+''''''''''''''''''''''''''
+
++--------------------+--------------+----------+-------+-----------------------------------------------------+
+| name | type | length | value | description |
++====================+==============+==========+=======+=====================================================+
+| request option | byte | 1 | | payload of MSG\_GET\_UI\_HIERARCHY (one of 0, 1, 2) |
++--------------------+--------------+----------+-------+-----------------------------------------------------+
+| Count of ui object | int | 4 | | |
++--------------------+--------------+----------+-------+-----------------------------------------------------+
+| ui object array | ui\_object[] | variable | | Refer to 2.28.2 |
++--------------------+--------------+----------+-------+-----------------------------------------------------+
+
+2.25.2 info of a ui object
+''''''''''''''''''''''''''
+
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=========================+============+==========+=======+==========================================================================================================================+
+| object\_address | long | 8 | | From 1 |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| object\_category | byte | 1 | | 0x01 - Evas, 0x02 - Elementary, 0x03 - Edje |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| object\_type\_code | int | 4 | | Refer to 2.28.3 |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| object\_type\_name | string | variable | | ex) "elm\_button" |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| rendering time | time | 8 | | 4byte int (second) + 4byte int (nanosecond), second: milli-micro-nano-pico, If Rendering option is "0", this value is 0. |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| parent\_object\_address | long | 8 | | need to make the UI Hierarchy, if it's a Root object, this value is "0". |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+| properties | properties | variable | | 2.28.4 properties of a UI Object |
++-------------------------+------------+----------+-------+--------------------------------------------------------------------------------------------------------------------------+
+
+2.25.3 code of ui object
+''''''''''''''''''''''''
+
++--------+-------------------------------+
+| value | description |
++========+===============================+
+| **Evas** |
++--------+-------------------------------+
+| 0X0100 | Unsupported Evas object |
++--------+-------------------------------+
+| 0X0101 | Image |
++--------+-------------------------------+
+| 0X0102 | line |
++--------+-------------------------------+
+| 0X0103 | polygon |
++--------+-------------------------------+
+| 0X0104 | rectangle |
++--------+-------------------------------+
+| 0X0105 | text |
++--------+-------------------------------+
+| 0X0106 | textblock |
++--------+-------------------------------+
+| 0x0107 | vector |
++--------+-------------------------------+
+| 0x0108 | table |
++--------+-------------------------------+
+| 0x0109 | box |
++--------+-------------------------------+
+| 0x010A | grid |
++--------+-------------------------------+
+| 0x010B | textgrid |
++--------+-------------------------------+
+| 0x010C | smart |
++--------+-------------------------------+
+| **Elementary** |
++--------+-------------------------------+
+| 0X0200 | Unsupported Elementary object |
++--------+-------------------------------+
+| 0X0201 | background |
++--------+-------------------------------+
+| 0X0202 | button |
++--------+-------------------------------+
+| 0X0203 | check |
++--------+-------------------------------+
+| 0X0204 | colorselector |
++--------+-------------------------------+
+| 0X0205 | ctxpopup |
++--------+-------------------------------+
+| 0X0206 | datetime |
++--------+-------------------------------+
+| 0X0207 | entry |
++--------+-------------------------------+
+| 0X0208 | flip |
++--------+-------------------------------+
+| 0X0209 | gengrid |
++--------+-------------------------------+
+| 0x020A | genlist |
++--------+-------------------------------+
+| 0x020B | glview |
++--------+-------------------------------+
+| 0x020C | icon |
++--------+-------------------------------+
+| 0x020D | image |
++--------+-------------------------------+
+| 0x020E | index |
++--------+-------------------------------+
+| 0x020F | label |
++--------+-------------------------------+
+| 0x0210 | list |
++--------+-------------------------------+
+| 0x0211 | map |
++--------+-------------------------------+
+| 0x0212 | notify |
++--------+-------------------------------+
+| 0x0213 | panel |
++--------+-------------------------------+
+| 0x0214 | photo |
++--------+-------------------------------+
+| 0x0215 | photocam |
++--------+-------------------------------+
+| 0x0216 | plug |
++--------+-------------------------------+
+| 0x0217 | popup |
++--------+-------------------------------+
+| 0x0218 | progressbar |
++--------+-------------------------------+
+| 0x0219 | radio |
++--------+-------------------------------+
+| 0x021A | segmentcontrol |
++--------+-------------------------------+
+| 0x021B | slider |
++--------+-------------------------------+
+| 0x021C | spinner |
++--------+-------------------------------+
+| 0x021D | toolbar |
++--------+-------------------------------+
+| 0x021E | tooltip |
++--------+-------------------------------+
+| 0x021F | win |
++--------+-------------------------------+
+| **Edje** |
++--------+-------------------------------+
+| 0x0300 | Unsupported Edje object |
++--------+-------------------------------+
+| 0x0301 | edje |
++--------+-------------------------------+
+| 0x0302 | box |
++--------+-------------------------------+
+| 0x0303 | drag |
++--------+-------------------------------+
+| 0x0304 | swallow |
++--------+-------------------------------+
+| 0x0305 | table |
++--------+-------------------------------+
+| 0x0306 | text |
++--------+-------------------------------+
+| 0x0307 | textblock |
++--------+-------------------------------+
+| 0x0308 | rectangle |
++--------+-------------------------------+
+| 0x0309 | vectors |
++--------+-------------------------------+
+| 0x0309 | background |
++--------+-------------------------------+
+
+2.25.4 properties of a UI Object
+''''''''''''''''''''''''''''''''
+
++--------------------------------+------------+----------+-------+-----------------------------------------------------------------------+
+| name | type | length | value | description |
++================================+============+==========+=======+=======================================================================+
+| common\_properties | properties | variable | | Refer to the 10.1 of Sheet "HV Properties". |
++--------------------------------+------------+----------+-------+-----------------------------------------------------------------------+
+| category\_specific\_properties | properties | variable | | Additional properties according to object category (Elementary, Edje) |
+| | | | | Refer to the 10.2, 10.3 of Sheet "HV Properties". |
++--------------------------------+------------+----------+-------+-----------------------------------------------------------------------+
+| type\_specific\_properties | properties | variable | | Additional properties according to object specific type |
+| | | | | Refer to the Sheet "HV Properties". |
++--------------------------------+------------+----------+-------+-----------------------------------------------------------------------+
+
+3. Probe log
+------------
+
+DA probe log format
+```````````````````
+
+MSG\_PROBE 0x3xxx
+'''''''''''''''''
+
+Common columns
+``````````````
+
++------------+--------+--------+--------+----------------------------------------------------+---------+---------+--------------+---------------------+----------+----------+
+| index | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
++------------+--------+--------+--------+----------------------------------------------------+---------+---------+--------------+---------------------+----------+----------+
+| type | int(4) | int(4) | int(4) | variable | long(8) | long(8) | int(4) | long(8) | int(4) | int(4) |
++------------+--------+--------+--------+----------------------------------------------------+---------+---------+--------------+---------------------+----------+----------+
+| ColumnName | API ID | PID | TID | args count and args object same in MSG\_SWAP\_INST | Return | errno | InternalCall | Caller\_PC\_address | reserved | reserved |
++------------+--------+--------+--------+----------------------------------------------------+---------+---------+--------------+---------------------+----------+----------+
+
++--------------------+
+| InternalCall |
++====================+
+| 1=internal, 2=user |
++--------------------+
+
+Exception of internal call filtering
+````````````````````````````````````
+
++----------+------------------------------------------------------------------------------------------------------------+
+| FILE | open, openat, creat, dup, dup2, close, fopen, freopen, fdopen, tmpfile, fclose |
++----------+------------------------------------------------------------------------------------------------------------+
+| THREAD | \_ThreadImpl::ThreadProc |
++----------+------------------------------------------------------------------------------------------------------------+
+| UI EVENT | Container::AddControl, Container::RemoveControl, Container::RemoveAllControls |
++----------+------------------------------------------------------------------------------------------------------------+
+| EFL | \_dalc\_app\_create, \_dalc\_app\_terminate, \_dalc\_app\_pause, \_dalc\_app\_resume, \_dalc\_app\_service |
++----------+------------------------------------------------------------------------------------------------------------+
+
+MSG\_PROBE\_MEMORY 0X3001
+`````````````````````````
+
++------------+---------+-------------+---------------+---------+
+| index | 1~11 | 12 | 13 | 14 |
++------------+---------+-------------+---------------+---------+
+| type | Common | long(8) | int(4) | long(8) |
++------------+ Columns +-------------+---------------+---------+
+| ColumnName | | Size | MemoryAPIType | Address |
++------------+---------+-------------+---------------+---------+
+
+
++-------------------------+
+| MemoryAPIType |
++=========================+
+| 0 : MEMORY\_API\_ALLOC |
++-------------------------+
+| 1 : MEMORY\_API\_FREE |
++-------------------------+
+| 2 : MEMORY\_API\_MANAGE |
++-------------------------+
+
+MSG\_PROBE\_UICONTROL 0X3002
+````````````````````````````
+
++------------+---------+---------------------+-------------------+----------------+--------------+------------+---------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 | 17 |
++------------+---------+---------------------+-------------------+----------------+--------------+------------+---------+
+| type | Common | string | string | long(8) | string | string | long(8) |
+| | Columns | | | | | | |
++------------+ +---------------------+-------------------+----------------+--------------+------------+---------+
+| ColumnName | | Parent Control name | Parent class name | Parent pointer | Control name | Class name | Pointer |
++------------+---------+---------------------+-------------------+----------------+--------------+------------+---------+
+
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| API Name | Parent Control name | Parent class name | Parent pointer | Control Type | Class name | Pointer |
++====================================================================+=====================+============================+=========================+==============+====================+=================+
+| result UiApp::AddFrame(const Tizen::Ui::Controls::Frame& frame) | \- | \- | \- | frame name | frame class name | frame pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result UiApp::RemoveFrame(const Tizen::Ui::Controls::Frame &frame) | \- | \- | \- | frame name | frame class name | frame pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| void Control::SetName(const Tizen::Base::String &name) | name | current control class name | current control pointer | \- | \- | \- |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result Container::AddControl(const Control &control) | container name | container class name | container pointer | control name | control class name | control pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result Container::AddControl(Control\* control) | container name | container class name | container pointer | control name | control class name | control pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result Container::RemoveControl(const Control &control) | container name | container class name | container pointer | control name | control class name | control pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result Container::RemoveControl(Control\* control) | container name | container class name | container pointer | control name | control class name | control pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| result Container::RemoveControl(int index) | container name | container class name | container pointer | control name | control class name | control pointer |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+| void Container::RemoveAllControls(void) | container name | container class name | container pointer | \- | \- | \- |
++--------------------------------------------------------------------+---------------------+----------------------------+-------------------------+--------------+--------------------+-----------------+
+
+MSG\_PROBE\_UIEVENT 0X3003
+``````````````````````````
+
++------------+---------+------------+-------------+--------+--------+--------+--------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 | 17 |
++------------+---------+------------+-------------+--------+--------+--------+--------+
+| type | Common | int(4) | int(4) | int(4) | int(4) | string | int(4) |
+| | Columns | | | | | | |
+| | | | | | | | |
++------------+ +------------+-------------+--------+--------+--------+--------+
+| ColumnName | | Event type | Detail type | x | y | info1 | info2 |
++------------+---------+------------+-------------+--------+--------+--------+--------+
+
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| API Name | Event type | Detail type | x | y | info1 | info2 |
++========================================================+===================================+=======================+=====================+=====================+====================================+============================+
+| Eina\_Bool ecore\_event\_evas\_key\_down | \_EVENT\_KEY | \_KEY\_PRESSED | | | keyname(string) | |
+| (void \*data, int type, void \*event) | | | | | | |
+| | | | | | | |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| Eina\_Bool ecore\_event\_evas\_key\_up | \_EVENT\_KEY | \_KEY\_RELEASED | | | keyname(string) | |
+| (void \*data,int type, void \*event) | | | | | | |
+| | | | | | | |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| Eina\_Bool ecore\_event\_evas\_mouse\_button\_down | \_EVENT\_TOUCH | \_TOUCH\_PRESSED | x | y | | touch count |
+| (void \*data, int type, void \*event) | | | | | | |
+| | | | | | | |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| Eina\_Bool ecore\_event\_evas\_mouse\_button\_up | \_EVENT\_TOUCH | \_TOUCH\_RELEASED | x | y | | touch count |
+| (void \*data, int type, void \*event) | | | | | | |
+| | | | | | | |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| Eina\_Bool ecore\_event\_evas\_mouse\_move | \_EVENT\_TOUCH | \_TOUCH\_MOVED | x | y | | touch count |
+| (void \*data, int type, void \*event) | | | | | | |
+| | | | | | | |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| Evas\_Event\_Flags eventcallback | \_EVENT\_GESTURE\_N\_TAPS | \_ELM\_GESTURE\_STATE | Center\_x | Center\_y | | number of fingers tapped |
+| (void \*data, void \*event\_info) | | | | | | |
+| | | | | | | |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_N\_DOUBLE\_TAPS | \_ELM\_GESTURE\_STATE | Center\_x | Center\_y | | number of fingers tapped |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_N\_TRIPLE\_TAPS | \_ELM\_GESTURE\_STATE | Center\_x | Center\_y | | number of fingers tapped |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_N\_LONG\_TAPS | \_ELM\_GESTURE\_STATE | Center\_x | Center\_y | | number of fingers tapped |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_MOMENTUM | \_ELM\_GESTURE\_STATE | starting point on X | starting point on Y | x2,y2,mx,my(string) | number of fingers tapped |
+| | | | | | x2,y2 : ending point on X, Y | |
+| | | | | | mx,my : Momentum on X, Y | |
+| | | | | | | |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_N\_FLICKS | \_ELM\_GESTURE\_STATE | starting point on X | starting point on Y | x2,y2,mx,my(string) | Angle (direction) of lines |
+| | | | | | x2,y2 : ending point on X, Y | |
+| | | | | | mx,my : Momentum on X, Y | |
+| | | | | | | |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_N\_LINES | \_ELM\_GESTURE\_STATE | starting point on X | starting point on X | x2,y2,mx,my(string) | Angle (direction) of lines |
+| | | | | | x2,y2 : endingpoint on X, Y | |
+| | | | | | mx,my : Momentum on X, Y | |
+| | | | | | | |
+| | | | | | | |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_ZOOM | \_ELM\_GESTURE\_STATE | zoom center point X | zoom center point Y | zoom,momentum(string) | radius |
+| +-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+| | \_EVENT\_GESTURE\_ROTATE | \_ELM\_GESTURE\_STATE | zoom center point X | zoom center point Y | base\_angle,angle,momentum(string) | radius |
++--------------------------------------------------------+-----------------------------------+-----------------------+---------------------+---------------------+------------------------------------+----------------------------+
+
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| value | Event Type | Key Status | Touch Status | Orientation Status | Flick\_Direction |
++=======+===================================+=================+========================+=========================================+=========================+
+| -1 | | | | | FLICK\_DIRECTION\_NONE |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 0 | | \_KEY\_PRESSED | TOUCH\_PRESSED | ORIENTATION\_STATUS\_NONE | FLICK\_DIRECTION\_RIGHT |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 1 | \_EVENT\_KEY | \_KEY\_RELEASED | TOUCH\_LONG\_PRESSED | ORIENTATION\_STATUS\_PORTRAIT | FLICK\_DIRECTION\_UP |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 2 | \_EVENT\_TOUCH | | TOUCH\_RELEASED | ORIENTATION\_STATUS\_LANDSCAPE | FLICK\_DIRECTION\_LEFT |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 3 | \_EVENT\_ORIENTATION | | TOUCH\_MOVED | ORIENTATION\_STATUS\_PORTRAIT\_REVERSE | FLICK\_DIRECTION\_DOWN |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 4 | \_EVENT\_LISTENER | | TOUCH\_DOUBLE\_PRESSED | ORIENTATION\_STATUS\_LANDSCAPE\_REVERSE | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 5 | \_EVENT\_GESTURE\_N\_TAPS | | TOUCH\_FOCUS\_IN | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 6 | \_EVENT\_GESTURE\_N\_DOUBLE\_TAPS | | TOUCH\_FOCUS\_OUT | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 7 | \_EVENT\_GESTURE\_N\_TRIPLE\_TAPS | | TOUCH\_CANCELED | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 8 | \_EVENT\_GESTURE\_N\_LONG\_TAPS | | | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 9 | \_EVENT\_GESTURE\_N\_FLICKS | | | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 10 | \_EVENT\_GESTURE\_N\_LINES | | | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 11 | \_EVENT\_GESTURE\_ZOOM | | | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+| 12 | \_EVENT\_GESTURE\_ROTATE | | | | |
++-------+-----------------------------------+-----------------+------------------------+-----------------------------------------+-------------------------+
+
+MSG\_PROBE\_FILE 0X3004
+```````````````````````
++------------+---------+---------+---------+-----------+----------+----------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 |
++------------+---------+---------+---------+-----------+----------+----------+
+| type | Common | long(8) | long(8) | int(4) | long(8) | string |
+| | Columns | | | | | |
++------------+ +---------+---------+-----------+----------+----------+
+| ColumnName | | Size | FDValue | FDApiType | FileSize | FilePath |
++------------+---------+---------+---------+-----------+----------+----------+
+
+
++---------------------------------------------------------------------+-----------------------------+
+| FDApiType | FilePath |
++=====================================================================+=============================+
+| 0 : open | FilePath |
++---------------------------------------------------------------------+-----------------------------+
+| 1 : close | |
++---------------------------------------------------------------------+-----------------------------+
+| 2 : read\_start | |
++---------------------------------------------------------------------+-----------------------------+
+| 3 : read\_end | |
++---------------------------------------------------------------------+-----------------------------+
+| 4 : write\_start | |
++---------------------------------------------------------------------+-----------------------------+
+| 5 : write\_end | |
++---------------------------------------------------------------------+-----------------------------+
+| 6 : directory | FilePath |
++---------------------------------------------------------------------+-----------------------------+
+| 7 : permission | |
++---------------------------------------------------------------------+-----------------------------+
+| 8 : other | |
++---------------------------------------------------------------------+-----------------------------+
+| 14: file\_lock\_start (fcntl(int fd, int cmd, struct flock\* lock)) | contents of (flock \* lock) |
++---------------------------------------------------------------------+-----------------------------+
+| 15: file\_lock\_end | |
++---------------------------------------------------------------------+-----------------------------+
+| 16: file\_unlock | |
++---------------------------------------------------------------------+-----------------------------+
+
+\* The File which has been used by the target process, the other
+processes’ access to the file need to be traced.
+
+MSG\_PROBE\_LIFECYCLE 0X3005
+````````````````````````````
+
++------------+---------+
+| index | 1~11 |
++------------+---------+
+| type | Common |
+| | Columns |
++------------+ |
+| ColumnName | |
++------------+---------+
+
+MSG\_PROBE\_SCREENSHOT 0X3006
+`````````````````````````````
+
++------------+---------+---------------+-------------+
+| index | 1~11 | 12 | 13 |
++------------+---------+---------------+-------------+
+| type | Common | string | int(4) |
+| | Columns | | |
++------------+ +---------------+-------------+
+| ColumnName | | ImageFilePath | Orientation |
++------------+---------+---------------+-------------+
+
+
++----------------------------+--------------+
+| ImageFilePath | Orientation |
++============================+==============+
+| ex) /tmp/da/2710\_3241.png | 0/90/180/270 |
++----------------------------+--------------+
+
+MSG\_PROBE\_SCENE 0X3007
+````````````````````````
+
++------------+---------+------------+-----------+--------------+------------+---------------+-----------------+----------------------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
++------------+---------+------------+-----------+--------------+------------+---------------+-----------------+----------------------+
+| type | Common | string | string | long(8) | string | long(8) | long(8) | long(8) |
+| | Columns | | | | | | | |
++------------+ +------------+-----------+--------------+------------+---------------+-----------------+----------------------+
+| ColumnName | | Scene name | Form name | Form pointer | Panel name | Panel pointer | Transition time | user transition time |
++------------+---------+------------+-----------+--------------+------------+---------------+-----------------+----------------------+
+
+MSG\_PROBE\_THREAD 0X3008
+`````````````````````````
+
++------------+---------+-----------+-------------+------------+---------+------------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 |
++------------+---------+-----------+-------------+------------+---------+------------+
+| type | Common | long(8) | long(8) | int(4) | int(4) | string |
+| | Columns | | | | | |
++------------+ +-----------+-------------+------------+---------+------------+
+| ColumnName | | PThreadID | OspThreadID | ThreadType | ApiType | ThreadName |
++------------+---------+-----------+-------------+------------+---------+------------+
+
++------------------------------------+
+| ThreadType |
++====================================+
+| 0 : THREAD\_PTHREAD |
++------------------------------------+
+| 1 : THREAD\_OSPTHREAD\_WORKER |
++------------------------------------+
+| 2 : THREAD\_OSPTHREAD\_EVENTDRIVEN |
++------------------------------------+
+
++----------------------------------+
+| ApiType |
++==================================+
+| 0 : THREAD\_API\_NEW |
++----------------------------------+
+| 1 : THREAD\_API\_START |
++----------------------------------+
+| 2 : THREAD\_API\_STOP |
++----------------------------------+
+| 3 : THREAD\_API\_EXIT |
++----------------------------------+
+| 4 : THREAD\_API\_WAIT\_START |
++----------------------------------+
+| 5 : THREAD\_API\_WAIT\_END |
++----------------------------------+
+| 6 : THREAD\_API\_INTERNAL\_START |
++----------------------------------+
+| 7 : THREAD\_API\_INTERNAL\_STOP |
++----------------------------------+
+| 8 : THREAD\_API\_OTHER |
++----------------------------------+
+
+MSG\_PROBE\_CUSTOM 0X3009
+`````````````````````````
+
++------------+---------+---------+--------+--------+--------+-----------+
+| index | 1~11 |, 12 | 13 | 14 | 15 | 16 |
++------------+---------+---------+--------+--------+--------+-----------+
+| type | Common | int(4) | int(4) | string | int(4) | double(8) |
+| | Columns | | | | | |
++------------+ +---------+--------+--------+--------+-----------+
+| ColumnName | | handle | type | name | color | value |
++------------+---------+---------+--------+--------+--------+-----------+
+
++-------------------------+
+| type |
++=========================+
+| 0 : USERFUNCTION\_ENTER |
++-------------------------+
+| 1 : USERFUNCTION\_EXIT |
++-------------------------+
+
+MSG\_PROBE\_SYNC 0X3010
+```````````````````````
+
++------------+---------+---------+----------+---------+
+| index | 1~11 | 12 | 13 | 14 |
++------------+---------+---------+----------+---------+
+| type | Common | long(8) | int(4) | int(4) |
+| | Columns | | | |
++------------+ +---------+----------+---------+
+| ColumnName | | SyncVal | SyncType | ApiType |
++------------+---------+---------+----------+---------+
+
++-----------------------------------+
+| SyncType |
++===================================+
+| 0 : SYNC\_OSP\_MUTEX |
++-----------------------------------+
+| 1 : SYNC\_OSP\_MONITOR |
++-----------------------------------+
+| 2 : SYNC\_OSP\_SEMAPHORE |
++-----------------------------------+
+| 3 : SYNC\_PTHREAD\_MUTEX |
++-----------------------------------+
+| 4 : SYNC\_PTHREAD\_COND\_VARIABLE |
++-----------------------------------+
+| 5 : SYNC\_PTHREAD\_RWLOCK |
++-----------------------------------+
+| 6 : SYNC\_PTHREAD\_SPINLOCK |
++-----------------------------------+
+| 7 : SYNC\_PTHREAD\_BARRIER |
++-----------------------------------+
+
++-------------------------------------+
+| ApiType |
++=====================================+
+| 0 : SYNC\_API\_NEW |
++-------------------------------------+
+| 1 : SYNC\_API\_ACQUIRE\_WAIT\_START |
++-------------------------------------+
+| 2 : SYNC\_API\_ACQUIRE\_WAIT\_END |
++-------------------------------------+
+| 3 : SYNC\_API\_RELEASE |
++-------------------------------------+
+| 4 : SYNC\_API\_TRY\_ACQUIRE |
++-------------------------------------+
+| 5 : SYNC\_API\_COND\_WAIT\_START |
++-------------------------------------+
+| 6 : SYNC\_API\_COND\_WAIT\_END |
++-------------------------------------+
+| 7 : SYNC\_API\_NOTIFY |
++-------------------------------------+
+| 8 : SYNC\_API\_NOTIFY\_ALL |
++-------------------------------------+
+| 9 : SYNC\_API\_OTHER |
++-------------------------------------+
+
+MSG\_PROBE\_NETWORK 0X3011
+``````````````````````````
+
++------------+---------+----------------+---------+-----------+------------------------+-------------------------+--------------+---------+
+| index | 1~11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
++------------+---------+----------------+---------+-----------+------------------------+-------------------------+--------------+---------+
+| type | Common | long(8) | long(8) | int(4) | int(4) | int(4) | long(8) | string |
+| | Columns | | | | | | | |
++------------+ +----------------+---------+-----------+------------------------+-------------------------+--------------+---------+
+| ColumnName | | Object Address | FDValue | FDApiType | Destination IP Address | Destination Port number | message size | message |
++------------+---------+----------------+---------+-----------+------------------------+-------------------------+--------------+---------+
+
++------------------------------------+
+| FDApiType |
++====================================+
+| 0 : SOCKET\_API\_FD\_OPEN |
++------------------------------------+
+| 1 : SOCKET\_API\_FD\_CLOSE |
++------------------------------------+
+| 2 : SOCKET\_API\_RECV\_START |
++------------------------------------+
+| 3 : SOCKET\_API\_RECV\_END |
++------------------------------------+
+| 4 : SOCKET\_API\_SEND\_START |
++------------------------------------+
+| 5 : SOCKET\_API\_SEND\_END |
++------------------------------------+
+| 6 : SOCKET\_API\_BIND |
++------------------------------------+
+| 7 : SOCKET\_API\_LISTEN |
++------------------------------------+
+| 8 : SOCKET\_API\_CONNECT |
++------------------------------------+
+| 9 : SOCKET\_API\_ACCEPT\_START |
++------------------------------------+
+| 10 : SOCKET\_API\_ACCEPT\_END |
++------------------------------------+
+| 11 : SOCKET\_API\_EVENT\_START |
++------------------------------------+
+| 12 : SOCKET\_API\_EVENT\_END |
++------------------------------------+
+| 13 : SOCKET\_API\_OTHER |
++------------------------------------+
+| 14 : HTTP\_API\_SESSION\_CONSTRUCT |
++------------------------------------+
+| 15 : HTTP\_API\_SESSION\_CLOSE |
++------------------------------------+
+| 16 : HTTP\_API\_TRANSACTION\_OPEN |
++------------------------------------+
+| 17 : HTTP\_API\_TRANSACTION\_CLOSE |
++------------------------------------+
+| 18 : HTTP\_API\_ALLOCATION |
++------------------------------------+
+| 19 : HTTP\_API\_SUBMIT |
++------------------------------------+
+| 20 : HTTP\_API\_REQUEST |
++------------------------------------+
+| 21 : HTTP\_API\_RESPONSE |
++------------------------------------+
+| 22 : HTTP\_API\_OTHER |
++------------------------------------+
+| 23 : HTTP\_API\_CLOSE |
++------------------------------------+
+
+MSG\_PROBE\_GLES\_20 0X3012
+```````````````````````````
+
++------------+---------+-------------------+-----------+---------------+-----------------+
+| index | 1~11 | 12 | 13 | 14 | 15 |
++------------+---------+-------------------+-----------+---------------+-----------------+
+| type | Common | long(8) | int(4) | long(8) | string |
+| | Columns | | | | |
++------------+---------+-------------------+-----------+---------------+-----------------+
+| ColumnName | | GLCurrentContext | GLApiType | GLElapsedTime | GLContextValue |
++------------+---------+-------------------+-----------+---------------+-----------------+
+
++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| GLApiType | GLContextValue |
++=====================+==============================================================================================================================================+
+| 01: GL\_INIT | |
++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| 02: GL\_CONTEXT | |
++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| 03: GL\_NO\_CONTEXT | 'd'-int 'f'-float 'x'-int64 'p'-pointer 's'-string etc, we will add new type parametrs 'D'-will mean array of 'd', 'F' - array of 'f'(float) |
++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| | type: c (1, char), d(4, int), x(8, long), p(8, pointer), f(4, float), w(8, double), b(1, bool), s(string), v(1, void), n(1,no type) |
++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+
+4. IDE-DA
+---------
+
+1. target device
+````````````````
+
+2. project type (01 OSP, 03 EFL ....)
+`````````````````````````````````````
+
+3. target binary path (AppID)
+`````````````````````````````
+
+4. local project debug package path
+```````````````````````````````````
+
+5. executable path (for library project)
+````````````````````````````````````````
+
+5. blacklist
+------------
+
++-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| library name | functions | |
++=============================+=========================+==============================================================================================================================================+
+| /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. |
+| | | In fact we have found that in some situations a call to dlsym(RTLD\_NEXT, ...) from the probes library fails with error: |
+| | | "RTLD\_NEXT used in code not dynamically loaded". |
+| | | 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 |
+| | | address) should be located within dynamically loaded code. |
+| | | And in fact if we instrument such a function with SWAP this check will definitely fail. |
+| | | So actually we CAN instrument these functions. But only without using the probes library at the same time. |
+| | | |
++-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| /lib/ld-2.13.so | All functions | |
++-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| /lib/libc-2.13.so | do\_dlsym | - do\_dlsym, \_\_GI\_\_\_libc\_dlsym: these are low-level libc functions. |
+| | | Currently in some situations they are mutually called and because of compiler optimizations |
+| | | we have some problems handling their retprobes properly. |
+| | | - \_\_GI\_\_setjmp, \_\_GI\_\_\_sigsetjmp, setjmp: these are in fact |
+| | | arch-specific tricky ASM macros which may change internally current return address (which is used for retprobes) |
+| | | |
+| +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| | \_\_GI\_\_\_libc\_dlsym | |
+| +-------------------------+ +
+| | \_\_GI\_\_setjmp | |
+| +-------------------------+ +
+| | \_\_GI\_\_\_sigsetjmp | |
+| +-------------------------+ +
+| | setjmp | |
++-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| All binaries (x86 emulator) | \_\_i686.get\_pc\_thunk | it is a compiler generated code which uses |
+| | | current return address info. The problem is similar to \*setjmp\* |
++-----------------------------+-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+
+6. sdb command
+--------------
+
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| executor | steps | previlege | host to sdbd command | |
++==============+===================+===========+=======================================================================+=========================================================+
+| host | get app list | developer | sdb shell /usr/bin/pkginfo --listpkg | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | delete image file | developer | sdb shell rm -rf filepath | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | get port number | developer | sdb shell cat /tmp/port.da | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | run swap\_daemon | root | sdb da run\_swap\_daemon | via /usr/bin/da\_command script |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | kill swap\_daemon | root | sdb da kill\_swap\_daemon | via /usr/bin/da\_command script |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | version | developer | sdb da get\_version | via /usr/bin/da\_command script, value: 2.1, 2.1.1, 3.0 |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| swap\_daemon | launch the app. | root | launch\_app <pkg\_id.app\_name> \_\_AUL\_SDK\_\_ DYNAMIC\_ANALYSIS | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| | | | | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | deprecated | developer | sdb shell uname -m | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | deprecated | developer | sdb shell du -b /home/developer/sdk\_tools/da/readelf | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | deprecated | root | sdb da findunittest | via /usr/bin/da\_command script |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+| host | deprecated | developer | sdb shell /usr/bin/pkginfo --arg-flt 10 http://tizen.org/category/ime | |
++--------------+-------------------+-----------+-----------------------------------------------------------------------+---------------------------------------------------------+
+
+7. limit
+--------
+
+size limitation in the host
+```````````````````````````
+
++-----------------------+--------------+--------------------------------------------------+
+| column | limit | description |
++=======================+==============+==================================================+
+| File path | 4K or ByFile | either in function argument or as protocol value |
++-----------------------+--------------+--------------------------------------------------+
+| Shader sources | 4K or ByFile | glGetShaderSource and glGetShaderiv probes |
++-----------------------+--------------+--------------------------------------------------+
+| Http contents | 1024 bytes | |
++-----------------------+--------------+--------------------------------------------------+
+| string type arguments | 256 bytes | there is not any case of string type yet |
++-----------------------+--------------+--------------------------------------------------+
+
+size limitation in the swap manager
+```````````````````````````````````
+
++-----------------------------------------------------+
+| **MSG\_SYSTEM period** |
++-----------------------------------------------------+
+| CONF\_SYSTRACE\_PERIOD\_MIN 100 |
++-----------------------------------------------------+
+| CONF\_SYSTRACE\_PERIOD\_MAX 1000 |
++-----------------------------------------------------+
+| CONF\_DATA\_MSG\_PERIOD\_MIN 1 |
++-----------------------------------------------------+
+| CONF\_DATA\_MSG\_PERIOD\_MAX 100 |
++-----------------------------------------------------+
+| **Application count** |
++-----------------------------------------------------+
+| US\_APP\_COUNT\_MIN 0 |
++-----------------------------------------------------+
+| US\_APP\_COUNT\_MAX 8 |
++-----------------------------------------------------+
+| **probe count (or instrumentation function count)** |
++-----------------------------------------------------+
+| US\_APP\_INST\_FUNC\_MIN 0 |
++-----------------------------------------------------+
+| US\_APP\_INST\_FUNC\_MAX 100000 |
++-----------------------------------------------------+
+| **library count to instrument** |
++-----------------------------------------------------+
+| US\_APP\_INST\_LIB\_MIN 0 |
++-----------------------------------------------------+
+| US\_APP\_INST\_LIB\_MAX 1000 |
++-----------------------------------------------------+
+
+8. tizen 2.2 campatibility
+--------------------------
+
+The difference of information in the legacy framework
+`````````````````````````````````````````````````````
+
++-----------------------+-------------------------------+------------------------+
+| 1. common | | |
++-----------------------+-------------------------------+------------------------+
+| | No process's memory map | |
++-----------------------+-------------------------------+------------------------+
+| | address value 4 -> 8byte | |
++-----------------------+-------------------------------+------------------------+
+| | time value 4->8 byte | |
++-----------------------+-------------------------------+------------------------+
+| 2. function profiling | | |
++-----------------------+-------------------------------+------------------------+
+| | No argument value | |
++-----------------------+-------------------------------+------------------------+
+| | No return value | |
++-----------------------+-------------------------------+------------------------+
+| | Symbols exist | |
++-----------------------+-------------------------------+------------------------+
+| 3. System Information | | |
++-----------------------+-------------------------------+------------------------+
+| | No per thread/process load | |
++-----------------------+-------------------------------+------------------------+
+| | No read/write per disk sector | |
++-----------------------+-------------------------------+------------------------+
+| | No energy usage | |
++-----------------------+-------------------------------+------------------------+
+| 4. probe | | |
++-----------------------+-------------------------------+------------------------+
+| | Common columns: | Log ID => Message Type |
++-----------------------+-------------------------------+------------------------+
+| | | API name => API ID |
++-----------------------+-------------------------------+------------------------+
+| | | PCAddr => deleted |
++-----------------------+-------------------------------+------------------------+
+| | memory | Same |
++-----------------------+-------------------------------+------------------------+
+| | UI Control | Same |
++-----------------------+-------------------------------+------------------------+
+| | UI Event | Same |
++-----------------------+-------------------------------+------------------------+
+| | Resource: | Name changed to File |
++-----------------------+-------------------------------+------------------------+
+| | | FD value 4-> 8byte |
++-----------------------+-------------------------------+------------------------+
+| | | FDType => deleted |
++-----------------------+-------------------------------+------------------------+
+| | Life cycle | Same |
++-----------------------+-------------------------------+------------------------+
+| | Screenshot | Same |
++-----------------------+-------------------------------+------------------------+
+| | Thread | Same |
++-----------------------+-------------------------------+------------------------+
+| | Custom chart | Same |
++-----------------------+-------------------------------+------------------------+
+| | Sync | Same |
++-----------------------+-------------------------------+------------------------+
+
+9. configuration
+----------------
+
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| Order | UX features | detail setting | swap protocol | swap protocol value | page & view |
++=======+=====================+============================================================+=============================+=====================+========================================================+
+| 1 | System Chart | edit box (sampling rate, 1000ms, range (10ms~1000ms)) | SYSTEM\_CPU | 0x1 \* 0x10^9 | CPU chart (Load, core, frequency), Snapshot view |
+| | | check box (CPU,Memory, Process load, Other processes load, | | | |
+| | | Disk IO, Network IO, Device usage, Energy usage) | | | |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 2 | System Chart | | SYSTEM\_MEMORY | 0x2 \* 0x10^9 | chart(Process size, Memory, Heap), Snapshot view |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 3 | System Chart | | SYSTEM\_PROCESS | 0x4 \* 0x10^9 | CPU load chart (parent, child) |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 4 | System Chart | | SYSTEM\_PROCESSES\_LOAD | 0x1 \* 0x10^10 | CPU load chart (child) |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 5 | System Chart | | SYSTEM\_DISK | 0x2 \* 0x10^10 | Disk IO chart |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 6 | System Chart | | SYSTEM\_NETWORK | 0x4 \* 0x10^10 | Network IO chart |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 7 | System Chart | | SYSTEM\_DEVICE | 0x8 \* 0x10^10 | Device chart |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 8 | System Chart | | SYSTEM\_ENERGY | 0x1 \* 0x10^11 | Energy chart |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 10 | Function Calls | | function profiling | 0x0004 | Call trace, Call stack, function profiling |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 11 | Samplings | edit box (sampling rate | function sampling | 0x80000 | function profiling |
+| | | D: 10ms, range (1ms~1000ms)) | | | |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 21 | Allocations | | memory allcation probing | 0x0008 | heap chart, leaks |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 22 | File activity | | file API probing | 0x0010 | File Analysis page (chart, list, detail) |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| | | | system file activity | 0x1 \* 0x10^12 | File Analysis chart |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 23 | Thread activity | | thread API probing | 0x0020 | Thread Analysis page (thread/sync chart, list, detail) |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| | | | SYSTEM\_THREAD\_LOAD | 0x8 \* 0x10^9 | Thread Analysis chart |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 24 | Network activity | | network API probing | 0x20000 | Network Analysis page (chart, list, detail) |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 25 | OpenGL activity | | openGL API probing | 0x40000 | OpenGL Analysis page (chart, list, detail) |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 41 | Screenshot | radio (auto, event) | screenshot | 0x0080 | Screenshot chart, Snapshot view |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 42 | UI event | | user event | 0x0100 | UI event chart |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 43 | Record&Replay | | recording | 0x0200 | replay edit |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 50 | Syscall | check (all, file, ipc, process, signal, network, desc) | Systcall file | 0x0400 | Call trace |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 51 | Syscall | | Systcall ipc | 0x0800 | Call trace |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 52 | Syscall | | Systcall process | 0x1000 | Call trace |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 53 | Syscall | | Systcall signal | 0x2000 | Call trace |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 54 | Syscall | | Systcall network | 0x4000 | Call trace |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 55 | Syscall | | Systcall desc | 0x8000 | Call trace |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 60 | Context Switch | | Context switch | 0x10000 | Kernel analysis page |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 70 | Inside the platform | check (all,memory, file, thread, network, openGL) | memory allcation | 0x10000000 | heap chart, leaks |
+| | | | probing nofilter | | |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 71 | Inside the platform | | file API probing nofilter | 0x20000000 | File Analysis page (chart, list, detail) |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 72 | Inside the platform | | thread API probing nofilter | 0x40000000 | Thread Analysis page (thread/sync chart, list, detail) |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 74 | Inside the platform | | network API probing nofilter| 0x100000000 | Network Analysis page (chart, list, detail) |
++-------+---------------------+ +-----------------------------+---------------------+--------------------------------------------------------+
+| 75 | Inside the platform | | openGL API probing nofilter | 0x200000000 | OpenGL Analysis page (chart, list, detail) |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 90 | | | OSP UI API probing | 0x0040 | |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 91 | | | OSP UI API probing nofilter | 0x80000000 | |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 92 | | | | | |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+| 93 | | | | | |
++-------+---------------------+------------------------------------------------------------+-----------------------------+---------------------+--------------------------------------------------------+
+
++--------------------------+---------------------+-----------------------------------+
+| template | UX features | default setting |
++==========================+=====================+===================================+
+| Bottleneck Analysis | Function Calls | |
++--------------------------+---------------------+-----------------------------------+
+| | Samplings | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | CPU, Process |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Memory Leaks | Allocations | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | Memory |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Process activity | Samplings | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | CPU,Memory,Process |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| File Analysis | File activity | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | Disk IO |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Thread activity analysis | Thread activity | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | CPU, Process |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Synchronization analysis | Thread activity | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | CPU, Process |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Wait status analysis | System Chart | CPU, Process, Network IO, Disk IO |
++--------------------------+---------------------+-----------------------------------+
+| | Thread activity | |
++--------------------------+---------------------+-----------------------------------+
+| | Network activity | |
++--------------------------+---------------------+-----------------------------------+
+| | File activity | |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Network analysis | Network activity | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | Network |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| OpenGL analysis | OpenGL activity | |
++--------------------------+---------------------+-----------------------------------+
+| | System Chart | CPU, Process |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| energy | System Chart | CPU,Memory,Process, energy |
++--------------------------+---------------------+-----------------------------------+
+| | | |
++--------------------------+---------------------+-----------------------------------+
+| Not in template | Syscall | |
++--------------------------+---------------------+-----------------------------------+
+| | Inside the platform | |
++--------------------------+---------------------+-----------------------------------+
+| | Context Switch | |
++--------------------------+---------------------+-----------------------------------+
+| | Screenshot | |
++--------------------------+---------------------+-----------------------------------+
+| | UI event | |
++--------------------------+---------------------+-----------------------------------+
+| | Record&Replay | |
++--------------------------+---------------------+-----------------------------------+
+
+10. HV Properties
+-----------------
+
+10.1 Category specific properties
+`````````````````````````````````
+
+10.1.1 properties of Evas
+'''''''''''''''''''''''''
+
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===========================+==========+==========+=======+============================================================================================================================================+
+| evas\_geometry | int[4] | 16 | | void evas\_object\_geometry\_get (const Evas\_Object \*obj, Evas\_Coord \*x, Evas\_Coord \*y, Evas\_Coord \*w, Evas\_Coord \*h) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_focus | bool | 1 | | Eina\_Bool evas\_object\_focus\_get (const Evas\_Object \*obj) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_name | string | variable | | const char\* evas\_object\_name\_get (const Evas\_Object \*obj) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_visible | bool | 1 | | Eina\_Bool evas\_object\_visible\_get (const Evas\_Object \*obj) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_color | int[4] | 16 | | void evas\_object\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_anti\_alias | bool | 1 | | Eina\_Bool evas\_object\_anti\_alias\_get (const Evas\_Object \*obj) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_scale | float | 4 | | double evas\_object\_scale\_get (const Evas\_Object \*obj) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_min | int[2] | 8 | | void evas\_object\_size\_hint\_min\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_max | int[2] | 8 | | void evas\_object\_size\_hint\_max\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_request | int[2] | 8 | | void evas\_object\_size\_hint\_request\_get (const Evas\_Object \*obj, Evas\_Coord \*w, Evas\_Coord \*h) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_align | float[2] | 8 | | void evas\_object\_size\_hint\_align\_get (const Evas\_Object \*obj, double \*x, double \*y) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_weight | float[2] | 8 | | void evas\_object\_size\_hint\_weight\_get (const Evas\_Object \*obj, double \*x, double \*y) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_size\_hint\_padding | int[4] | 16 | | void evas\_object\_size\_hint\_padding\_get (const Evas\_Object \*obj, Evas\_Coord \*l, Evas\_Coord \*r, Evas\_Coord \*t, Evas\_Coord \*b) |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_render\_op | byte | 1 | | | Evas\_Render\_Op evas\_object\_render\_op\_get (const Evas\_Object \*obj) |
+| | | | | | EVAS\_RENDER\_BLEND = 0x00, |
+| | | | | | EVAS\_RENDER\_BLEND\_REL = 0x01, |
+| | | | | | EVAS\_RENDER\_COPY = 0x02, |
+| | | | | | EVAS\_RENDER\_COPY\_REL = 0x03, |
+| | | | | | EVAS\_RENDER\_ADD = 0x04, |
+| | | | | | EVAS\_RENDER\_ADD\_REL = 0x05, |
+| | | | | | EVAS\_RENDER\_SUB = 0x06, |
+| | | | | | EVAS\_RENDER\_SUB\_REL = 0x07, |
+| | | | | | EVAS\_RENDER\_TINT = 0x08, |
+| | | | | | EVAS\_RENDER\_TINT\_REL = 0x09, |
+| | | | | | EVAS\_RENDER\_MASK = 0x0A, |
+| | | | | | EVAS\_RENDER\_MUL = 0x0B |
++---------------------------+----------+----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------+
+
+10.1.2 properties of Elementary
+'''''''''''''''''''''''''''''''
+
++--------------------------+--------+----------+-------+-----------------------------------------------------------------------+
+| name | type | length | value | description |
++==========================+========+==========+=======+=======================================================================+
+| elmentary\_text | string | variable | | const char \*elm\_object\_text\_get() |
++--------------------------+--------+----------+-------+-----------------------------------------------------------------------+
+| elementary\_style | string | variable | | const char \*elm\_object\_style\_get() |
++--------------------------+--------+----------+-------+-----------------------------------------------------------------------+
+| elementary\_disabled | bool | 1 | | Eina\_Bool elm\_object\_disabled\_get(const Evas\_Object \*obj) |
++--------------------------+--------+----------+-------+-----------------------------------------------------------------------+
+| elementary\_widget\_type | string | variable | | const char \*elm\_object\_widget\_type\_get(const Evas\_Object \*obj) |
++--------------------------+--------+----------+-------+-----------------------------------------------------------------------+
+
+10.1.3 properties of Edje
+'''''''''''''''''''''''''
+
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================+========+========+=======+=====================================================================================================+
+| edje\_animation | bool | 1 | | Eina\_Bool edje\_object\_animation\_get(const Edje\_Object \*obj) |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| edje\_play | bool | 1 | | Eina\_Bool edje\_object\_play\_get(const Edje\_Object \*obj) |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| edje\_scale | float | 4 | | double edje\_object\_scale\_get(const Edje\_Object \*obj) |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| edje\_base\_scale | float | 4 | | double edje\_object\_base\_scale\_get(const Edje\_Object \*obj) |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| edje\_size\_min | int[2] | 8 | | void edje\_object\_size\_min\_get(const Edje\_Object \*obj, Evas\_Coord \*minw, Evas\_Coord \*minh) |
+| | | | | |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| edje\_size\_max | int[2] | 8 | | void edje\_object\_size\_max\_get(const Edje\_Object \*obj, Evas\_Coord \*maxw, Evas\_Coord \*maxh) |
+| | | | | |
++-------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+
+10.2 Evas subtype specific properties
+`````````````````````````````````````
+
+10.2.1 properties of Image (EVAS) : 0x0101
+''''''''''''''''''''''''''''''''''''''''''
+
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================================+========+========+=======+==================================================================================================================================+
+| evas\_image\_load\_dpi | float | 4 | | double evas\_object\_image\_load\_dpi\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_source\_clip | bool | 1 | | Eina\_Bool evas\_object\_image\_source\_clip\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_filled | bool | 1 | | Eina\_Bool evas\_object\_image\_filled\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_content\_hint | byte | 1 | | | Evas\_Image\_Content\_Hint evas\_object\_image\_content\_hint\_get(const Evas\_Image \*obj) |
+| | | | | | EVAS\_IMAGE\_CONTENT\_HINT\_NONE = 0x00, |
+| | | | | | EVAS\_IMAGE\_CONTENT\_HINT\_DYNAMIC = 0x01, |
+| | | | | | EVAS\_IMAGE\_CONTENT\_HINT\_STATIC = 0x02 |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_alpha | bool | 1 | | Eina\_Bool evas\_object\_image\_alpha\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_border | int[4] | 16 | | void evas\_object\_image\_border\_get(const Evas\_Image \*obj, int \*l, int \*r, int \*t, int \*b) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_border\_scale | float | 4 | | double evas\_object\_image\_border\_scale\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_pixels\_dirty | bool | 1 | | Eina\_Bool evas\_object\_image\_pixels\_dirty\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_load\_orientation | bool | 1 | | Eina\_Bool evas\_object\_image\_load\_orientation\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_border\_center\_fill | byte | 1 | | | Evas\_Border\_Fill\_Mode evas\_object\_image\_border\_center\_fill\_get(const Evas\_Image \*obj) |
+| | | | | | EVAS\_BORDER\_FILL\_NONE = 0x00, |
+| | | | | | EVAS\_BORDER\_FILL\_DEFAULT = 0x01, |
+| | | | | | EVAS\_BORDER\_FILL\_SOLID = 0x02 |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_size | int[2] | 8 | | void evas\_object\_image\_size\_get(const Evas\_Image \*obj, int \*w, int \*h) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_source\_visible | bool | 1 | | Eina\_Bool evas\_object\_image\_source\_visible\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_fill | int[4] | 16 | | void evas\_object\_image\_fill\_get(const Evas\_Image \*obj, Evas\_Coord \*x, Evas\_Coord \*y, Evas\_Coord \*w, Evas\_Coord \*h) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_load\_scale\_down | int | 4 | | int evas\_object\_image\_load\_scale\_down\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_scale\_hint | byte | 1 | | | Evas\_Image\_Scale\_Hint evas\_object\_image\_scale\_hint\_get(const Evas\_Image \*obj) |
+| | | | | | EVAS\_IMAGE\_SCALE\_HINT\_NONE = 0x00, |
+| | | | | | EVAS\_IMAGE\_SCALE\_HINT\_DYNAMIC = 0x01, |
+| | | | | | EVAS\_IMAGE\_SCALE\_HINT\_STATIC = 0x02 |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_source\_events | bool | 1 | | Eina\_Bool evas\_object\_image\_source\_events\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_animated\_frame\_count | int | 4 | | int evas\_object\_image\_animated\_frame\_count\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+| evas\_image\_stride | int | 4 | | int evas\_object\_image\_stride\_get(const Evas\_Image \*obj) |
++-------------------------------------+--------+--------+-------+----------------------------------------------------------------------------------------------------------------------------------+
+
+10.2.2 properties of Line (EVAS) : 0x0102
+'''''''''''''''''''''''''''''''''''''''''
+
++----------------+--------+--------+-------+-------------------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++================+========+========+=======+=====================================================================================================================================+
+| evas\_line\_xy | int[4] | 16 | | void evas\_object\_line\_xy\_get (const Evas\_Object \*obj, Evas\_Coord \*x1, Evas\_Coord \*y1, Evas\_Coord \*x2, Evas\_Coord \*y2) |
++----------------+--------+--------+-------+-------------------------------------------------------------------------------------------------------------------------------------+
+
+10.2.3 properties of Polygon (EVAS) : 0x0103
+''''''''''''''''''''''''''''''''''''''''''''
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| Nothing |
++----------+--------+----------+-------+------------------------+
+
+10.2.4 properties of Rectangle (EVAS) : 0x0104
+''''''''''''''''''''''''''''''''''''''''''''''
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| Nothing |
++----------+--------+----------+-------+------------------------+
+
+10.2.5 properties of Text (EVAS) : 0x0105
+'''''''''''''''''''''''''''''''''''''''''
+
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==============================+========+==========+=======+=================================================================================================================================================+
+| evas\_text\_font\_font | string | variable | | void evas\_object\_text\_font\_get (const Evas\_Object \*obj, const char \*\*font, Evas\_Font\_Size \*size), comma(,) delemeter if several font |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_font\_size | int | 4 | | void evas\_object\_text\_font\_get (const Evas\_Object \*obj, const char \*\*font, Evas\_Font\_Size \*size) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_text | string | variable | | const char \* evas\_object\_text\_text\_get (const Evas\_Object \*obj) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_bidi\_delimiters | string | variable | | const char \* evas\_object\_text\_bidi\_delimiters\_get (const Evas\_Object \*obj) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_ellipsis | float | 4 | | double evas\_object\_text\_ellipsis\_get (const Evas\_Object \*obj) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_style | byte | 1 | | | Evas\_Text\_Style\_Type evas\_object\_text\_style\_get (const Evas\_Object \*obj) |
+| | | | | | EVAS\_TEXT\_STYLE\_PLAIN = 0x00, |
+| | | | | | EVAS\_TEXT\_STYLE\_SHADOW = 0x01, |
+| | | | | | EVAS\_TEXT\_STYLE\_OUTLINE = 0x02, |
+| | | | | | EVAS\_TEXT\_STYLE\_SOFT\_OUTLINE = 0x03, |
+| | | | | | EVAS\_TEXT\_STYLE\_GLOW = 0x04, |
+| | | | | | EVAS\_TEXT\_STYLE\_OUTLINE\_SHADOW = 0x05, |
+| | | | | | EVAS\_TEXT\_STYLE\_FAR\_SHADOW = 0x06, |
+| | | | | | EVAS\_TEXT\_STYLE\_OUTLINE\_SOFT\_SHADOW = 0x07, |
+| | | | | | EVAS\_TEXT\_STYLE\_SOFT\_SHADOW = 0x08, |
+| | | | | | EVAS\_TEXT\_STYLE\_FAR\_SOFT\_SHADOW = 0x09 |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_shadow\_color | int[4] | 16 | | void evas\_object\_text\_shadow\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_glow\_color | int[4] | 16 | | void evas\_object\_text\_glow\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_glow2\_color | int[4] | 16 | | void evas\_object\_text\_glow2\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_outline\_color | int[4] | 16 | | void evas\_object\_text\_outline\_color\_get (const Evas\_Object \*obj, int \*r, int \*g, int \*b, int \*a) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_style\_pad | int[4] | 16 | | void evas\_object\_text\_style\_pad\_get (const Evas\_Object \*obj, int \*l, int \*r, int \*t, int \*b) |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| evas\_text\_direction | byte | 1 | | | Evas\_BiDi\_Direction evas\_object\_text\_direction\_get (const Evas\_Object \*obj) |
+| | | | | | EVAS\_BIDI\_DIRECTION\_NATURAL = 0x00, |
+| | | | | | EVAS\_BIDI\_DIRECTION\_NEUTRAL = 0x01, |
+| | | | | | EVAS\_BIDI\_DIRECTION\_LTR = 0x02, |
+| | | | | | EVAS\_BIDI\_DIRECTION\_RTL = 0x03 |
++------------------------------+--------+----------+-------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+
+10.2.6 properties of Textblock (EVAS) : 0x0106
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================================+========+==========+=======+=========================================================================================+
+| evas\_textblock\_replace\_char | string | variable | | const char \* evas\_object\_textblock\_replace\_char\_get (Evas\_Object \*obj) |
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| evas\_textblock\_valign | float | 4 | | double evas\_object\_textblock\_valign\_get (const Evas\_Object \*obj) |
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| evas\_textblock\_bidi\_delimiters | string | variable | | const char \* evas\_object\_textblock\_bidi\_delimiters\_get (const Evas\_Object \*obj) |
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| evas\_textblock\_legacy\_newline | bool | 1 | | Eina\_Bool evas\_object\_textblock\_legacy\_newline\_get (const Evas\_Object \*obj) |
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| evas\_textblock\_text\_markup | string | variable | | const char \* evas\_object\_textblock\_text\_markup\_get (const Evas\_Object \*obj) |
++-----------------------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+
+10.2.7 properties of Vector (EVAS) : 0x0107
+'''''''''''''''''''''''''''''''''''''''''''''
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| Nothing |
++----------+--------+----------+-------+------------------------+
+
+10.2.8 properties of Table (EVAS) : 0x0108
+''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=============================+==========+========+=======+===================================================================================================================+
+| evas\_table\_homogeneous | byte | 1 | | | Evas\_Object\_Table\_Homogeneous\_Mode evas\_object\_table\_homogeneous\_get(const Evas\_Table \*obj) |
+| | | | | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_NONE = 0x00, |
+| | | | | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_TABLE = 0x01, |
+| | | | | | EVAS\_OBJECT\_TABLE\_HOMOGENEOUS\_ITEM = 0x02 |
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+| evas\_table\_align | float[2] | 8 | | void evas\_object\_table\_align\_get(const Evas\_Table \*obj, double \*horizontal, double \*vertical) |
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+| evas\_table\_padding | int[2] | 8 | | void evas\_object\_table\_padding\_get(const Evas\_Table \*obj, Evas\_Coord \*horizontal, Evas\_Coord \*vertical) |
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+| evas\_table\_mirrored | bool | 1 | | Eina\_Bool evas\_object\_table\_mirrored\_get(const Evas\_Table \*obj) |
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+| evas\_table\_col\_row\_size | int[2] | 8 | | void evas\_object\_table\_col\_row\_size\_get(const Evas\_Table \*obj, int \*cols, int \*rows) |
++-----------------------------+----------+--------+-------+-------------------------------------------------------------------------------------------------------------------+
+
+10.2.9 properties of Box (EVAS) : 0x0109
+''''''''''''''''''''''''''''''''''''''''''
+
++------------------+----------+--------+-------+---------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================+==========+========+=======+===================================================================================================+
+| evas\_box\_align | float[2] | 8 | | void evas\_object\_box\_align\_get(const Evas\_Box \*obj, double \*horizontal, double \*vertical) |
++------------------+----------+--------+-------+---------------------------------------------------------------------------------------------------+
+
+10.1.10 properties of Grid (EVAS) : 0x010A
+''''''''''''''''''''''''''''''''''''''''''
+
++----------------------+--------+--------+-------+-------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++======================+========+========+=======+=================================================================================================+
+| evas\_grid\_mirrored | bool | 1 | | Eina\_Bool evas\_object\_grid\_mirrored\_get(const Evas\_Grid \*obj) |
++----------------------+--------+--------+-------+-------------------------------------------------------------------------------------------------+
+| evas\_grid\_pack | int[4] | 16 | | Eina\_Bool evas\_obj\_grid\_pack\_get(Evas\_Object \*child, int \*x, int \*y, int \*w, int \*h) |
++----------------------+--------+--------+-------+-------------------------------------------------------------------------------------------------+
+
+10.2.11 properties of Textgrid (EVAS) : 0x010B
+''''''''''''''''''''''''''''''''''''''''''''''
+
++----------------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++============================+========+========+=======+=====================================================================================================+
+| evas\_textgrid\_size | int[2] | 8 | | void evas\_object\_textgrid\_size\_get(const Evas\_Textgrid \*obj, int \*w, int \*h) |
++----------------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+| evas\_textgrid\_cell\_size | int[2] | 8 | | void evas\_object\_textgrid\_cell\_size\_get(const Evas\_Textgrid \*obj, int \*width, int \*height) |
++----------------------------+--------+--------+-------+-----------------------------------------------------------------------------------------------------+
+
+10.2.12 properties of Smart (EVAS) : 0x010C
+'''''''''''''''''''''''''''''''''''''''''''
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| Nothing |
++----------+--------+----------+-------+------------------------+
+
+10.3 Elementary subtype specific properties
+```````````````````````````````````````````
+
+10.3.1 properties of Background (Elementary) : 0x0201
+'''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-------------------------+--------+--------+-------+-------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=========================+========+========+=======+===============================================================================+
+| elm\_background\_color | int[3] | 12 | | void elm\_bg\_color\_get(const Evas\_Object \*obj, int \*r, int \*g, int \*b) |
++-------------------------+--------+--------+-------+-------------------------------------------------------------------------------+
+| elm\_background\_option | byte | 1 | | | Elm\_Bg\_Option elm\_bg\_option\_get(const Elm\_Bg \*obj) |
+| | | | | | ELM\_BG\_OPTION\_CENTER = 0x00, |
+| | | | | | ELM\_BG\_OPTION\_SCALE = 0x01, |
+| | | | | | ELM\_BG\_OPTION\_STRETCH = 0x02, |
+| | | | | | ELM\_BG\_OPTION\_TILE = 0x03, |
+| | | | | | ELM\_BG\_OPTION\_LAST = 0x04 |
++-------------------------+--------+--------+-------+-------------------------------------------------------------------------------+
+
+10.3.2 properties of Button (Elementary) : 0x0202
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++-------------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===========================================+=======+========+=======+=================================================================================+
+| elm\_button\_autorepeat\_initial\_timeout | float | 4 | | double elm\_button\_autorepeat\_initial\_timeout\_get (const Elm\_Button \*obj) |
++-------------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------+
+| elm\_button\_autorepeat\_gap\_timeout | float | 4 | | double elm\_button\_autorepeat\_gap\_timeout\_get (const Elm\_Button \*obj) |
++-------------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------+
+| elm\_button\_autorepeat | bool | 1 | | Eina\_Bool elm\_button\_autorepeat\_get (const Elm\_Button \*obj) |
++-------------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------+
+
+10.3.3 properties of Check (Elementary) : 0x0203
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++-------------------+------+--------+-------+-----------------------------------------------------------+
+| name | type | length | value | description |
++===================+======+========+=======+===========================================================+
+| elm\_check\_state | bool | 1 | | Eina\_Bool elm\_check\_state\_get(const Elm\_Check \*obj) |
++-------------------+------+--------+-------+-----------------------------------------------------------+
+
+10.3.4 properties of Colorselector (Elementary) : 0x0204
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================================+========+==========+=======+=========================================================================================================+
+| elm\_colorselector\_color | int[4] | 16 | | void elm\_colorselector\_color\_get(const Elm\_Colorselector \*obj, int \*r, int \*g, int \*b, int \*a) |
++-----------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------------------------+
+| elm\_colorselector\_palette\_name | string | variable | | const char \*elm\_colorselector\_palette\_name\_get(const Elm\_Colorselector \*obj) |
++-----------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------------------------+
+| elm\_colorselector\_mode | byte | 1 | | | Elm\_Colorselector\_Mode elm\_colorselector\_mode\_get(const Elm\_Colorselector \*obj) |
+| | | | | | ELM\_COLORSELECTOR\_PALETTE = 0x00, |
+| | | | | | ELM\_COLORSELECTOR\_COMPONENTS = 0x01, |
+| | | | | | ELM\_COLORSELECTOR\_BOTH = 0x02, |
+| | | | | | ELM\_COLORSELECTOR\_PICKER = 0x03, |
+| | | | | | ELM\_COLORSELECTOR\_PLANE = 0x04, |
+| | | | | | ELM\_COLORSELECTOR\_PALETTE\_PLANE = 0x05, |
+| | | | | | ELM\_COLORSELECTOR\_ALL = 0x06 |
++-----------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------------------------+
+
+10.3.5 properties of Ctxpopup (Elementary) : 0x0205
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------+------+--------+-------+------------------------------------------------------+
+| name | type | length | value | description |
++===========================+======+========+=======+======================================================+
+| elm\_ctxpopup\_horizontal | bool | 1 | | Eina\_Bool elm\_obj\_ctxpopup\_horizontal\_get(void) |
++---------------------------+------+--------+-------+------------------------------------------------------+
+
+10.3.6 properties of Datetime (Elementary) : 0x0206
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=======================+========+==========+=======+=========================================================================================+
+| elm\_datetime\_format | string | variable | | const char \*elm\_datetime\_format\_get(const Elm\_Datetime \*obj) |
++-----------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+| elm\_datetime\_value | int[8] | 32 | | | Eina\_Bool elm\_datetime\_value\_get(const Elm\_Datetime \*obj, struct tm \*currtime) |
+| | | | | | int tm\_sec; /\* Seconds. [0-60] (1 leap second) \*/ |
+| | | | | | int tm\_min; /\* Minutes. [0-59] \*/ |
+| | | | | | int tm\_hour; /\* Hours. [0-23] \*/ |
+| | | | | | int tm\_mday; /\* Day. [1-31] \*/ |
+| | | | | | int tm\_mon; /\* Month. [0-11] \*/ |
+| | | | | | int tm\_year; /\* Year - 1900. \*/ |
+| | | | | | int tm\_wday; /\* Day of week. [0-6] \*/ |
+| | | | | | int tm\_yday; /\* Days in year.[0-365] \*/ |
++-----------------------+--------+----------+-------+-----------------------------------------------------------------------------------------+
+
+10.3.7 properties of Entry (Elementary) : 0x0207
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++============================================+========+==========+=======+======================================================================================+
+| elm\_entry\_entry | string | variable | | const char \*elm\_entry\_entry\_get(const Evas\_Object \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_scrollable | bool | 1 | | Eina\_Bool elm\_entry\_scrollable\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_input\_panel\_show\_on\_demand | bool | 1 | | Eina\_Bool elm\_entry\_input\_panel\_show\_on\_demand\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_context\_menu\_disabled | bool | 1 | | Eina\_Bool elm\_entry\_context\_menu\_disabled\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_cnp\_mode | byte | 1 | | Elm\_Cnp\_Mode elm\_entry\_cnp\_mode\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_editable | bool | 1 | | EAPI Eina\_Bool elm\_entry\_editable\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_anchor\_hover\_style | string | variable | | EAPI const char \*elm\_entry\_anchor\_hover\_style\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_single\_line | bool | 1 | | EAPI Eina\_Bool elm\_entry\_single\_line\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_password | bool | 1 | | EAPI Eina\_Bool elm\_entry\_password\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_autosave | bool | 1 | | EAPI Eina\_Bool elm\_entry\_autosave\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_prediction\_allow | bool | 1 | | EAPI Eina\_Bool elm\_entry\_prediction\_allow\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_input\_panel\_enabled | bool | 1 | | EAPI Eina\_Bool elm\_entry\_input\_panel\_enabled\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_cursor\_pos | int | 4 | | EAPI int elm\_entry\_cursor\_pos\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_cursor\_is\_format | bool | 1 | | EAPI Eina\_Bool elm\_entry\_cursor\_is\_format\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_cursor\_content | string | variable | | EAPI char \*elm\_entry\_cursor\_content\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_selection | string | variable | | EAPI const char \*elm\_entry\_selection\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+| elm\_entry\_cursor\_is\_visible\_format | bool | 1 | | EAPI Eina\_Bool elm\_entry\_cursor\_is\_visible\_format\_get(const Elm\_Entry \*obj) |
++--------------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------+
+
+10.3.8 properties of Flip (Elementary) : 0x0208
+'''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------+------+--------+-------+-----------------------------------------------------------------+
+| name | type | length | value | description |
++===========================+======+========+=======+=================================================================+
+| elm\_flip\_interaction | byte | 1 | | | Elm\_Flip\_Interaction elm\_obj\_flip\_interaction\_get(void) |
+| | | | | | ELM\_FLIP\_INTERACTION\_NONE = 0x00, |
+| | | | | | ELM\_FLIP\_INTERACTION\_ROTATE = 0x01, |
+| | | | | | ELM\_FLIP\_INTERACTION\_CUBE = 0x02, |
+| | | | | | ELM\_FLIP\_INTERACTION\_PAGE = 0x03 |
++---------------------------+------+--------+-------+-----------------------------------------------------------------+
+| elm\_flip\_front\_visible | bool | 1 | | Eina\_Bool elm\_obj\_flip\_front\_visible\_get(void) |
++---------------------------+------+--------+-------+-----------------------------------------------------------------+
+
+10.3.9 properties of Gengrid (Elementary) : 0x0209
+''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===================================+==========+========+=======+=================================================================================================================+
+| elm\_gengrid\_align | float[2] | 8 | | EAPI void elm\_gengrid\_align\_get(const Elm\_Gengrid \*obj, double \*align\_x, double \*align\_y) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_filled | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_filled\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_page\_relative | float[2] | 8 | | EAPI void elm\_gengrid\_page\_relative\_get(const Elm\_Gengrid \*obj, double \*h\_pagerel, double \*v\_pagerel) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_multi\_select | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_multi\_select\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_group\_item\_size | int[2] | 8 | | EAPI void elm\_gengrid\_group\_item\_size\_get(const Elm\_Gengrid \*obj, Evas\_Coord \*w, Evas\_Coord \*h) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_select\_mode | byte | 1 | | | EAPI Elm\_Object\_Select\_Mode elm\_gengrid\_select\_mode\_get(const Elm\_Gengrid \*obj) |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04 |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_reorder\_mode | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_reorder\_mode\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_highlight\_mode | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_highlight\_mode\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_item\_size | int[2] | 8 | | EAPI void elm\_gengrid\_item\_size\_get(const Elm\_Gengrid \*obj, Evas\_Coord \*w, Evas\_Coord \*h) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_multi\_select\_mode | byte | 1 | | | EAPI Elm\_Object\_Multi\_Select\_Mode elm\_gengrid\_multi\_select\_mode\_get(const Elm\_Gengrid \*obj) |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_WITH\_CONTROL = 0x01, |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_MAX = 0x02 |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_horizontal | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_horizontal\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_wheel\_disabled | bool | 1 | | EAPI Eina\_Bool elm\_gengrid\_wheel\_disabled\_get(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+| elm\_gengrid\_items\_count | int | 4 | | EAPI unsigned int elm\_gengrid\_items\_count(const Elm\_Gengrid \*obj) |
++-----------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------+
+
+10.3.10 properties of Genlist (Elementary) : 0x020A
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================================+=======+========+=======+=======================================================================================+
+| elm\_genlist\_multi\_select | bool | 1 | | Eina\_Bool elm\_genlist\_multi\_select\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_mode | byte | 1 | | | Elm\_List\_Mode elm\_genlist\_mode\_get(const Evas\_Object \*obj) |
+| | | | | | ELM\_LIST\_COMPRESS = 0x00, |
+| | | | | | ELM\_LIST\_SCROLL = 0x01, |
+| | | | | | ELM\_LIST\_LIMIT = 0x02, |
+| | | | | | ELM\_LIST\_EXPAND = 0x03, |
+| | | | | | ELM\_LIST\_LAST = 0x04 |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_items\_count | int | 4 | | unsigned int elm\_genlist\_items\_count(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_homogeneous | bool | 1 | | Eina\_Bool elm\_genlist\_homogeneous\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_block\_count | int | 4 | | int elm\_genlist\_block\_count\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_longpress\_timeout | float | 4 | | double elm\_genlist\_longpress\_timeout\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_reorder\_mode | bool | 1 | | Eina\_Bool elm\_genlist\_reorder\_mode\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_decorate\_mode | bool | 1 | | Eina\_Bool elm\_genlist\_decorate\_mode\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_tree\_effect\_enabled | bool | 1 | | Eina\_Bool elm\_genlist\_tree\_effect\_enabled\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_select\_mode | byte | 1 | | | Elm\_Object\_Select\_Mode elm\_genlist\_select\_mode\_get(const Evas\_Object \*obj) |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04 |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_highlight\_mode | bool | 1 | | Eina\_Bool elm\_genlist\_highlight\_mode\_get(const Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_genlist\_realization\_mode | bool | 1 | | Eina\_Bool elm\_genlist\_realization\_mode\_get(Evas\_Object \*obj) |
++-------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+
+10.3.11 properties of Glview (Elementary) : 0x020B
+''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------+--------+--------+-------+------------------------------------------------------------------------+
+| name | type | length | value | description |
++=======================+========+========+=======+========================================================================+
+| elm\_glview\_size | int[2] | 8 | | void elm\_glview\_size\_get(const Elm\_Glview \*obj, int \*w, int \*h) |
++-----------------------+--------+--------+-------+------------------------------------------------------------------------+
+| elm\_glview\_rotation | int | 4 | | int elm\_glview\_rotation\_get(const Elm\_Glview \*obj) |
++-----------------------+--------+--------+-------+------------------------------------------------------------------------+
+
+10.3.12 properties of Icon (Elementary) : 0x020C
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------+--------+----------+-------+---------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==========================+========+==========+=======+=================================================================================+
+| elm\_icon\_order\_lookup | byte | 1 | | | Elm\_Icon\_Lookup\_Order elm\_icon\_order\_lookup\_get(const Elm\_Icon \*obj) |
+| | | | | | ELM\_ICON\_LOOKUP\_FDO\_THEME = 0x00, |
+| | | | | | ELM\_ICON\_LOOKUP\_THEME\_FDO = 0x01, |
+| | | | | | ELM\_ICON\_LOOKUP\_FDO = 0x02, |
+| | | | | | ELM\_ICON\_LOOKUP\_THEME = 0x03 |
++--------------------------+--------+----------+-------+---------------------------------------------------------------------------------+
+| elm\_icon\_standard | string | variable | | const char \*elm\_icon\_standard\_get(const Elm\_Icon \*obj) |
++--------------------------+--------+----------+-------+---------------------------------------------------------------------------------+
+
+10.3.13 properties of Image (Elementary) : 0x020D
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================================+=========+========+=======+=============================================================================================+
+| elm\_image\_editable | bool | 1 | | Eina\_Bool elm\_image\_editable\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_animated\_play | bool | 1 | | Eina\_Bool elm\_image\_animated\_play\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_smooth | bool | 1 | | Eina\_Bool elm\_image\_smooth\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_no\_scale | bool | 1 | | Eina\_Bool elm\_image\_no\_scale\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_animated | bool | 1 | | Eina\_Bool elm\_image\_animated\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_aspect\_fixed | bool | 1 | | Eina\_Bool elm\_image\_aspect\_fixed\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_orient | byte | 1 | | | Elm\_Image\_Orient elm\_image\_orient\_get(const Elm\_Image \*obj) |
+| | | | | | ELM\_IMAGE\_ORIENT\_NONE = 0x00, |
+| | | | | | ELM\_IMAGE\_ORIENT\_0 = 0x01, |
+| | | | | | ELM\_IMAGE\_ROTATE\_90 = 0x02, |
+| | | | | | ELM\_IMAGE\_ORIENT\_90 = 0x03, |
+| | | | | | ELM\_IMAGE\_ROTATE\_180 = 0x04, |
+| | | | | | ELM\_IMAGE\_ORIENT\_180 = 0x05, |
+| | | | | | ELM\_IMAGE\_ROTATE\_270 = 0x06, |
+| | | | | | ELM\_IMAGE\_ORIENT\_270 = 0x07, |
+| | | | | | ELM\_IMAGE\_FLIP\_HORIZONTAL = 0x08, |
+| | | | | | ELM\_IMAGE\_FLIP\_VERTICAL = 0x09, |
+| | | | | | ELM\_IMAGE\_FLIP\_TRANSPOSE = 0x0A, |
+| | | | | | ELM\_IMAGE\_FLIP\_TRANSVERSE = 0x0B |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_fill\_outside | bool | 1 | | Eina\_Bool elm\_image\_fill\_outside\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_resizable | bool[2] | 2 | | void elm\_image\_resizable\_get(const Elm\_Image \*obj, Eina\_Bool \*up, Eina\_Bool \*down) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_animated\_available | bool | 1 | | Eina\_Bool elm\_image\_animated\_available\_get(const Elm\_Image \*obj) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+| elm\_image\_object\_size | int[2] | 8 | | void elm\_image\_object\_size\_get(const Elm\_Image \*obj, int \*w, int \*h) |
++---------------------------------+---------+--------+-------+---------------------------------------------------------------------------------------------+
+
+10.3.14 properties of Index (Elementary) : 0x020E
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================================+=======+========+=======+=========================================================================+
+| elm\_index\_autohide\_disabled | bool | 1 | | Eina\_Bool elm\_index\_autohide\_disabled\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_omit\_enabled | bool | 1 | | Eina\_Bool elm\_index\_omit\_enabled\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_priority | int | 4 | | int elm\_index\_priority\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_horizontal | bool | 1 | | Eina\_Bool elm\_index\_horizontal\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_delay\_change\_time | float | 4 | | double elm\_index\_delay\_change\_time\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_indicator\_disabled | bool | 1 | | Eina\_Bool elm\_index\_indicator\_disabled\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+| elm\_index\_item\_level | int | 4 | | int elm\_index\_item\_level\_get(const Elm\_Index \*obj) |
++---------------------------------+-------+--------+-------+-------------------------------------------------------------------------+
+
+10.3.15 properties of Label (Elementary) : 0x020F
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------+---------+----------+---------+--------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==========================+=========+==========+=========+================================================================================+
+| elm\_label\_wrap\_width | int | 4 | | Evas\_Coord elm\_label\_wrap\_width\_get(const Elm\_Label \*obj) |
++--------------------------+---------+----------+---------+--------------------------------------------------------------------------------+
+| elm\_label\_slide\_speed | float | 4 | | double elm\_label\_slide\_speed\_get(const Elm\_Label \*obj) |
++--------------------------+---------+----------+---------+--------------------------------------------------------------------------------+
+| elm\_label\_slide\_mode | byte | 1 | | | Elm\_Label\_Slide\_Mode elm\_label\_slide\_mode\_get(const Elm\_Label \*obj) |
+| | | | | | ELM\_LABEL\_SLIDE\_MODE\_NONE = 0x00, |
+| | | | | | ELM\_LABEL\_SLIDE\_MODE\_AUTO = 0x01, |
+| | | | | | ELM\_LABEL\_SLIDE\_MODE\_ALWAYS = 0x02 |
++--------------------------+---------+----------+---------+--------------------------------------------------------------------------------+
+
+10.3.16 properties of List (Elementary) : 0x0210
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================================+======+========+=======+===============================================================================================+
+| elm\_list\_horizontal | bool | 1 | | Eina\_Bool elm\_list\_horizontal\_get(const Elm\_List \*obj) |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_list\_select\_mode | byte | 1 | | | Elm\_Object\_Select\_Mode elm\_list\_select\_mode\_get(const Elm\_List \*obj) |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04 |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_list\_focus\_on\_selection | bool | 1 | | Eina\_Bool elm\_list\_focus\_on\_selection\_get(const Elm\_List \*obj) |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_list\_multi\_select | bool | 1 | | Eina\_Bool elm\_list\_multi\_select\_get(const Elm\_List \*obj) |
+| | | | | |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_list\_multi\_select\_mode | byte | 1 | | | Elm\_Object\_Multi\_Select\_Mode elm\_list\_multi\_select\_mode\_get(const Elm\_List \*obj) |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_WITH\_CONTROL = 0x01, |
+| | | | | | ELM\_OBJECT\_MULTI\_SELECT\_MODE\_MAX = 0x02 |
+| | | | | |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_list\_mode | byte | 1 | | Elm\_List\_Mode elm\_list\_mode\_get(const Elm\_List \*obj) |
++---------------------------------+------+--------+-------+-----------------------------------------------------------------------------------------------+
+
+10.3.17 properties of Map (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++===========================+==========+==========+=======+=======================================================================================================+
+| elm\_map\_zoom | int | 4 | | int elm\_map\_zoom\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_paused | bool | 1 | | Eina\_Bool elm\_map\_paused\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_wheel\_disabled | bool | 1 | | Eina\_Bool elm\_map\_wheel\_disabled\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_zoom\_min | int | 4 | | int elm\_map\_zoom\_min\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_rotate | float | 12 | | void elm\_map\_rotate\_get(const Elm\_Map \*obj, double \*degree, Evas\_Coord \*cx, Evas\_Coord \*cy) |
+| | int[2] | | | |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_user\_agent | string | variable | | const char \*elm\_map\_user\_agent\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_zoom\_max | int | 4 | | int elm\_map\_zoom\_max\_get(const Elm\_Map \*obj) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_zoom\_mode | byte | 1 | | | Elm\_Map\_Zoom\_Mode elm\_map\_zoom\_mode\_get(const Elm\_Map \*obj) |
+| | | | | | ELM\_MAP\_ZOOM\_MODE\_MANUAL = 0x00, |
+| | | | | | ELM\_MAP\_ZOOM\_MODE\_AUTO\_FIT = 0x01, |
+| | | | | | ELM\_MAP\_ZOOM\_MODE\_AUTO\_FILL = 0x02, |
+| | | | | | ELM\_MAP\_ZOOM\_MODE\_LAST = 0x03 |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+| elm\_map\_region | float[2] | 4 | | void elm\_map\_region\_get(const Elm\_Map \*obj, double \*lon, double \*lat) |
++---------------------------+----------+----------+-------+-------------------------------------------------------------------------------------------------------+
+
+10.3.18 properties of Notify (Elementary) : 0x0211
+''''''''''''''''''''''''''''''''''''''''''''''''''
+
++----------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++============================+==========+========+=======+===============================================================================================+
+| elm\_notify\_align | float[2] | 8 | | void elm\_notify\_align\_get(const Elm\_Notify \*obj, double \*horizontal, double \*vertical) |
++----------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_notify\_allow\_events | bool | 1 | | Eina\_Bool elm\_notify\_allow\_events\_get(const Elm\_Notify \*obj) |
++----------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------+
+| elm\_notify\_timeout | float | 4 | | double elm\_notify\_timeout\_get(const Elm\_Notify \*obj) |
++----------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------+
+
+10.3.19 properties of Panel (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++------------------------+------+--------+-------+----------------------------------------------------------------------+
+| name | type | length | value | description |
++========================+======+========+=======+======================================================================+
+| elm\_panel\_orient | byte | 1 | | | Elm\_Panel\_Orient elm\_panel\_orient\_get(const Elm\_Panel \*obj) |
+| | | | | | ELM\_PANEL\_ORIENT\_TOP = 0x00, |
+| | | | | | ELM\_PANEL\_ORIENT\_BOTTOM = 0x01, |
+| | | | | | ELM\_PANEL\_ORIENT\_LEFT = 0x02, |
+| | | | | | ELM\_PANEL\_ORIENT\_RIGHT = 0x03 |
++------------------------+------+--------+-------+----------------------------------------------------------------------+
+| elm\_panel\_hidden | bool | 1 | | Eina\_Bool elm\_panel\_hidden\_get(const Elm\_Panel \*obj) |
++------------------------+------+--------+-------+----------------------------------------------------------------------+
+| elm\_panel\_scrollable | bool | 1 | | Eina\_Bool elm\_panel\_scrollable\_get(const Elm\_Panel \*obj) |
++------------------------+------+--------+-------+----------------------------------------------------------------------+
+
+10.3.20 properties of Photo (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------+------+--------+-------+-------------------------------------------------------------------+
+| name | type | length | value | description |
++===========================+======+========+=======+===================================================================+
+| elm\_photo\_editable | bool | 1 | | Eina\_Bool elm\_photo\_editable\_get(const Elm\_Photo \*obj) |
++---------------------------+------+--------+-------+-------------------------------------------------------------------+
+| elm\_photo\_fill\_inside | bool | 1 | | Eina\_Bool elm\_photo\_fill\_inside\_get(const Elm\_Photo \*obj) |
++---------------------------+------+--------+-------+-------------------------------------------------------------------+
+| elm\_photo\_aspect\_fixed | bool | 1 | | Eina\_Bool elm\_photo\_aspect\_fixed\_get(const Elm\_Photo \*obj) |
++---------------------------+------+--------+-------+-------------------------------------------------------------------+
+| elm\_photo\_size | int | 4 | | int elm\_photo\_size\_get(const Elm\_Photo \*obj) |
++---------------------------+------+--------+-------+-------------------------------------------------------------------+
+
+10.3.21 properties of Photocam (Elementary) : 0x0211
+''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=================================+========+==========+=======+=======================================================================================+
+| elm\_photocam\_paused | bool | 1 | | Eina\_Bool elm\_photocam\_paused\_get(const Elm\_Photocam \*obj) |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| elm\_photocam\_file | string | variable | | const char \*elm\_photocam\_file\_get(const Elm\_Photocam \*obj) |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| elm\_photocam\_gesture\_enabled | bool | 1 | | Eina\_Bool elm\_photocam\_gesture\_enabled\_get(const Elm\_Photocam \*obj) |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| elm\_photocam\_zoom | float | 4 | | double elm\_photocam\_zoom\_get(const Elm\_Photocam \*obj) |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| elm\_photocam\_zoom\_mode | byte | 1 | | | Elm\_Photocam\_Zoom\_Mode elm\_photocam\_zoom\_mode\_get(const Elm\_Photocam \*obj) |
+| | | | | | ELM\_PHOTOCAM\_ZOOM\_MODE\_MANUAL = 0x00, |
+| | | | | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FIT = 0x01, |
+| | | | | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FILL = 0x02, |
+| | | | | | ELM\_PHOTOCAM\_ZOOM\_MODE\_AUTO\_FIT\_IN = 0x03, |
+| | | | | | ELM\_PHOTOCAM\_ZOOM\_MODE\_LAST = 0x04 |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+| elm\_photocam\_image\_size | int[2] | 8 | | void elm\_photocam\_image\_size\_get(const Elm\_Photocam \*obj, int \*w, int \*h) |
++---------------------------------+--------+----------+-------+---------------------------------------------------------------------------------------+
+
+10.3.22 properties of Plug (Elementary) : 0x0211
+''''''''''''''''''''''''''''''''''''''''''''''''
+
++----------+--------+----------+-------+------------------------+
+| name | type | length | value | description |
++==========+========+==========+=======+========================+
+| Nothing |
++----------+--------+----------+-------+------------------------+
+
+10.3.23 properties of Popup (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=======================================+==========+========+=======+=======================================================================================================================+
+| elm\_popup\_align | float[2] | 8 | | void elm\_popup\_align\_get(const Elm\_Popup \*obj, double \*horizontal, double \*vertical) |
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+| elm\_popup\_allow\_events | bool | 1 | | Eina\_Bool elm\_popup\_allow\_events\_get(const Elm\_Popup \*obj) |
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+| elm\_popup\_content\_text\_wrap\_type | byte | 1 | | | Elm\_Wrap\_Type elm\_popup\_content\_text\_wrap\_type\_get(const Elm\_Popup \*obj) |
+| | | | | | ELM\_WRAP\_NONE = 0x00, /\*\*< No wrap - value is zero \*/ |
+| | | | | | ELM\_WRAP\_CHAR = 0x01, /\*\*< Char wrap - wrap between characters \*/ |
+| | | | | | ELM\_WRAP\_WORD = 0x02, /\*\*< Word wrap - wrap in allowed wrapping points (as defined in the unicode standard) \*/ |
+| | | | | | ELM\_WRAP\_MIXED = 0x03, /\*\*< Mixed wrap - Word wrap, and if that fails, char wrap. \*/ |
+| | | | | | ELM\_WRAP\_LAST = 0x04 |
+| | | | | |
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+| elm\_popup\_orient | byte | 1 | | | Elm\_Popup\_Orient elm\_popup\_orient\_get(const Elm\_Popup \*obj) |
+| | | | | | ELM\_POPUP\_ORIENT\_TOP = 0x00, /\*\*< Popup should appear in the top of parent, default \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_CENTER = 0x01, /\*\*< Popup should appear in the center of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_BOTTOM = 0x02, /\*\*< Popup should appear in the bottom of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_LEFT = 0x03, /\*\*< Popup should appear in the left of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_RIGHT = 0x04, /\*\*< Popup should appear in the right of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_TOP\_LEFT = 0x05, /\*\*< Popup should appear in the top left of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_TOP\_RIGHT = 0x06, /\*\*< Popup should appear in the top right of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_BOTTOM\_LEFT = 0x07, /\*\*< Popup should appear in the bottom left of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_BOTTOM\_RIGHT = 0x08, /\*\*< Notify should appear in the bottom right of parent \*/ |
+| | | | | | ELM\_POPUP\_ORIENT\_LAST = 0x09 |
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+| elm\_popup\_timeout | float | 4 | | double elm\_popup\_timeout\_get(const Elm\_Popup \*obj) |
++---------------------------------------+----------+--------+-------+-----------------------------------------------------------------------------------------------------------------------+
+
+10.3.24 properties of Progressbar (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| name | type | length | value | description |
++================================+========+==========+=======+================================================================================+
+| elm\_progressbar\_span\_size | int | 4 | | Evas\_Coord elm\_progressbar\_span\_size\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| elm\_progressbar\_pulse | bool | 1 | | Eina\_Bool elm\_progressbar\_pulse\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| elm\_progressbar\_value | float | 4 | | double elm\_progressbar\_value\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| elm\_progressbar\_inverted | bool | 1 | | Eina\_Bool elm\_progressbar\_inverted\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| elm\_progressbar\_horizontal | bool | 1 | | Eina\_Bool elm\_progressbar\_horizontal\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+| elm\_progressbar\_unit\_format | string | variable | | const char \*elm\_progressbar\_unit\_format\_get(const Elm\_Progressbar \*obj) |
++--------------------------------+--------+----------+-------+--------------------------------------------------------------------------------+
+
+10.3.25 properties of Radio (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------+------+--------+-------+-----------------------------------------------------------+
+| name | type | length | value | description |
++==========================+======+========+=======+===========================================================+
+| elm\_radio\_state\_value | int | 4 | | int elm\_radio\_state\_value\_get(const Elm\_Radio \*obj) |
++--------------------------+------+--------+-------+-----------------------------------------------------------+
+| elm\_radio\_value | int | 4 | | int elm\_radio\_value\_get(const Elm\_Radio \*obj) |
++--------------------------+------+--------+-------+-----------------------------------------------------------+
+
+10.3.26 properties of Segmentcontrol (Elementary) : 0x0211
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
++----------------------------------+------+--------+-------+--------------------------------------------------------------------------------+
+| name | type | length | value | description |
++==================================+======+========+=======+================================================================================+
+| elm\_segmentcontrol\_item\_count | int | 4 | | int elm\_segment\_control\_item\_count\_get(const Elm\_Segment\_Control \*obj) |
++----------------------------------+------+--------+-------+--------------------------------------------------------------------------------+
+
+10.3.27 properties of Slider (Elementary) : 0x0211
+''''''''''''''''''''''''''''''''''''''''''''''''''
+
++--------------------------------+--------+----------+-------+---------------------------------------------------------------------------+
+| name | type | length | value | description |
++================================+========+==========+=======+===========================================================================+
+| elm\_slider\_horizontal | bool | 1 | | Eina\_Bool elm\_slider\_horizontal\_get(const Elm\_Slider \*obj) |
++--------------------------------+--------+----------+-------+---------------------------------------------------------------------------+
+| elm\_slider\_value | float | 4 | | double elm\_slider\_value\_get(const Elm\_Slider \*obj) |
++--------------------------------+--------+----------+-------+---------------------------------------------------------------------------+
+| elm\_slider\_indicator\_format | string | variable | | const char \*elm\_slider\_indicator\_format\_get(const Elm\_Slider \*obj) |
++--------------------------------+--------+----------+-------+---------------------------------------------------------------------------+
+
+10.3.28 properties of Spinner (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=============================+==========+==========+=======+========================================================================================+
+| elm\_spinner\_min\_max | float[2] | 8 | | void elm\_spinner\_min\_max\_get(const Elm\_Spinner \*obj, double \*min, double \*max) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_step | float | 4 | | double elm\_spinner\_step\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_wrap | bool | 1 | | Eina\_Bool elm\_spinner\_wrap\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_interval | float | 4 | | double elm\_spinner\_interval\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_round | int | 4 | | int elm\_spinner\_round\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_editable | bool | 1 | | Eina\_Bool elm\_spinner\_editable\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_base | float | 4 | | double elm\_spinner\_base\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_value | float | 4 | | double elm\_spinner\_value\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+| elm\_spinner\_label\_format | string | variable | | const char \*elm\_spinner\_label\_format\_get(const Elm\_Spinner \*obj) |
++-----------------------------+----------+----------+-------+----------------------------------------------------------------------------------------+
+
+10.3.29 properties of Toolbar (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++====================================+=======+========+=======+=======================================================================================+
+| elm\_toolbar\_reorder\_mode | bool | 1 | | Eina\_Bool elm\_toolbar\_reorder\_mode\_get(const Evas\_Object \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_transverse\_expanded | bool | 1 | | Eina\_Bool elm\_toolbar\_transverse\_expanded\_get(const Evas\_Object \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_homogeneous | bool | 1 | | Eina\_Bool elm\_toolbar\_homogeneous\_get(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_align | float | 1 | | double elm\_toolbar\_align\_get(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_select\_mode | byte | 1 | | | Elm\_Object\_Select\_Mode elm\_toolbar\_select\_mode\_get(const Elm\_Toolbar \*obj) |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DEFAULT = 0x00, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_ALWAYS = 0x01, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_NONE = 0x02, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_DISPLAY\_ONLY = 0x03, |
+| | | | | | ELM\_OBJECT\_SELECT\_MODE\_MAX = 0x04 |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_icon\_size | int | 4 | | int elm\_toolbar\_icon\_size\_get(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_horizontal | bool | 1 | | Eina\_Bool elm\_toolbar\_horizontal\_get(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_standard\_priority | int | 4 | | int elm\_toolbar\_standard\_priority\_get(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+| elm\_toolbar\_items\_count | int | 4 | | unsigned int elm\_toolbar\_items\_count(const Elm\_Toolbar \*obj) |
++------------------------------------+-------+--------+-------+---------------------------------------------------------------------------------------+
+
+10.3.30 properties of Tooltip (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''''''
+
++------------------------------------+--------+----------+-------+------------------------------------------------------------------------------+
+| name | type | length | value | description |
++====================================+========+==========+=======+==============================================================================+
+| elm\_object\_tooltip\_style | string | variable | | const char \*elm\_object\_tooltip\_style\_get(const Evas\_Object \*obj) |
++------------------------------------+--------+----------+-------+------------------------------------------------------------------------------+
+| elm\_object\_tooltip\_window\_mode | bool | 1 | | Eina\_Bool elm\_object\_tooltip\_window\_mode\_get(const Evas\_Object \*obj) |
++------------------------------------+--------+----------+-------+------------------------------------------------------------------------------+
+
+10.3.31 properties of Win (Elementary) : 0x0211
+'''''''''''''''''''''''''''''''''''''''''''''''
+
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| name | type | length | value | description |
++=====================================+========+==========+=======+==================================================================================================+
+| elm\_win\_iconified | bool | 1 | | Eina\_Bool elm\_win\_iconified\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_maximized | bool | 1 | | Eina\_Bool elm\_win\_maximized\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_modal | bool | 1 | | Eina\_Bool elm\_win\_modal\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_icon\_name | string | variable | | const char \*elm\_win\_icon\_name\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_withdrawn | bool | 1 | | Eina\_Bool elm\_win\_withdrawn\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_role | string | variable | | const char \*elm\_win\_role\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_size\_step | int[2] | 8 | | void elm\_win\_size\_step\_get(const Elm\_Win \*obj, int \*w, int \*h) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_focus\_highlight\_style | string | variable | | const char \*elm\_win\_focus\_highlight\_style\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_borderless | bool | 1 | | Eina\_Bool elm\_win\_borderless\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_focus\_highlight\_enabled | bool | 1 | | Eina\_Bool elm\_win\_focus\_highlight\_enabled\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_title | string | variable | | const char \*elm\_win\_title\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_alpha | bool | 1 | | Eina\_Bool elm\_win\_alpha\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_urgent | bool | 1 | | Eina\_Bool elm\_win\_urgent\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_rotation | int | 4 | | int elm\_win\_rotation\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_sticky | bool | 1 | | Eina\_Bool elm\_win\_sticky\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_focus\_highlight\_animate | bool | 1 | | Eina\_Bool elm\_win\_focus\_highlight\_animate\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_aspect | float | 4 | | double elm\_win\_aspect\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_indicator\_opacity | byte | 1 | | | Elm\_Win\_Indicator\_Opacity\_Mode elm\_win\_indicator\_opacity\_get(const Elm\_Win \*obj) |
+| | | | | | ELM\_WIN\_INDICATOR\_OPACITY\_UNKNOWN = 0x00, /\*\*< Unknown indicator opacity mode \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_OPAQUE = 0x01, /\*\*< Opacifies the indicator \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_TRANSLUCENT = 0x02, /\*\*< Be translucent the indicator \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_TRANSPARENT = 0x03, /\*\*< Transparentizes the indicator \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_BG\_TRANSPARENT = 0x04 /\*\*< Transparentizes the indicator background\*/ |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_demand\_attention | bool | 1 | | Eina\_Bool elm\_win\_demand\_attention\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_layer | int | 4 | | int elm\_win\_layer\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_profile | string | variable | | const char \*elm\_win\_profile\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_shaped | bool | 1 | | Eina\_Bool elm\_win\_shaped\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_fullscreen | bool | 1 | | Eina\_Bool elm\_win\_fullscreen\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_indicator\_mode | byte | 1 | | | Elm\_Win\_Indicator\_Mode elm\_win\_indicator\_mode\_get(const Elm\_Win \*obj) |
+| | | | | | ELM\_WIN\_INDICATOR\_UNKNOWN = 0x00, /\*\*< Unknown indicator state \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_HIDE = 0x01, /\*\*< Hides the indicator \*/ |
+| | | | | | ELM\_WIN\_INDICATOR\_SHOW = 0x02 /\*\*< Shows the indicator \*/ |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_conformant | bool | 1 | | Eina\_Bool elm\_win\_conformant\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_size\_base | int[2] | 8 | | void elm\_win\_size\_base\_get(const Elm\_Win \*obj, int \*w, int \*h) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_quickpanel | bool | 1 | | Eina\_Bool elm\_win\_quickpanel\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_wm\_rotation\_supported | bool | 1 | | Eina\_Bool elm\_win\_wm\_rotation\_supported\_get(const Elm\_Win \*obj) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_screen\_dpi | int[2] | 8 | | void elm\_win\_screen\_dpi\_get(const Elm\_Win \*obj, int \*xdpi, int \*ydpi) |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+| elm\_win\_type | byte | 1 | | | Elm\_Win\_Type elm\_win\_type\_get(const Elm\_Win \*obj) |
+| | | | | | ELM\_WIN\_UNKNOWN = 0x00, |
+| | | | | | ELM\_WIN\_BASIC = 0x01, |
+| | | | | | ELM\_WIN\_DIALOG\_BASIC = 0x02, |
+| | | | | | ELM\_WIN\_DESKTOP = 0x03, |
+| | | | | | ELM\_WIN\_DOCK = 0x04, |
+| | | | | | ELM\_WIN\_TOOLBAR = 0x05, |
+| | | | | | ELM\_WIN\_MENU = 0x06, |
+| | | | | | ELM\_WIN\_UTILITY = 0x07, |
+| | | | | | ELM\_WIN\_SPLASH = 0x08, |
+| | | | | | ELM\_WIN\_DROPDOWN\_MENU = 0x09, |
+| | | | | | ELM\_WIN\_POPUP\_MENU = 0x0A, |
+| | | | | | ELM\_WIN\_TOOLTIP = 0x0B, |
+| | | | | | ELM\_WIN\_NOTIFICATION = 0x0C, |
+| | | | | | ELM\_WIN\_COMBO = 0x0D, |
+| | | | | | ELM\_WIN\_DND = 0x0E, |
+| | | | | | ELM\_WIN\_INLINED\_IMAGE = 0x0F, |
+| | | | | | ELM\_WIN\_SOCKET\_IMAGE = 0x10, |
+| | | | | | ELM\_WIN\_TIZEN\_WIDGET = 0x11, |
+| | | | | | ELM\_WIN\_FAKE = 0x12 |
++-------------------------------------+--------+----------+-------+--------------------------------------------------------------------------------------------------+
+
+::
+
+ If new mapping occurs MSG_PROCESS_MAP message will be send.