mirror of
https://github.com/OpenAMP/libmetal.git
synced 2026-09-23 10:43:49 +08:00
compiler: Add support of metal/errno.h for ARMCC
Add ARMCC errno.h to support non posix error values used in baremetal. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
This commit is contained in:
committed by
Ed Mooring
parent
65d77a680b
commit
9c807f04e7
@@ -1,3 +1,4 @@
|
||||
add_subdirectory (armcc)
|
||||
add_subdirectory (gcc)
|
||||
add_subdirectory (iar)
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
collect (PROJECT_LIB_HEADERS errno.h)
|
||||
|
||||
# vim: expandtab:ts=2:sw=2:smartindent
|
||||
@@ -0,0 +1,58 @@
|
||||
/*-
|
||||
* Copyright (c) 2020 STMicroelectronics. All rights reserved.
|
||||
*
|
||||
* Copyright (c) 1982, 1986, 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef __METAL_ARMCC_ERRNO__H__
|
||||
#define __METAL_ARMCC_ERRNO__H__
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define LIBMETAL_ERR_BASE 100
|
||||
|
||||
#define EPERM (LIBMETAL_ERR_BASE + 1) /* Operation not permitted */
|
||||
#define ENOENT (LIBMETAL_ERR_BASE + 2) /* No such file or directory */
|
||||
#define ESRCH (LIBMETAL_ERR_BASE + 3) /* No such process */
|
||||
#define EINTR (LIBMETAL_ERR_BASE + 4) /* Interrupted system call */
|
||||
#define EIO (LIBMETAL_ERR_BASE + 5) /* Input/output error */
|
||||
#define ENXIO (LIBMETAL_ERR_BASE + 6) /* Device not configured */
|
||||
#define E2BIG (LIBMETAL_ERR_BASE + 7) /* Argument list too long */
|
||||
#define ENOEXEC (LIBMETAL_ERR_BASE + 8) /* Exec format error */
|
||||
#define EBADF (LIBMETAL_ERR_BASE + 9) /* Bad file descriptor */
|
||||
#define ECHILD (LIBMETAL_ERR_BASE + 10) /* No child processes */
|
||||
#define EDEADLK (LIBMETAL_ERR_BASE + 11) /* Resource deadlock avoided */
|
||||
#define EACCES (LIBMETAL_ERR_BASE + 13) /* Permission denied */
|
||||
#define EFAULT (LIBMETAL_ERR_BASE + 14) /* Bad address */
|
||||
#define ENOTBLK (LIBMETAL_ERR_BASE + 15) /* Block device required */
|
||||
#define EBUSY (LIBMETAL_ERR_BASE + 16) /* Device busy */
|
||||
#define EEXIST (LIBMETAL_ERR_BASE + 17) /* File exists */
|
||||
#define EXDEV (LIBMETAL_ERR_BASE + 18) /* Cross-device link */
|
||||
#define ENODEV (LIBMETAL_ERR_BASE + 19) /* Operation not supported by device */
|
||||
#define ENOTDIR (LIBMETAL_ERR_BASE + 20) /* Not a directory */
|
||||
#define EISDIR (LIBMETAL_ERR_BASE + 21) /* Is a directory */
|
||||
#define ENFILE (LIBMETAL_ERR_BASE + 23) /* Too many open files in system */
|
||||
#define EMFILE (LIBMETAL_ERR_BASE + 24) /* Too many open files */
|
||||
#define ENOTTY (LIBMETAL_ERR_BASE + 25) /* Inappropriate ioctl for device */
|
||||
#define ETXTBSY (LIBMETAL_ERR_BASE + 26) /* Text file busy */
|
||||
#define EFBIG (LIBMETAL_ERR_BASE + 27) /* File too large */
|
||||
#define ENOSPC (LIBMETAL_ERR_BASE + 28) /* No space left on device */
|
||||
#define ESPIPE (LIBMETAL_ERR_BASE + 29) /* Illegal seek */
|
||||
#define EROFS (LIBMETAL_ERR_BASE + 30) /* Read-only filesystem */
|
||||
#define EMLINK (LIBMETAL_ERR_BASE + 31) /* Too many links */
|
||||
#define EPIPE (LIBMETAL_ERR_BASE + 32) /* Broken pipe */
|
||||
#define EAGAIN (LIBMETAL_ERR_BASE + 35) /* Resource temporarily unavailable */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __METAL_ARMCC_ERRNO__H__ */
|
||||
@@ -14,6 +14,8 @@
|
||||
|
||||
#if defined(__ICCARM__)
|
||||
# include <metal/compiler/iar/errno.h>
|
||||
#elif defined(__CC_ARM)
|
||||
# include <metal/compiler/armcc/errno.h>
|
||||
#else
|
||||
# include <errno.h>
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user