Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / lwip / standalone / arch / sys_arch.h
1 /*
2  *
3  *    Copyright (c) 2020 Project CHIP Authors
4  *    Copyright (c) 2014-2017 Nest Labs, Inc.
5  *    Copyright (c) 2001-2003 Swedish Institute of Computer Science.
6  *    All rights reserved.
7  *
8  *    Licensed under the Apache License, Version 2.0 (the "License");
9  *    you may not use this file except in compliance with the License.
10  *    You may obtain a copy of the License at
11  *
12  *        http://www.apache.org/licenses/LICENSE-2.0
13  *
14  *    Unless required by applicable law or agreed to in writing, software
15  *    distributed under the License is distributed on an "AS IS" BASIS,
16  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  *    See the License for the specific language governing permissions and
18  *    limitations under the License.
19  */
20
21 /*
22  * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
23  * All rights reserved.
24  *
25  * Redistribution and use in source and binary forms, with or without modification,
26  * are permitted provided that the following conditions are met:
27  *
28  * 1. Redistributions of source code must retain the above copyright notice,
29  *    this list of conditions and the following disclaimer.
30  * 2. Redistributions in binary form must reproduce the above copyright notice,
31  *    this list of conditions and the following disclaimer in the documentation
32  *    and/or other materials provided with the distribution.
33  * 3. The name of the author may not be used to endorse or promote products
34  *    derived from this software without specific prior written permission.
35  *
36  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
38  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
39  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
40  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
41  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
42  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
43  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
44  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
45  * OF SUCH DAMAGE.
46  *
47  * This file is part of the lwIP TCP/IP stack.
48  *
49  * Author: Adam Dunkels <adam@sics.se>
50  *
51  */
52 #ifndef __ARCH_SYS_ARCH_H__
53 #define __ARCH_SYS_ARCH_H__
54
55 #include <errno.h>
56
57 #define SYS_MBOX_NULL NULL
58 #define SYS_SEM_NULL NULL
59
60 typedef u32_t sys_prot_t;
61
62 struct sys_sem;
63 typedef struct sys_sem * sys_sem_t;
64 #define sys_sem_valid(sem) (((sem) != NULL) && (*(sem) != NULL))
65 #define sys_sem_set_invalid(sem)                                                                                                   \
66     do                                                                                                                             \
67     {                                                                                                                              \
68         if ((sem) != NULL)                                                                                                         \
69         {                                                                                                                          \
70             *(sem) = NULL;                                                                                                         \
71         }                                                                                                                          \
72     } while (0)
73
74 struct sys_mbox;
75 typedef struct sys_mbox * sys_mbox_t;
76 #define sys_mbox_valid(mbox) (((mbox) != NULL) && (*(mbox) != NULL))
77 #define sys_mbox_set_invalid(mbox)                                                                                                 \
78     do                                                                                                                             \
79     {                                                                                                                              \
80         if ((mbox) != NULL)                                                                                                        \
81         {                                                                                                                          \
82             *(mbox) = NULL;                                                                                                        \
83         }                                                                                                                          \
84     } while (0)
85
86 struct sys_thread;
87 typedef struct sys_thread * sys_thread_t;
88
89 #endif /* __ARCH_SYS_ARCH_H__ */