tizen 2.3 release
[framework/connectivity/multirat.git] / include / multirat_multisocket.h
1 #ifndef MULTISOCKET_H_
2 #define MULTISOCKET_H_
3
4 #include "multirat_SB_http.h"
5
6 /**
7  * @brief                            multisocket initialization
8  * @param[in]           objmsInput   multisocket object input
9  * @param[in]           objConn      objectConnection
10  * @param[in]           SBData       SmartBonding Data
11  * @retval                           void
12  */
13 void multisocket_init(MultiSockInput *mSockInput, SmartBondingData *SBData);
14
15 /**
16  * @brief                           start multi socket thread
17  * @param[in]           msocket     multisocket object
18  * @return                      status if multisocket has started
19  * @retval              0           multisocket has started
20  * @retval              1           multisocket has not started
21  */
22
23 uint32 multisocket_start(SmartBondingData *SBData);
24
25 /**
26  * @brief                            read from multi_socket
27  * @param[in]           appBuff      application buffer
28  * @param[in]           maxAppLen    max application bufferlength
29  * @param[in]           msocket      multisocket object
30  * @return                       length of response read
31  */
32
33 int32 multisocket_read(int8 *appBuff,uint32 maxAppLen, SmartBondingData *SBData);
34
35 /**
36  * @brief                           read from multisocket during sync operation
37  * @param[in]           appBuff     application buffer
38  * @param[in]           maxAppLen   max application buffer length
39  * @param[in]           msocket     multisocket object
40  * @return                          length of response read
41  */
42
43 int32 multisocket_read_sync(int8 *appBuff, uint32 maxAppLen, SmartBondingData *SBData);
44
45 /**
46  * @brief                            exitfrom multisocket
47  * @param[in]           msocket      multisocket object
48  * @return                                void
49  */
50 void multisocket_exit(MultiSocket *msocket);
51 /**
52  * @brief                            get first range request from multisocket
53  * @param[in]           msocket      multisocket object
54  * @return                           first response status
55  * @retval              -2           first response status pending
56  * @retval              -1           first response status failed
57  * @retval              0            first response status success
58  */
59 int32 multisocket_get_firstrange_status(MultiSocket *msocket);
60
61 int32 read_from_buffer(SmartBondingData *SBData,int8 *buffer, uint32 size, int32 *my_nread);
62
63 uint32 is_multirat_read(SmartBondingData *SBData);
64 #endif /* MULTISOCKET_H_ */
65