/* * FreeRTOS Kernel <DEVELOPMENT BRANCH> * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: MIT * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Software, and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * https://www.FreeRTOS.org * https://github.com/FreeRTOS * *//* ... */#ifndefPROJDEFS_H#definePROJDEFS_H/* * Defines the prototype to which task functions must conform. Defined in this * file to ensure the type is known before portable.h is included. *//* ... */typedefvoid(*TaskFunction_t)(void*arg);/* Converts a time in milliseconds to a time in ticks. This macro can be * overridden by a macro of the same name defined in FreeRTOSConfig.h in case the * definition here is not suitable for your application. *//* ... */#ifndefpdMS_TO_TICKS#definepdMS_TO_TICKS(xTimeInMs)((TickType_t)(((uint64_t)(xTimeInMs)*(uint64_t)configTICK_RATE_HZ)/(uint64_t)1000U))#endif/* Converts a time in ticks to a time in milliseconds. This macro can be * overridden by a macro of the same name defined in FreeRTOSConfig.h in case the * definition here is not suitable for your application. *//* ... */#ifndefpdTICKS_TO_MS#definepdTICKS_TO_MS(xTimeInTicks)((TickType_t)(((uint64_t)(xTimeInTicks)*(uint64_t)1000U)/(uint64_t)configTICK_RATE_HZ))#endif#definepdFALSE((BaseType_t)0)#definepdTRUE((BaseType_t)1)#definepdFALSE_SIGNED((BaseType_t)0)#definepdTRUE_SIGNED((BaseType_t)1)#definepdFALSE_UNSIGNED((UBaseType_t)0)#definepdTRUE_UNSIGNED((UBaseType_t)1)#definepdPASS(pdTRUE)#definepdFAIL(pdFALSE)#defineerrQUEUE_EMPTY((BaseType_t)0)#defineerrQUEUE_FULL((BaseType_t)0)/* FreeRTOS error definitions. */#defineerrCOULD_NOT_ALLOCATE_REQUIRED_MEMORY(-1)#defineerrQUEUE_BLOCKED(-4)#defineerrQUEUE_YIELD(-5)13 defines/* Macros used for basic data corruption checks. */#ifndefconfigUSE_LIST_DATA_INTEGRITY_CHECK_BYTES#defineconfigUSE_LIST_DATA_INTEGRITY_CHECK_BYTES0#endif#if(configTICK_TYPE_WIDTH_IN_BITS==TICK_TYPE_WIDTH_16_BITS)#definepdINTEGRITY_CHECK_VALUE0x5a5a#elif(configTICK_TYPE_WIDTH_IN_BITS==TICK_TYPE_WIDTH_32_BITS)#definepdINTEGRITY_CHECK_VALUE0x5a5a5a5aUL#elif(configTICK_TYPE_WIDTH_IN_BITS==TICK_TYPE_WIDTH_64_BITS)#definepdINTEGRITY_CHECK_VALUE0x5a5a5a5a5a5a5a5aULL#else#errorconfigTICK_TYPE_WIDTH_IN_BITSsettounsupportedticktypewidth.#endif/* The following errno values are used by FreeRTOS+ components, not FreeRTOS * itself. *//* ... */#definepdFREERTOS_ERRNO_NONE0/* No errors */#definepdFREERTOS_ERRNO_ENOENT2/* No such file or directory */#definepdFREERTOS_ERRNO_EINTR4/* Interrupted system call */#definepdFREERTOS_ERRNO_EIO5/* I/O error */#definepdFREERTOS_ERRNO_ENXIO6/* No such device or address */#definepdFREERTOS_ERRNO_EBADF9/* Bad file number */#definepdFREERTOS_ERRNO_EAGAIN11/* No more processes */#definepdFREERTOS_ERRNO_EWOULDBLOCK11/* Operation would block */#definepdFREERTOS_ERRNO_ENOMEM12/* Not enough memory */#definepdFREERTOS_ERRNO_EACCES13/* Permission denied */#definepdFREERTOS_ERRNO_EFAULT14/* Bad address */#definepdFREERTOS_ERRNO_EBUSY16/* Mount device busy */#definepdFREERTOS_ERRNO_EEXIST17/* File exists */#definepdFREERTOS_ERRNO_EXDEV18/* Cross-device link */#definepdFREERTOS_ERRNO_ENODEV19/* No such device */#definepdFREERTOS_ERRNO_ENOTDIR20/* Not a directory */#definepdFREERTOS_ERRNO_EISDIR21/* Is a directory */#definepdFREERTOS_ERRNO_EINVAL22/* Invalid argument */#definepdFREERTOS_ERRNO_ENOSPC28/* No space left on device */#definepdFREERTOS_ERRNO_ESPIPE29/* Illegal seek */#definepdFREERTOS_ERRNO_EROFS30/* Read only file system */#definepdFREERTOS_ERRNO_EUNATCH42/* Protocol driver not attached */#definepdFREERTOS_ERRNO_EBADE50/* Invalid exchange */#definepdFREERTOS_ERRNO_EFTYPE79/* Inappropriate file type or format */#definepdFREERTOS_ERRNO_ENMFILE89/* No more files */#definepdFREERTOS_ERRNO_ENOTEMPTY90/* Directory not empty */#definepdFREERTOS_ERRNO_ENAMETOOLONG91/* File or path name too long */#definepdFREERTOS_ERRNO_EOPNOTSUPP95/* Operation not supported on transport endpoint */#definepdFREERTOS_ERRNO_EAFNOSUPPORT97/* Address family not supported by protocol */#definepdFREERTOS_ERRNO_ENOBUFS105/* No buffer space available */#definepdFREERTOS_ERRNO_ENOPROTOOPT109/* Protocol not available */#definepdFREERTOS_ERRNO_EADDRINUSE112/* Address already in use */#definepdFREERTOS_ERRNO_ETIMEDOUT116/* Connection timed out */#definepdFREERTOS_ERRNO_EINPROGRESS119/* Connection already in progress */#definepdFREERTOS_ERRNO_EALREADY120/* Socket already connected */#definepdFREERTOS_ERRNO_EADDRNOTAVAIL125/* Address not available */#definepdFREERTOS_ERRNO_EISCONN127/* Socket is already connected */#definepdFREERTOS_ERRNO_ENOTCONN128/* Socket is not connected */#definepdFREERTOS_ERRNO_ENOMEDIUM135/* No medium inserted */#definepdFREERTOS_ERRNO_EILSEQ138/* An invalid UTF-16 sequence was encountered. */#definepdFREERTOS_ERRNO_ECANCELED140/* Operation canceled. *//* The following endian values are used by FreeRTOS+ components, not FreeRTOS * itself. *//* ... */#definepdFREERTOS_LITTLE_ENDIAN0#definepdFREERTOS_BIG_ENDIAN1/* Re-defining endian values for generic naming. */#definepdLITTLE_ENDIANpdFREERTOS_LITTLE_ENDIAN#definepdBIG_ENDIANpdFREERTOS_BIG_ENDIAN45 defines/* ... */#endif/* PROJDEFS_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.