TI's CC3100 host driver and demo. Experimental and a work in progress.

Dependencies:   mbed

Committer:
dflet
Date:
Wed Nov 19 23:04:04 2014 +0000
Revision:
2:a3e52cf86086
Parent:
0:bbe98578d4c0
Added more boards!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:bbe98578d4c0 1 /*
dflet 0:bbe98578d4c0 2 * nonos.h - CC31xx/CC32xx Host Driver Implementation
dflet 0:bbe98578d4c0 3 *
dflet 0:bbe98578d4c0 4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:bbe98578d4c0 5 *
dflet 0:bbe98578d4c0 6 *
dflet 0:bbe98578d4c0 7 * Redistribution and use in source and binary forms, with or without
dflet 0:bbe98578d4c0 8 * modification, are permitted provided that the following conditions
dflet 0:bbe98578d4c0 9 * are met:
dflet 0:bbe98578d4c0 10 *
dflet 0:bbe98578d4c0 11 * Redistributions of source code must retain the above copyright
dflet 0:bbe98578d4c0 12 * notice, this list of conditions and the following disclaimer.
dflet 0:bbe98578d4c0 13 *
dflet 0:bbe98578d4c0 14 * Redistributions in binary form must reproduce the above copyright
dflet 0:bbe98578d4c0 15 * notice, this list of conditions and the following disclaimer in the
dflet 0:bbe98578d4c0 16 * documentation and/or other materials provided with the
dflet 0:bbe98578d4c0 17 * distribution.
dflet 0:bbe98578d4c0 18 *
dflet 0:bbe98578d4c0 19 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:bbe98578d4c0 20 * its contributors may be used to endorse or promote products derived
dflet 0:bbe98578d4c0 21 * from this software without specific prior written permission.
dflet 0:bbe98578d4c0 22 *
dflet 0:bbe98578d4c0 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:bbe98578d4c0 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:bbe98578d4c0 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:bbe98578d4c0 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:bbe98578d4c0 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:bbe98578d4c0 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:bbe98578d4c0 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:bbe98578d4c0 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:bbe98578d4c0 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:bbe98578d4c0 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:bbe98578d4c0 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:bbe98578d4c0 34 *
dflet 0:bbe98578d4c0 35 */
dflet 0:bbe98578d4c0 36
dflet 0:bbe98578d4c0 37 #ifndef __NONOS_H__
dflet 0:bbe98578d4c0 38 #define __NONOS_H__
dflet 0:bbe98578d4c0 39
dflet 0:bbe98578d4c0 40 #ifdef __cplusplus
dflet 0:bbe98578d4c0 41 extern "C" {
dflet 0:bbe98578d4c0 42 #endif
dflet 0:bbe98578d4c0 43
dflet 0:bbe98578d4c0 44
dflet 0:bbe98578d4c0 45 #ifndef SL_PLATFORM_MULTI_THREADED
dflet 0:bbe98578d4c0 46
dflet 0:bbe98578d4c0 47 /* This function call the user defined function, if defined, from the sync wait loop */
dflet 0:bbe98578d4c0 48 /* The use case of this function is to allow nonos system to call a user function to put the device into sleep */
dflet 0:bbe98578d4c0 49 /* The wake up should be activated after getting an interrupt from the device to Host */
dflet 0:bbe98578d4c0 50 /* The user function must return without blocking to prevent a delay on the event handling */
dflet 0:bbe98578d4c0 51 /*
dflet 0:bbe98578d4c0 52 #define _SlSyncWaitLoopCallback UserSleepFunction
dflet 0:bbe98578d4c0 53 */
dflet 0:bbe98578d4c0 54
dflet 0:bbe98578d4c0 55
dflet 0:bbe98578d4c0 56
dflet 0:bbe98578d4c0 57 #define NONOS_WAIT_FOREVER 0xFF
dflet 0:bbe98578d4c0 58 #define NONOS_NO_WAIT 0x01
dflet 0:bbe98578d4c0 59
dflet 0:bbe98578d4c0 60 #define NONOS_RET_OK (0)
dflet 0:bbe98578d4c0 61 #define NONOS_RET_ERR (0xFF)
dflet 0:bbe98578d4c0 62 #define OSI_OK NONOS_RET_OK
dflet 0:bbe98578d4c0 63
dflet 0:bbe98578d4c0 64 #define __NON_OS_SYNC_OBJ_CLEAR_VALUE 0x11
dflet 0:bbe98578d4c0 65 #define __NON_OS_SYNC_OBJ_SIGNAL_VALUE 0x22
dflet 0:bbe98578d4c0 66 #define __NON_OS_LOCK_OBJ_UNLOCK_VALUE 0x33
dflet 0:bbe98578d4c0 67 #define __NON_OS_LOCK_OBJ_LOCK_VALUE 0x44
dflet 0:bbe98578d4c0 68
dflet 0:bbe98578d4c0 69 /*!
dflet 0:bbe98578d4c0 70 \brief type definition for the return values of this adaptation layer
dflet 0:bbe98578d4c0 71 */
dflet 0:bbe98578d4c0 72 typedef _i8 _SlNonOsRetVal_t;
dflet 0:bbe98578d4c0 73
dflet 0:bbe98578d4c0 74 /*!
dflet 0:bbe98578d4c0 75 \brief type definition for a time value
dflet 0:bbe98578d4c0 76 */
dflet 0:bbe98578d4c0 77 typedef _u8 _SlNonOsTime_t;
dflet 0:bbe98578d4c0 78
dflet 0:bbe98578d4c0 79 /*!
dflet 0:bbe98578d4c0 80 \brief type definition for a sync object container
dflet 0:bbe98578d4c0 81
dflet 0:bbe98578d4c0 82 Sync object is object used to synchronize between two threads or thread and interrupt handler.
dflet 0:bbe98578d4c0 83 One thread is waiting on the object and the other thread send a signal, which then
dflet 0:bbe98578d4c0 84 release the waiting thread.
dflet 0:bbe98578d4c0 85 The signal must be able to be sent from interrupt context.
dflet 0:bbe98578d4c0 86 This object is generally implemented by binary semaphore or events.
dflet 0:bbe98578d4c0 87 */
dflet 0:bbe98578d4c0 88 typedef _u8 _SlNonOsSemObj_t;
dflet 0:bbe98578d4c0 89
dflet 0:bbe98578d4c0 90
dflet 0:bbe98578d4c0 91 #define _SlTime_t _SlNonOsTime_t
dflet 0:bbe98578d4c0 92
dflet 0:bbe98578d4c0 93 #define _SlSyncObj_t _SlNonOsSemObj_t
dflet 0:bbe98578d4c0 94
dflet 0:bbe98578d4c0 95 #define _SlLockObj_t _SlNonOsSemObj_t
dflet 0:bbe98578d4c0 96
dflet 0:bbe98578d4c0 97 #define SL_OS_WAIT_FOREVER NONOS_WAIT_FOREVER
dflet 0:bbe98578d4c0 98
dflet 0:bbe98578d4c0 99 #define SL_OS_RET_CODE_OK NONOS_RET_OK
dflet 0:bbe98578d4c0 100
dflet 0:bbe98578d4c0 101 #define SL_OS_NO_WAIT NONOS_NO_WAIT
dflet 0:bbe98578d4c0 102
dflet 0:bbe98578d4c0 103
dflet 0:bbe98578d4c0 104
dflet 0:bbe98578d4c0 105
dflet 0:bbe98578d4c0 106
dflet 0:bbe98578d4c0 107 /*!
dflet 0:bbe98578d4c0 108 \brief This function creates a sync object
dflet 0:bbe98578d4c0 109
dflet 0:bbe98578d4c0 110 The sync object is used for synchronization between different thread or ISR and
dflet 0:bbe98578d4c0 111 a thread.
dflet 0:bbe98578d4c0 112
dflet 0:bbe98578d4c0 113 \param pSyncObj - pointer to the sync object control block
dflet 0:bbe98578d4c0 114
dflet 0:bbe98578d4c0 115 \return upon successful creation the function return 0
dflet 0:bbe98578d4c0 116 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 117 \note
dflet 0:bbe98578d4c0 118 \warning
dflet 0:bbe98578d4c0 119 */
dflet 0:bbe98578d4c0 120 #define _SlNonOsSyncObjCreate(pSyncObj) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 0:bbe98578d4c0 121
dflet 0:bbe98578d4c0 122 /*!
dflet 0:bbe98578d4c0 123 \brief This function deletes a sync object
dflet 0:bbe98578d4c0 124
dflet 0:bbe98578d4c0 125 \param pSyncObj - pointer to the sync object control block
dflet 0:bbe98578d4c0 126
dflet 0:bbe98578d4c0 127 \return upon successful deletion the function should return 0
dflet 0:bbe98578d4c0 128 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 129 \note
dflet 0:bbe98578d4c0 130 \warning
dflet 0:bbe98578d4c0 131 */
dflet 0:bbe98578d4c0 132 #define _SlNonOsSyncObjDelete(pSyncObj) _SlNonOsSemSet(pSyncObj,0)
dflet 0:bbe98578d4c0 133
dflet 0:bbe98578d4c0 134 /*!
dflet 0:bbe98578d4c0 135 \brief This function generates a sync signal for the object.
dflet 0:bbe98578d4c0 136
dflet 0:bbe98578d4c0 137 All suspended threads waiting on this sync object are resumed
dflet 0:bbe98578d4c0 138
dflet 0:bbe98578d4c0 139 \param pSyncObj - pointer to the sync object control block
dflet 0:bbe98578d4c0 140
dflet 0:bbe98578d4c0 141 \return upon successful signaling the function should return 0
dflet 0:bbe98578d4c0 142 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 143 \note the function could be called from ISR context
dflet 0:bbe98578d4c0 144 \warning
dflet 0:bbe98578d4c0 145 */
dflet 0:bbe98578d4c0 146 #define _SlNonOsSyncObjSignal(pSyncObj) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_SIGNAL_VALUE)
dflet 0:bbe98578d4c0 147
dflet 0:bbe98578d4c0 148 /*!
dflet 0:bbe98578d4c0 149 \brief This function waits for a sync signal of the specific sync object
dflet 0:bbe98578d4c0 150
dflet 0:bbe98578d4c0 151 \param pSyncObj - pointer to the sync object control block
dflet 0:bbe98578d4c0 152 \param Timeout - numeric value specifies the maximum number of mSec to
dflet 0:bbe98578d4c0 153 stay suspended while waiting for the sync signal
dflet 0:bbe98578d4c0 154 Currently, the simple link driver uses only two values:
dflet 0:bbe98578d4c0 155 - NONOS_WAIT_FOREVER
dflet 0:bbe98578d4c0 156 - NONOS_NO_WAIT
dflet 0:bbe98578d4c0 157
dflet 0:bbe98578d4c0 158 \return upon successful reception of the signal within the timeout window return 0
dflet 0:bbe98578d4c0 159 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 160 \note
dflet 0:bbe98578d4c0 161 \warning
dflet 0:bbe98578d4c0 162 */
dflet 0:bbe98578d4c0 163 #define _SlNonOsSyncObjWait(pSyncObj , Timeout) _SlNonOsSemGet(pSyncObj,__NON_OS_SYNC_OBJ_SIGNAL_VALUE,__NON_OS_SYNC_OBJ_CLEAR_VALUE,Timeout)
dflet 0:bbe98578d4c0 164
dflet 0:bbe98578d4c0 165 /*!
dflet 0:bbe98578d4c0 166 \brief This function clears a sync object
dflet 0:bbe98578d4c0 167
dflet 0:bbe98578d4c0 168 \param pSyncObj - pointer to the sync object control block
dflet 0:bbe98578d4c0 169
dflet 0:bbe98578d4c0 170 \return upon successful clearing the function should return 0
dflet 0:bbe98578d4c0 171 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 172 \note
dflet 0:bbe98578d4c0 173 \warning
dflet 0:bbe98578d4c0 174 */
dflet 0:bbe98578d4c0 175 #define _SlNonOsSyncObjClear(pSyncObj) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 0:bbe98578d4c0 176
dflet 0:bbe98578d4c0 177 /*!
dflet 0:bbe98578d4c0 178 \brief This function creates a locking object.
dflet 0:bbe98578d4c0 179
dflet 0:bbe98578d4c0 180 The locking object is used for protecting a shared resources between different
dflet 0:bbe98578d4c0 181 threads.
dflet 0:bbe98578d4c0 182
dflet 0:bbe98578d4c0 183 \param pLockObj - pointer to the locking object control block
dflet 0:bbe98578d4c0 184
dflet 0:bbe98578d4c0 185 \return upon successful creation the function should return 0
dflet 0:bbe98578d4c0 186 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 187 \note
dflet 0:bbe98578d4c0 188 \warning
dflet 0:bbe98578d4c0 189 */
dflet 0:bbe98578d4c0 190 #define _SlNonOsLockObjCreate(pLockObj) _SlNonOsSemSet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 0:bbe98578d4c0 191
dflet 0:bbe98578d4c0 192 /*!
dflet 0:bbe98578d4c0 193 \brief This function deletes a locking object.
dflet 0:bbe98578d4c0 194
dflet 0:bbe98578d4c0 195 \param pLockObj - pointer to the locking object control block
dflet 0:bbe98578d4c0 196
dflet 0:bbe98578d4c0 197 \return upon successful deletion the function should return 0
dflet 0:bbe98578d4c0 198 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 199 \note
dflet 0:bbe98578d4c0 200 \warning
dflet 0:bbe98578d4c0 201 */
dflet 0:bbe98578d4c0 202 #define _SlNonOsLockObjDelete(pLockObj) _SlNonOsSemSet(pLockObj,0)
dflet 0:bbe98578d4c0 203
dflet 0:bbe98578d4c0 204 /*!
dflet 0:bbe98578d4c0 205 \brief This function locks a locking object.
dflet 0:bbe98578d4c0 206
dflet 0:bbe98578d4c0 207 All other threads that call this function before this thread calls
dflet 0:bbe98578d4c0 208 the _SlNonOsLockObjUnlock would be suspended
dflet 0:bbe98578d4c0 209
dflet 0:bbe98578d4c0 210 \param pLockObj - pointer to the locking object control block
dflet 0:bbe98578d4c0 211 \param Timeout - numeric value specifies the maximum number of mSec to
dflet 0:bbe98578d4c0 212 stay suspended while waiting for the locking object
dflet 0:bbe98578d4c0 213 Currently, the simple link driver uses only two values:
dflet 0:bbe98578d4c0 214 - NONOS_WAIT_FOREVER
dflet 0:bbe98578d4c0 215 - NONOS_NO_WAIT
dflet 0:bbe98578d4c0 216
dflet 0:bbe98578d4c0 217
dflet 0:bbe98578d4c0 218 \return upon successful reception of the locking object the function should return 0
dflet 0:bbe98578d4c0 219 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 220 \note
dflet 0:bbe98578d4c0 221 \warning
dflet 0:bbe98578d4c0 222 */
dflet 0:bbe98578d4c0 223 #define _SlNonOsLockObjLock(pLockObj , Timeout) _SlNonOsSemGet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE,__NON_OS_LOCK_OBJ_LOCK_VALUE,Timeout)
dflet 0:bbe98578d4c0 224
dflet 0:bbe98578d4c0 225 /*!
dflet 0:bbe98578d4c0 226 \brief This function unlock a locking object.
dflet 0:bbe98578d4c0 227
dflet 0:bbe98578d4c0 228 \param pLockObj - pointer to the locking object control block
dflet 0:bbe98578d4c0 229
dflet 0:bbe98578d4c0 230 \return upon successful unlocking the function should return 0
dflet 0:bbe98578d4c0 231 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 232 \note
dflet 0:bbe98578d4c0 233 \warning
dflet 0:bbe98578d4c0 234 */
dflet 0:bbe98578d4c0 235 #define _SlNonOsLockObjUnlock(pLockObj) _SlNonOsSemSet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 0:bbe98578d4c0 236
dflet 0:bbe98578d4c0 237
dflet 0:bbe98578d4c0 238 /*!
dflet 0:bbe98578d4c0 239 \brief This function call the pEntry callback from a different context
dflet 0:bbe98578d4c0 240
dflet 0:bbe98578d4c0 241 \param pEntry - pointer to the entry callback function
dflet 0:bbe98578d4c0 242
dflet 0:bbe98578d4c0 243 \param pValue - pointer to any type of memory structure that would be
dflet 0:bbe98578d4c0 244 passed to pEntry callback from the execution thread.
dflet 0:bbe98578d4c0 245
dflet 0:bbe98578d4c0 246 \param flags - execution flags - reserved for future usage
dflet 0:bbe98578d4c0 247
dflet 0:bbe98578d4c0 248 \return upon successful registration of the spawn the function return 0
dflet 0:bbe98578d4c0 249 (the function is not blocked till the end of the execution of the function
dflet 0:bbe98578d4c0 250 and could be returned before the execution is actually completed)
dflet 0:bbe98578d4c0 251 Otherwise, a negative value indicating the error code shall be returned
dflet 0:bbe98578d4c0 252 \note
dflet 0:bbe98578d4c0 253 \warning
dflet 0:bbe98578d4c0 254 */
dflet 0:bbe98578d4c0 255 _SlNonOsRetVal_t _SlNonOsSpawn(_SlSpawnEntryFunc_t pEntry , void* pValue , _u32 flags);
dflet 0:bbe98578d4c0 256
dflet 0:bbe98578d4c0 257
dflet 0:bbe98578d4c0 258 /*!
dflet 0:bbe98578d4c0 259 \brief This function must be called from the main loop in non-os paltforms
dflet 0:bbe98578d4c0 260
dflet 0:bbe98578d4c0 261 \param None
dflet 0:bbe98578d4c0 262
dflet 0:bbe98578d4c0 263 \return 0 - No more activities
dflet 0:bbe98578d4c0 264 1 - Activity still in progress
dflet 0:bbe98578d4c0 265 \note
dflet 0:bbe98578d4c0 266 \warning
dflet 0:bbe98578d4c0 267 */
dflet 0:bbe98578d4c0 268 _SlNonOsRetVal_t _SlNonOsMainLoopTask(void);
dflet 0:bbe98578d4c0 269
dflet 0:bbe98578d4c0 270 extern _SlNonOsRetVal_t _SlNonOsSemGet(_SlNonOsSemObj_t* pSyncObj, _SlNonOsSemObj_t WaitValue, _SlNonOsSemObj_t SetValue, _SlNonOsTime_t Timeout);
dflet 0:bbe98578d4c0 271 extern _SlNonOsRetVal_t _SlNonOsSemSet(_SlNonOsSemObj_t* pSemObj , _SlNonOsSemObj_t Value);
dflet 0:bbe98578d4c0 272 extern _SlNonOsRetVal_t _SlNonOsSpawn(_SlSpawnEntryFunc_t pEntry , void* pValue , _u32 flags);
dflet 0:bbe98578d4c0 273
dflet 0:bbe98578d4c0 274 #if (defined(_SlSyncWaitLoopCallback))
dflet 0:bbe98578d4c0 275 extern void _SlSyncWaitLoopCallback(void);
dflet 0:bbe98578d4c0 276 #endif
dflet 0:bbe98578d4c0 277
dflet 0:bbe98578d4c0 278
dflet 0:bbe98578d4c0 279 /*****************************************************************************
dflet 0:bbe98578d4c0 280
dflet 0:bbe98578d4c0 281 Overwrite SimpleLink driver OS adaptation functions
dflet 0:bbe98578d4c0 282
dflet 0:bbe98578d4c0 283
dflet 0:bbe98578d4c0 284 *****************************************************************************/
dflet 0:bbe98578d4c0 285
dflet 0:bbe98578d4c0 286 #undef sl_SyncObjCreate
dflet 0:bbe98578d4c0 287 #define sl_SyncObjCreate(pSyncObj,pName) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_CLEAR_VALUE)
dflet 0:bbe98578d4c0 288
dflet 0:bbe98578d4c0 289 #undef sl_SyncObjDelete
dflet 0:bbe98578d4c0 290 #define sl_SyncObjDelete(pSyncObj) _SlNonOsSemSet(pSyncObj,0)
dflet 0:bbe98578d4c0 291
dflet 0:bbe98578d4c0 292 #undef sl_SyncObjSignal
dflet 0:bbe98578d4c0 293 #define sl_SyncObjSignal(pSyncObj) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_SIGNAL_VALUE)
dflet 0:bbe98578d4c0 294
dflet 0:bbe98578d4c0 295 #undef sl_SyncObjSignalFromIRQ
dflet 0:bbe98578d4c0 296 #define sl_SyncObjSignalFromIRQ(pSyncObj) _SlNonOsSemSet(pSyncObj,__NON_OS_SYNC_OBJ_SIGNAL_VALUE)
dflet 0:bbe98578d4c0 297
dflet 0:bbe98578d4c0 298 #undef sl_SyncObjWait
dflet 0:bbe98578d4c0 299 #define sl_SyncObjWait(pSyncObj,Timeout) _SlNonOsSemGet(pSyncObj,__NON_OS_SYNC_OBJ_SIGNAL_VALUE,__NON_OS_SYNC_OBJ_CLEAR_VALUE,Timeout)
dflet 0:bbe98578d4c0 300
dflet 0:bbe98578d4c0 301 #undef sl_LockObjCreate
dflet 0:bbe98578d4c0 302 #define sl_LockObjCreate(pLockObj,pName) _SlNonOsSemSet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 0:bbe98578d4c0 303
dflet 0:bbe98578d4c0 304 #undef sl_LockObjDelete
dflet 0:bbe98578d4c0 305 #define sl_LockObjDelete(pLockObj) _SlNonOsSemSet(pLockObj,0)
dflet 0:bbe98578d4c0 306
dflet 0:bbe98578d4c0 307 #undef sl_LockObjLock
dflet 0:bbe98578d4c0 308 #define sl_LockObjLock(pLockObj,Timeout) _SlNonOsSemGet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE,__NON_OS_LOCK_OBJ_LOCK_VALUE,Timeout)
dflet 0:bbe98578d4c0 309
dflet 0:bbe98578d4c0 310 #undef sl_LockObjUnlock
dflet 0:bbe98578d4c0 311 #define sl_LockObjUnlock(pLockObj) _SlNonOsSemSet(pLockObj,__NON_OS_LOCK_OBJ_UNLOCK_VALUE)
dflet 0:bbe98578d4c0 312
dflet 0:bbe98578d4c0 313 #undef sl_Spawn
dflet 0:bbe98578d4c0 314 #define sl_Spawn(pEntry,pValue,flags) _SlNonOsSpawn(pEntry,pValue,flags)
dflet 0:bbe98578d4c0 315
dflet 0:bbe98578d4c0 316 #undef _SlTaskEntry
dflet 0:bbe98578d4c0 317 #define _SlTaskEntry _SlNonOsMainLoopTask
dflet 0:bbe98578d4c0 318
dflet 0:bbe98578d4c0 319 #endif /* !SL_PLATFORM_MULTI_THREADED */
dflet 0:bbe98578d4c0 320
dflet 0:bbe98578d4c0 321 #ifdef __cplusplus
dflet 0:bbe98578d4c0 322 }
dflet 0:bbe98578d4c0 323 #endif /* __cplusplus */
dflet 0:bbe98578d4c0 324
dflet 0:bbe98578d4c0 325 #endif
dflet 0:bbe98578d4c0 326