This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

Committer:
furutani
Date:
Fri Feb 24 04:43:41 2017 +0000
Revision:
115:fa79286d8ea4
Parent:
41:2389bd6b6f74
Delete missing include line.; Add parameter "timeout" to TCPSocket::connect(), precv().; Fix to send ARP request to default gateway when connecting to IP address of different segment.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 0:142ee8b12fef 1 /*********************************************************************************
nyatla 0:142ee8b12fef 2 * PROJECT: MiMic
nyatla 0:142ee8b12fef 3 * --------------------------------------------------------------------------------
nyatla 0:142ee8b12fef 4 *
nyatla 0:142ee8b12fef 5 * This file is part of MiMic
nyatla 0:142ee8b12fef 6 * Copyright (C)2011 Ryo Iizuka
nyatla 0:142ee8b12fef 7 *
nyatla 0:142ee8b12fef 8 * MiMic is free software: you can redistribute it and/or modify
nyatla 0:142ee8b12fef 9 * it under the terms of the GNU Lesser General Public License as published
nyatla 0:142ee8b12fef 10 * by the Free Software Foundation, either version 3 of the License, or
nyatla 0:142ee8b12fef 11 * (at your option) any later version.
nyatla 0:142ee8b12fef 12 *
nyatla 0:142ee8b12fef 13 * This program is distributed in the hope that it will be useful,
nyatla 0:142ee8b12fef 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nyatla 0:142ee8b12fef 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nyatla 0:142ee8b12fef 16 * GNU General Public License for more details.
nyatla 0:142ee8b12fef 17 *
nyatla 0:142ee8b12fef 18 * You should have received a copy of the GNU Lesser General Public License
nyatla 0:142ee8b12fef 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
nyatla 0:142ee8b12fef 20 *
nyatla 0:142ee8b12fef 21 * For further information please contact.
nyatla 0:142ee8b12fef 22 * http://nyatla.jp/
nyatla 0:142ee8b12fef 23 * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>
nyatla 0:142ee8b12fef 24 *
nyatla 0:142ee8b12fef 25 *********************************************************************************/
nyatla 0:142ee8b12fef 26 #ifndef NYLPC_CMUTEX_H_
nyatla 0:142ee8b12fef 27 #define NYLPC_CMUTEX_H_
nyatla 0:142ee8b12fef 28 ////////////////////////////////////////////////////////////////////////////////
nyatla 0:142ee8b12fef 29 // Include
nyatla 0:142ee8b12fef 30 ////////////////////////////////////////////////////////////////////////////////
nyatla 0:142ee8b12fef 31 #include "NyLPC_stdlib.h"
nyatla 0:142ee8b12fef 32 #if NyLPC_ARCH==NyLPC_ARCH_FREERTOS
nyatla 0:142ee8b12fef 33 #include "FreeRTOS.h"
nyatla 0:142ee8b12fef 34 #include "queue.h"
nyatla 0:142ee8b12fef 35 #include "semphr.h"
nyatla 0:142ee8b12fef 36 #elif NyLPC_ARCH==NyLPC_ARCH_MBEDRTOS
nyatla 41:2389bd6b6f74 37 #elif NyLPC_ARCH==NyLPC_ARCH_WIN32
nyatla 41:2389bd6b6f74 38 //not implemented!
nyatla 0:142ee8b12fef 39 #else
nyatla 0:142ee8b12fef 40 #error Bad NyLPC_ARCH!
nyatla 0:142ee8b12fef 41 #endif
nyatla 0:142ee8b12fef 42
nyatla 0:142ee8b12fef 43 #ifdef __cplusplus
nyatla 0:142ee8b12fef 44 extern "C" {
nyatla 0:142ee8b12fef 45 #endif /* __cplusplus */
nyatla 0:142ee8b12fef 46
nyatla 0:142ee8b12fef 47 /**********************************************************************
nyatla 0:142ee8b12fef 48 *
nyatla 0:142ee8b12fef 49 * NyLPC_TcMutex class
nyatla 0:142ee8b12fef 50 *
nyatla 0:142ee8b12fef 51 **********************************************************************/
nyatla 0:142ee8b12fef 52 typedef struct NyLPC_TcMutex NyLPC_TcMutex_t;
nyatla 0:142ee8b12fef 53
nyatla 0:142ee8b12fef 54 #if NyLPC_ARCH==NyLPC_ARCH_FREERTOS
nyatla 0:142ee8b12fef 55
nyatla 0:142ee8b12fef 56 struct NyLPC_TcMutex
nyatla 0:142ee8b12fef 57 {
nyatla 0:142ee8b12fef 58 xQueueHandle _mutex;
nyatla 0:142ee8b12fef 59 NyLPC_TUInt8 _lock_count;
nyatla 0:142ee8b12fef 60 };
nyatla 0:142ee8b12fef 61 #elif NyLPC_ARCH==NyLPC_ARCH_MBEDRTOS
nyatla 0:142ee8b12fef 62 struct NyLPC_TcMutex
nyatla 0:142ee8b12fef 63 {
nyatla 11:c82a7b2899b0 64 void* _mutex;//rtos::Mutex*
nyatla 0:142ee8b12fef 65 NyLPC_TUInt8 _lock_count;
nyatla 0:142ee8b12fef 66 };
nyatla 41:2389bd6b6f74 67 #elif NyLPC_ARCH==NyLPC_ARCH_WIN32
nyatla 41:2389bd6b6f74 68 //not work!
nyatla 41:2389bd6b6f74 69 struct NyLPC_TcMutex
nyatla 41:2389bd6b6f74 70 {
nyatla 41:2389bd6b6f74 71 int dummy;
nyatla 41:2389bd6b6f74 72 };
nyatla 0:142ee8b12fef 73 #endif
nyatla 0:142ee8b12fef 74
nyatla 0:142ee8b12fef 75 NyLPC_TBool NyLPC_cMutex_initialize(NyLPC_TcMutex_t* i_inst);
nyatla 0:142ee8b12fef 76
nyatla 0:142ee8b12fef 77 NyLPC_TBool NyLPC_cMutex_lock(NyLPC_TcMutex_t* i_inst);
nyatla 0:142ee8b12fef 78
nyatla 0:142ee8b12fef 79 NyLPC_TBool NyLPC_cMutex_unlock(NyLPC_TcMutex_t* i_inst);
nyatla 0:142ee8b12fef 80
nyatla 37:fc4b4fd6a649 81 #define NyLPC_cMutex_isLocked(i_inst) ((i_inst)->_lock_count>0)
nyatla 0:142ee8b12fef 82 #define NyLPC_cMutex_finalize(i_inst)
nyatla 0:142ee8b12fef 83
nyatla 0:142ee8b12fef 84 #ifdef __cplusplus
nyatla 0:142ee8b12fef 85 }
nyatla 0:142ee8b12fef 86 #endif /* __cplusplus */
nyatla 0:142ee8b12fef 87
nyatla 0:142ee8b12fef 88 #endif /* NYLPC_CMUTEX_H_ */