1 /*-
2  * Copyright (c) 2020 STMicroelectronics. All rights reserved.
3  *
4  * Copyright (c) 1982, 1986, 1989, 1993
5  *	The Regents of the University of California.  All rights reserved.
6  * (c) UNIX System Laboratories, Inc.
7  *
8  * SPDX-License-Identifier: BSD-3-Clause
9  */
10 
11 #ifndef __METAL_IAR_ERRNO__H__
12 #define __METAL_IAR_ERRNO__H__
13 
14 #include <errno.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #define LIBMETAL_ERR_BASE  100
21 
22 #define	EPERM	(LIBMETAL_ERR_BASE + 1)  /* Operation not permitted */
23 #define	ENOENT	(LIBMETAL_ERR_BASE + 2)  /* No such file or directory */
24 #define	ESRCH	(LIBMETAL_ERR_BASE + 3)  /* No such process */
25 #define	EINTR	(LIBMETAL_ERR_BASE + 4)  /* Interrupted system call */
26 #define	EIO	(LIBMETAL_ERR_BASE + 5)  /* Input/output error */
27 #define	ENXIO	(LIBMETAL_ERR_BASE + 6)  /* Device not configured */
28 #define	E2BIG	(LIBMETAL_ERR_BASE + 7)  /* Argument list too long */
29 #define	ENOEXEC	(LIBMETAL_ERR_BASE + 8)  /* Exec format error */
30 #define	EBADF	(LIBMETAL_ERR_BASE + 9)  /* Bad file descriptor */
31 #define	ECHILD	(LIBMETAL_ERR_BASE + 10) /* No child processes */
32 #define	EDEADLK	(LIBMETAL_ERR_BASE + 11) /* Resource deadlock avoided */
33 #define	ENOMEM	(LIBMETAL_ERR_BASE + 12) /* Cannot allocate memory */
34 #define	EACCES	(LIBMETAL_ERR_BASE + 13) /* Permission denied */
35 #define	EFAULT	(LIBMETAL_ERR_BASE + 14) /* Bad address */
36 #define	ENOTBLK	(LIBMETAL_ERR_BASE + 15) /* Block device required */
37 #define	EBUSY	(LIBMETAL_ERR_BASE + 16) /* Device busy */
38 #define	EEXIST	(LIBMETAL_ERR_BASE + 17) /* File exists */
39 #define	EXDEV	(LIBMETAL_ERR_BASE + 18) /* Cross-device link */
40 #define	ENODEV	(LIBMETAL_ERR_BASE + 19) /* Operation not supported by device */
41 #define	ENOTDIR	(LIBMETAL_ERR_BASE + 20) /* Not a directory */
42 #define	EISDIR	(LIBMETAL_ERR_BASE + 21) /* Is a directory */
43 #define	EINVAL	(LIBMETAL_ERR_BASE + 22) /* Invalid argument */
44 #define	ENFILE	(LIBMETAL_ERR_BASE + 23) /* Too many open files in system */
45 #define	EMFILE	(LIBMETAL_ERR_BASE + 24) /* Too many open files */
46 #define	ENOTTY	(LIBMETAL_ERR_BASE + 25) /* Inappropriate ioctl for device */
47 #define	ETXTBSY	(LIBMETAL_ERR_BASE + 26) /* Text file busy */
48 #define	EFBIG	(LIBMETAL_ERR_BASE + 27) /* File too large */
49 #define	ENOSPC	(LIBMETAL_ERR_BASE + 28) /* No space left on device */
50 #define	ESPIPE	(LIBMETAL_ERR_BASE + 29) /* Illegal seek */
51 #define	EROFS	(LIBMETAL_ERR_BASE + 30) /* Read-only filesystem */
52 #define	EMLINK	(LIBMETAL_ERR_BASE + 31) /* Too many links */
53 #define	EPIPE	(LIBMETAL_ERR_BASE + 32) /* Broken pipe */
54 #define	EAGAIN	(LIBMETAL_ERR_BASE + 35) /* Resource temporarily unavailable */
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif /* __METAL_IAR_ERRNO__H__ */
61