[FEATURE] Osp: total remove
[platform/core/system/swap-probe.git] / probe_socket / da_socket.h
index 06ae39c..12f1072 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
  *
- * Contact: 
+ * Contact:
  *
  * Hyunjong Park <phjwithyou.park@samsung.com>
  * Juyoung Kim <j0.kim@samsung.com>
 
 #include "daprobe.h"
 
-#define SOCKET_SEND_SIZE 256;
-#define NO_DESTINATIONINFO (NULL)
-#define POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO )                             \
+
+#define SOCKET_SEND_SIZE 1024
+#define NO_TOTAL_INFO (NULL)
+#define POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO)                              \
        do {                                                    \
                BUF_PTR = pack_int64(BUF_PTR, (uintptr_t)OBJECTPTR);            \
                BUF_PTR = pack_int64(BUF_PTR, FDVALUE);         \
                BUF_PTR = pack_int32(BUF_PTR, APITYPE);         \
-               struct sockaddr *tmp_dest = ((struct sockaddr *)DESTINATIONINFO); \
-               if ( tmp_dest != NO_DESTINATIONINFO) { \
+               struct sockaddr *tmp_dest = ((struct sockaddr *)TOTAL_INFO.sock); \
+               if ( tmp_dest != NO_TOTAL_INFO) { \
                        switch (tmp_dest->sa_family) { \
                                case AF_INET:\
                                        BUF_PTR = pack_int32(BUF_PTR, ((struct sockaddr_in *)tmp_dest)->sin_addr.s_addr ); \
                        BUF_PTR = pack_int32(BUF_PTR, (uint32_t) 0);    \
                        BUF_PTR = pack_int32(BUF_PTR, (uint32_t) 0);    \
                }; \
-               BUF_PTR = pack_string(BUF_PTR, MESSAGE);                \
+               BUF_PTR = pack_int64(BUF_PTR, TOTAL_INFO.msg_total_size);               \
+               BUF_PTR = pack_bin(BUF_PTR, TOTAL_INFO.msg_buf, TOTAL_INFO.msg_pack_size);              \
        } while (0)
 
 
 //lib Common Function
-#define AFTER_ORIGINAL_LIBC_SOCK(RVAL,OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...)       \
+#define AFTER_ORIGINAL_LIBC_SOCK(RTYPE, RVAL, OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...)      \
                POST_PROBEBLOCK_BEGIN(LC_SOCKET, RTYPE, RVAL, INPUTFORMAT, __VA_ARGS__);                \
-               POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO );                                                             \
-               /* POST_PROBEBLOCK_CALLSTACK(); */                                                                                              \
+               POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                                             \
                POST_PROBEBLOCK_END();
 
 //lib START Function
-#define AFTER_ORIGINAL_LIBC_SOCK_WAIT_FUNC_START(RVAL,OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...)       \
-       POST_PROBEBLOCK_FUNC_START_BEGIN(LC_SOCKET, RTYPE, RVAL,        INPUTFORMAT, __VA_ARGS__);              \
-       POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO );                                                             \
-       FLUSH_LOCAL_BUF();                                                                                                                                                                                      \
+#define AFTER_ORIGINAL_LIBC_SOCK_WAIT_FUNC_START(RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...)        \
+       POST_PROBEBLOCK_FUNC_START_BEGIN(LC_SOCKET, RTYPE, RVAL, INPUTFORMAT, __VA_ARGS__);                             \
+       POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                     \
+       FLUSH_LOCAL_BUF();                                                                                              \
        PRE_PROBEBLOCK_END()
 
-#define POST_PROBEBLOCK_FUNC_START_BEGIN(LCTYPE, RETTYPE, RETVALUE, INPUTFORMAT, ...)  \
+#define POST_PROBEBLOCK_FUNC_START_BEGIN(LCTYPE, RTYPE, RETVALUE, INPUTFORMAT, ...)    \
                newerrno = errno;                                                                                                               \
                        if(postBlockBegin(blockresult)) {                                                                               \
                                PREPARE_LOCAL_BUF(); \
                                PACK_COMMON_BEGIN(MSG_PROBE_NETWORK, vAPI_ID, INPUTFORMAT, __VA_ARGS__);\
-                               PACK_COMMON_END(RETVALUE, errno, blockresult)
+                               PACK_COMMON_END(RTYPE, RETVALUE, errno, blockresult)
 
 
 //lib END Function
-#define AFTER_ORIGINAL_LIBC_SOCK_WAIT_FUNC_END(RVAL, OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...)        \
+#define AFTER_ORIGINAL_LIBC_SOCK_WAIT_FUNC_END(RTYPE, RVAL, OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...) \
        POST_PROBEBLOCK_FUNC_END_BEGIN(LC_SOCKET, RTYPE, RVAL,  INPUTFORMAT, __VA_ARGS__);              \
-       POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO );                                                             \
+       POST_PROBEBLOCK_MIDDLE_LIBC_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                                             \
        POST_PROBEBLOCK_END()
 
-#define POST_PROBEBLOCK_FUNC_END_BEGIN(LCTYPE, RETTYPE, RETVALUE, INPUTFORMAT, ...)    \
+#define POST_PROBEBLOCK_FUNC_END_BEGIN(LCTYPE, RTYPE, RETVALUE, INPUTFORMAT, ...)      \
        newerrno = errno;                                                                                                               \
        if(postBlockBegin(blockresult)) {                                                                               \
                setProbePoint(&probeInfo);                                                                              \
                PREPARE_LOCAL_BUF(); \
                PACK_COMMON_BEGIN(MSG_PROBE_NETWORK, vAPI_ID, INPUTFORMAT, __VA_ARGS__);\
-               PACK_COMMON_END(RETVALUE, errno, blockresult)
-
-#define BEFORE_ORIGINAL_TIZEN_NET(FUNCNAME, FUNCTIONPOINTER)   \
-               DECLARE_VARIABLE_STANDARD_OSP_NET(FUNCNAME);                                                            \
-               GET_REAL_FUNC_TIZEN(FUNCNAME, LIBOSP_NET,FUNCTIONPOINTER); \
-               PRE_PROBEBLOCK()
-
-#define DECLARE_VARIABLE_STANDARD_OSP_NET(FUNCNAME)            \
-               PREPARE_LOCAL_BUF();                    \
-               int blockresult;                                \
-               bool bfiltering = true;                 \
-               int olderrno = 0, newerrno = 0;\
-               int32_t __attribute__((unused)) vAPI_ID = API_ID_ ## FUNCNAME /* FIXME bad way*/;
+               PACK_COMMON_END(RTYPE, RETVALUE, errno, blockresult)
 
-#define POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO )                            \
-       do {                                                    \
+#define POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO )                            \
+       do {                                                                    \
                BUF_PTR = pack_int64(BUF_PTR, (uintptr_t)OBJECTPTR);            \
-               BUF_PTR = pack_int64(BUF_PTR, FDVALUE);         \
-               BUF_PTR = pack_int32(BUF_PTR, APITYPE);         \
-               BUF_PTR = pack_int32(BUF_PTR, 1);               /* FIXME need destination IP*/\
-               BUF_PTR = pack_int32(BUF_PTR, 2);               /* FIXME need destination PORT*/\
-               BUF_PTR = pack_string(BUF_PTR, MESSAGE);                \
+               BUF_PTR = pack_int64(BUF_PTR, FDVALUE);                         \
+               BUF_PTR = pack_int32(BUF_PTR, APITYPE);                         \
+               BUF_PTR = pack_int32(BUF_PTR, TOTAL_INFO.host_ip);              \
+               BUF_PTR = pack_int32(BUF_PTR, TOTAL_INFO.host_port);            \
+               BUF_PTR = pack_int64(BUF_PTR, TOTAL_INFO.msg_total_size);       \
+               BUF_PTR = pack_bin(BUF_PTR, TOTAL_INFO.msg_buf,                 \
+                                  TOTAL_INFO.msg_pack_size);                   \
        } while (0)
 
 
-//TIZEN
-#define CALL_ORIGINAL_TIZEN_NET(FUNCNAME, FUNCTIONPOINTER)     \
-               GET_REAL_FUNC_TIZEN(FUNCNAME, LIBOSP_NET,FUNCTIONPOINTER); \
-
 
 //Tizen Common Function
-#define AFTER_ORIGINAL_TIZEN_SOCK(APINAME, RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...)      \
-       POST_PROBEBLOCK_TIZEN_BEGIN(APINAME, LC_SOCKET, RTYPE, RVAL,    INPUTFORMAT, __VA_ARGS__);              \
-       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO );                                                            \
+#define AFTER_ORIGINAL_TIZEN_SOCK(APINAME, RTYPE, RVAL, OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...)     \
+       POST_PROBEBLOCK_TIZEN_BEGIN(APINAME, LC_SOCKET, RTYPE, RVAL, INPUTFORMAT, __VA_ARGS__);         \
+       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                                            \
        POST_PROBEBLOCK_END()
 
 // Tizen Start Function
-#define AFTER_ORIGINAL_TIZEN_SOCK_WAIT_FUNC_START(APINAME,RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...)       \
-       POST_PROBEBLOCK_TIZEN_FUNC_START_BEGIN(APINAME,LC_SOCKET, RTYPE, RVAL,  INPUTFORMAT, __VA_ARGS__);              \
-       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE,DESTINATIONINFO );                                                             \
-       APPEND_LOG_NULL_CALLSTACK();                                                                                                                                                            \
-       printLog(&log, MSG_LOG);                                                                                                                                                                                        \
+#define AFTER_ORIGINAL_TIZEN_SOCK_WAIT_FUNC_START(APINAME, RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...)      \
+       POST_PROBEBLOCK_TIZEN_FUNC_START_BEGIN(APINAME,LC_SOCKET, RTYPE, RVAL, INPUTFORMAT, __VA_ARGS__);               \
+       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                                            \
+       FLUSH_LOCAL_BUF();                                              \
        PRE_PROBEBLOCK_END();
 
 //Tizen END Function
-#define AFTER_ORIGINAL_TIZEN_SOCK_WAIT_FUNC_END(APINAME,RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE, DESTINATIONINFO, INPUTFORMAT, ...) \
-       POST_PROBEBLOCK_TIZEN_FUNC_END_BEGIN(APINAME,LC_SOCKET, RTYPE, RVAL,    INPUTFORMAT, __VA_ARGS__);              \
-       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, MESSAGE, BYTESIZE,DESTINATIONINFO );                                                             \
+#define AFTER_ORIGINAL_TIZEN_SOCK_WAIT_FUNC_END(APINAME,RTYPE, RVAL,OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO, INPUTFORMAT, ...) \
+       POST_PROBEBLOCK_TIZEN_FUNC_END_BEGIN(APINAME,LC_SOCKET, RTYPE, RVAL, INPUTFORMAT, __VA_ARGS__);         \
+       POST_PROBEBLOCK_MIDDLE_TIZEN_SOCK(OBJECTPTR, FDVALUE, APITYPE, TOTAL_INFO );                                                            \
        POST_PROBEBLOCK_END()
 
-#define POST_PROBEBLOCK_TIZEN_BEGIN(APINAME, LCTYPE, RETTYPE, RETVALUE, INPUTFORMAT, ...)      \
+#define POST_PROBEBLOCK_TIZEN_BEGIN(APINAME, LCTYPE, RTYPE, RETVALUE, INPUTFORMAT, ...)        \
        if(postBlockBegin(blockresult)) {                                                                               \
                PREPARE_LOCAL_BUF(); \
                PACK_COMMON_BEGIN(MSG_PROBE_NETWORK, vAPI_ID, INPUTFORMAT, __VA_ARGS__);\
-               PACK_COMMON_END(RETVALUE, errno, blockresult)
+               PACK_COMMON_END(RTYPE, RETVALUE, errno, blockresult)
 
 #define APPEND_NETWORK_LOG_BASIC(LCTYPE, APINAME)                                                              \
        log.length = sprintf(log.data, "%d`,%d`,%s`,%lu`,%d`,%d",       \
                        LCTYPE, probeInfo.eventIndex, APINAME,                          \
                        probeInfo.currentTime, probeInfo.pID, probeInfo.tID)
 
-#define POST_PROBEBLOCK_TIZEN_FUNC_START_BEGIN(APINAME, LCTYPE, RETTYPE, RETVALUE, INPUTFORMAT, ...)   \
+#define POST_PROBEBLOCK_TIZEN_FUNC_START_BEGIN(APINAME, LCTYPE, RTYPE, RETVALUE, INPUTFORMAT, ...)     \
                        if(postBlockBegin(blockresult)) {                                                                               \
                                PREPARE_LOCAL_BUF(); \
                                PACK_COMMON_BEGIN(MSG_PROBE_NETWORK, vAPI_ID, INPUTFORMAT, __VA_ARGS__);\
-                               PACK_COMMON_END(RETVALUE, errno, blockresult)
+                               PACK_COMMON_END(RTYPE, RETVALUE, errno, blockresult)
 
-#define POST_PROBEBLOCK_TIZEN_FUNC_END_BEGIN(APINAME, LCTYPE, RETTYPE, RETVALUE, INPUTFORMAT, ...)     \
+#define POST_PROBEBLOCK_TIZEN_FUNC_END_BEGIN(APINAME, LCTYPE, RTYPE, RETVALUE, INPUTFORMAT, ...)       \
        if(postBlockBegin(blockresult)) {                                                                               \
                setProbePoint(&probeInfo);                                                                              \
                PREPARE_LOCAL_BUF(); \
                PACK_COMMON_BEGIN(MSG_PROBE_NETWORK, vAPI_ID, INPUTFORMAT, __VA_ARGS__);\
-               PACK_COMMON_END(RETVALUE, errno, blockresult)
-
-#define APPEND_LOG_TIZEN_RESULT(RETTYPE, RETVALUE)                                                     \
-       __appendTypeLog(&log, 4, NULL, RETTYPE, RETVALUE, VT_INT, 0,            \
-                       VT_INT, newerrno, VT_INT, blockresult)
-
-#define BEFORE_ORIGINAL_SOCK(FUNCNAME, LIBNAME)        \
-       DECLARE_VARIABLE_STANDARD;      \
-       /*PREPARE_LOCAL_BUF();*/                        \
-       int32_t __attribute__((unused)) vAPI_ID = API_ID_ ## FUNCNAME; \
-       GET_REAL_FUNC(FUNCNAME, LIBNAME);               \
+               PACK_COMMON_END(RTYPE, RETVALUE, errno, blockresult)
+
+#define BEFORE_ORIGINAL_SOCK(FUNCNAME, LIBNAME)                                \
+       DECLARE_VARIABLE_STANDARD;                                      \
+       info_t info;                                                    \
+       INIT_INFO;                                                      \
+       int32_t __attribute__((unused)) vAPI_ID = API_ID_ ## FUNCNAME;  \
+       GET_REAL_FUNC(FUNCNAME, LIBNAME);                               \
        PRE_PROBEBLOCK()
 
 #endif // __DA_SOCKET_H__