Merge branch 'tizen' into tizen_5.5
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / tcp_adapter / catcpserver_mutex.h
1 /* ****************************************************************
2 *
3 * Copyright 2019 Samsung Electronics All Rights Reserved.
4 *
5 *
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *      http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 ******************************************************************/
20
21 #ifndef CA_TCP_SERVER_MUTEX_H_
22 #define CA_TCP_SERVER_MUTEX_H_
23
24 #include "octhread.h"
25 #include "oic_malloc.h"
26 #include "oic_string.h"
27 #include "catcpinterface.h"
28 #include "caipnwmonitor.h"
29 #include <coap/pdu.h>
30 #include "caadapterutils.h"
31
32 /**
33  * Mutex to synchronize device object list.
34  */
35 extern oc_mutex g_mutexObjectList;
36
37 /**
38  * Conditional mutex to synchronize.
39  */
40 extern oc_cond g_condObjectList;
41
42 /**
43  * Mutex to synchronize send.
44  */
45 extern oc_mutex g_mutexSend;
46
47 /**
48  * Conditional mutex to synchronize send.
49  */
50 extern oc_cond g_condSend;
51
52 void CATCPDestroyMutex();
53
54 CAResult_t CATCPCreateMutex();
55
56 void CATCPDestroyCond();
57
58 CAResult_t CATCPCreateCond();
59
60 void CATCPDestroySendMutex();
61
62 CAResult_t CATCPCreateSendMutex();
63
64 void CATCPDestroySendCond();
65
66 CAResult_t CATCPCreateSendCond();
67
68 #endif