Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / examples / common / m5stack-tft / repo / components / spiffs / mutex.h
1 /*
2  * Lua RTOS, mutex api implementation over FreeRTOS
3  *
4  * Copyright (C) 2015 - 2017
5  * IBEROXARXA SERVICIOS INTEGRALES, S.L. & CSS IBÉRICA, S.L.
6  * 
7  * Author: Jaume Olivé (jolive@iberoxarxa.com / jolive@whitecatboard.org)
8  * 
9  * All rights reserved.  
10  *
11  * Permission to use, copy, modify, and distribute this software
12  * and its documentation for any purpose and without fee is hereby
13  * granted, provided that the above copyright notice appear in all
14  * copies and that both that the copyright notice and this
15  * permission notice and warranty disclaimer appear in supporting
16  * documentation, and that the name of the author not be used in
17  * advertising or publicity pertaining to distribution of the
18  * software without specific, written prior permission.
19  *
20  * The author disclaim all warranties with regard to this
21  * software, including all implied warranties of merchantability
22  * and fitness.  In no event shall the author be liable for any
23  * special, indirect or consequential damages or any damages
24  * whatsoever resulting from loss of use, data or profits, whether
25  * in an action of contract, negligence or other tortious action,
26  * arising out of or in connection with the use or performance of
27  * this software.
28  *
29  * Modified by: LoBo (loboris@gmail.com / https://github.com/loboris)
30  *
31  */
32
33 #ifndef MUTEX_H_H
34 #define MUTEX_H_H
35
36 #include "freertos/FreeRTOS.h"
37 #include "freertos/semphr.h"
38
39 #define MUTEX_INITIALIZER {.sem = 0}
40
41 struct mtx {
42     SemaphoreHandle_t sem;
43 };
44
45
46 void mtx_init(struct mtx *mutex, const char *name, const char *type, int opts);
47 void mtx_lock(struct mtx *mutex);
48 int  mtx_trylock(struct mtx *mutex);
49 void mtx_unlock(struct mtx *mutex);
50 void mtx_destroy(struct mtx *mutex);
51
52 #endif  /* MUTEX_H_H */
53