summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMeco Jianting Man <[email protected]>2021-09-14 10:30:51 -0500
committerGitHub <[email protected]>2021-09-14 10:30:51 -0500
commit717120549d126b56c06be6a268945e2065a69038 (patch)
treeabd6f117aa1f5db0fd9fa12be006f4ed5230505a /include
parent393d7f44790f9ccdc00bdff56434030160d196f7 (diff)
parent065f9586d038c52b50190a436e3d1f8101cdbf94 (diff)
Merge branch 'RT-Thread:master' into rtusingheap
Diffstat (limited to 'include')
-rw-r--r--include/libc/libc_dirent.h17
-rw-r--r--include/libc/libc_errno.h206
-rw-r--r--include/libc/libc_fcntl.h98
-rw-r--r--include/libc/libc_fdset.h60
-rw-r--r--include/libc/libc_ioctl.h229
-rw-r--r--include/libc/libc_limits.h25
-rw-r--r--include/libc/libc_signal.h184
-rw-r--r--include/libc/libc_stat.h110
-rw-r--r--include/libc/libc_stdio.h22
-rw-r--r--include/rtdef.h23
-rw-r--r--include/rtlibc.h39
-rw-r--r--include/rtthread.h12
12 files changed, 20 insertions, 1005 deletions
diff --git a/include/libc/libc_dirent.h b/include/libc/libc_dirent.h
deleted file mode 100644
index a86332e633..0000000000
--- a/include/libc/libc_dirent.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- */
-
-#ifndef LIBC_DIRENT_H__
-#define LIBC_DIRENT_H__
-
-#define DT_UNKNOWN 0x00
-#define DT_REG 0x01
-#define DT_DIR 0x02
-
-#endif
diff --git a/include/libc/libc_errno.h b/include/libc/libc_errno.h
deleted file mode 100644
index 30d6092e33..0000000000
--- a/include/libc/libc_errno.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2016-11-12 Bernard The first version
- */
-
-#ifndef LIBC_ERRNO_H__
-#define LIBC_ERRNO_H__
-
-#include <rtconfig.h>
-
-#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
-/* use errno.h file in toolchains */
-#include <errno.h>
-#endif
-
-#if defined(__CC_ARM)
-/*
-defined in armcc/errno.h
-
-#define EDOM 1
-#define ERANGE 2
-#define EILSEQ 4
-#define ESIGNUM 3
-#define EINVAL 5
-#define ENOMEM 6
-*/
-#define ERROR_BASE_NO 7
-
-#elif defined(__IAR_SYSTEMS_ICC__)
-/* defined in iar/errno.h
-#define EDOM 33
-#define ERANGE 34
-#define EFPOS 35
-#define EILSEQ 36
-*/
-#define ERROR_BASE_NO 36
-
-#else
-
-#define ERROR_BASE_NO 0
-#endif
-
-#if !defined(RT_USING_NEWLIB) && !defined(_WIN32) && !(defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
-
-#define EPERM (ERROR_BASE_NO + 1)
-#define ENOENT (ERROR_BASE_NO + 2)
-#define ESRCH (ERROR_BASE_NO + 3)
-#define EINTR (ERROR_BASE_NO + 4)
-#define EIO (ERROR_BASE_NO + 5)
-#define ENXIO (ERROR_BASE_NO + 6)
-#define E2BIG (ERROR_BASE_NO + 7)
-#define ENOEXEC (ERROR_BASE_NO + 8)
-#define EBADF (ERROR_BASE_NO + 9)
-#define ECHILD (ERROR_BASE_NO + 10)
-#define EAGAIN (ERROR_BASE_NO + 11)
-
-#ifndef ENOMEM
-#define ENOMEM (ERROR_BASE_NO + 12)
-#endif
-
-#define EACCES (ERROR_BASE_NO + 13)
-#define EFAULT (ERROR_BASE_NO + 14)
-#define ENOTBLK (ERROR_BASE_NO + 15)
-#define EBUSY (ERROR_BASE_NO + 16)
-#define EEXIST (ERROR_BASE_NO + 17)
-#define EXDEV (ERROR_BASE_NO + 18)
-#define ENODEV (ERROR_BASE_NO + 19)
-#define ENOTDIR (ERROR_BASE_NO + 20)
-#define EISDIR (ERROR_BASE_NO + 21)
-
-#ifndef EINVAL
-#define EINVAL (ERROR_BASE_NO + 22)
-#endif
-
-#define ENFILE (ERROR_BASE_NO + 23)
-#define EMFILE (ERROR_BASE_NO + 24)
-#define ENOTTY (ERROR_BASE_NO + 25)
-#define ETXTBSY (ERROR_BASE_NO + 26)
-#define EFBIG (ERROR_BASE_NO + 27)
-#define ENOSPC (ERROR_BASE_NO + 28)
-#define ESPIPE (ERROR_BASE_NO + 29)
-#define EROFS (ERROR_BASE_NO + 30)
-#define EMLINK (ERROR_BASE_NO + 31)
-#define EPIPE (ERROR_BASE_NO + 32)
-
-#ifndef EDOM
-#define EDOM (ERROR_BASE_NO + 33)
-#endif
-
-#ifndef ERANGE
-#define ERANGE (ERROR_BASE_NO + 34)
-#endif
-
-#define EDEADLK (ERROR_BASE_NO + 35)
-#define ENAMETOOLONG (ERROR_BASE_NO + 36)
-#define ENOLCK (ERROR_BASE_NO + 37)
-#define ENOSYS (ERROR_BASE_NO + 38)
-#define ENOTEMPTY (ERROR_BASE_NO + 39)
-#define ELOOP (ERROR_BASE_NO + 40)
-#define EWOULDBLOCK EAGAIN
-#define ENOMSG (ERROR_BASE_NO + 42)
-#define EIDRM (ERROR_BASE_NO + 43)
-#define ECHRNG (ERROR_BASE_NO + 44)
-#define EL2NSYNC (ERROR_BASE_NO + 45)
-#define EL3HLT (ERROR_BASE_NO + 46)
-#define EL3RST (ERROR_BASE_NO + 47)
-#define ELNRNG (ERROR_BASE_NO + 48)
-#define EUNATCH (ERROR_BASE_NO + 49)
-#define ENOCSI (ERROR_BASE_NO + 50)
-#define EL2HLT (ERROR_BASE_NO + 51)
-#define EBADE (ERROR_BASE_NO + 52)
-#define EBADR (ERROR_BASE_NO + 53)
-#define EXFULL (ERROR_BASE_NO + 54)
-#define ENOANO (ERROR_BASE_NO + 55)
-#define EBADRQC (ERROR_BASE_NO + 56)
-#define EBADSLT (ERROR_BASE_NO + 57)
-#define EDEADLOCK EDEADLK
-#define EBFONT (ERROR_BASE_NO + 59)
-#define ENOSTR (ERROR_BASE_NO + 60)
-#define ENODATA (ERROR_BASE_NO + 61)
-#define ETIME (ERROR_BASE_NO + 62)
-#define ENOSR (ERROR_BASE_NO + 63)
-#define ENONET (ERROR_BASE_NO + 64)
-#define ENOPKG (ERROR_BASE_NO + 65)
-#define EREMOTE (ERROR_BASE_NO + 66)
-#define ENOLINK (ERROR_BASE_NO + 67)
-#define EADV (ERROR_BASE_NO + 68)
-#define ESRMNT (ERROR_BASE_NO + 69)
-#define ECOMM (ERROR_BASE_NO + 70)
-#define EPROTO (ERROR_BASE_NO + 71)
-#define EMULTIHOP (ERROR_BASE_NO + 72)
-#define EDOTDOT (ERROR_BASE_NO + 73)
-#define EBADMSG (ERROR_BASE_NO + 74)
-#define EOVERFLOW (ERROR_BASE_NO + 75)
-#define ENOTUNIQ (ERROR_BASE_NO + 76)
-#define EBADFD (ERROR_BASE_NO + 77)
-#define EREMCHG (ERROR_BASE_NO + 78)
-#define ELIBACC (ERROR_BASE_NO + 79)
-#define ELIBBAD (ERROR_BASE_NO + 80)
-#define ELIBSCN (ERROR_BASE_NO + 81)
-#define ELIBMAX (ERROR_BASE_NO + 82)
-#define ELIBEXEC (ERROR_BASE_NO + 83)
-
-#ifndef EILSEQ
-#define EILSEQ (ERROR_BASE_NO + 84)
-#endif
-
-#define ERESTART (ERROR_BASE_NO + 85)
-#define ESTRPIPE (ERROR_BASE_NO + 86)
-#define EUSERS (ERROR_BASE_NO + 87)
-#define ENOTSOCK (ERROR_BASE_NO + 88)
-#define EDESTADDRREQ (ERROR_BASE_NO + 89)
-#define EMSGSIZE (ERROR_BASE_NO + 90)
-#define EPROTOTYPE (ERROR_BASE_NO + 91)
-#define ENOPROTOOPT (ERROR_BASE_NO + 92)
-#define EPROTONOSUPPORT (ERROR_BASE_NO + 93)
-#define ESOCKTNOSUPPORT (ERROR_BASE_NO + 94)
-#define EOPNOTSUPP (ERROR_BASE_NO + 95)
-#define ENOTSUP EOPNOTSUPP
-#define EPFNOSUPPORT (ERROR_BASE_NO + 96)
-#define EAFNOSUPPORT (ERROR_BASE_NO + 97)
-#define EADDRINUSE (ERROR_BASE_NO + 98)
-#define EADDRNOTAVAIL (ERROR_BASE_NO + 99)
-#define ENETDOWN (ERROR_BASE_NO + 100)
-#define ENETUNREACH (ERROR_BASE_NO + 101)
-#define ENETRESET (ERROR_BASE_NO + 102)
-#define ECONNABORTED (ERROR_BASE_NO + 103)
-#define ECONNRESET (ERROR_BASE_NO + 104)
-#define ENOBUFS (ERROR_BASE_NO + 105)
-#define EISCONN (ERROR_BASE_NO + 106)
-#define ENOTCONN (ERROR_BASE_NO + 107)
-#define ESHUTDOWN (ERROR_BASE_NO + 108)
-#define ETOOMANYREFS (ERROR_BASE_NO + 109)
-#define ETIMEDOUT (ERROR_BASE_NO + 110)
-#define ECONNREFUSED (ERROR_BASE_NO + 111)
-#define EHOSTDOWN (ERROR_BASE_NO + 112)
-#define EHOSTUNREACH (ERROR_BASE_NO + 113)
-#define EALREADY (ERROR_BASE_NO + 114)
-#define EINPROGRESS (ERROR_BASE_NO + 115)
-#define ESTALE (ERROR_BASE_NO + 116)
-#define EUCLEAN (ERROR_BASE_NO + 117)
-#define ENOTNAM (ERROR_BASE_NO + 118)
-#define ENAVAIL (ERROR_BASE_NO + 119)
-#define EISNAM (ERROR_BASE_NO + 120)
-#define EREMOTEIO (ERROR_BASE_NO + 121)
-#define EDQUOT (ERROR_BASE_NO + 122)
-#define ENOMEDIUM (ERROR_BASE_NO + 123)
-#define EMEDIUMTYPE (ERROR_BASE_NO + 124)
-#define ECANCELED (ERROR_BASE_NO + 125)
-#define ENOKEY (ERROR_BASE_NO + 126)
-#define EKEYEXPIRED (ERROR_BASE_NO + 127)
-#define EKEYREVOKED (ERROR_BASE_NO + 128)
-#define EKEYREJECTED (ERROR_BASE_NO + 129)
-#define EOWNERDEAD (ERROR_BASE_NO + 130)
-#define ENOTRECOVERABLE (ERROR_BASE_NO + 131)
-#define ERFKILL (ERROR_BASE_NO + 132)
-#define EHWPOISON (ERROR_BASE_NO + 133)
-
-#endif
-
-#endif
diff --git a/include/libc/libc_fcntl.h b/include/libc/libc_fcntl.h
deleted file mode 100644
index 945e674d35..0000000000
--- a/include/libc/libc_fcntl.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2018-02-07 Bernard Add O_DIRECTORY definition in NEWLIB mode.
- * 2018-02-09 Bernard Add O_BINARY definition
- */
-
-#ifndef LIBC_FCNTL_H__
-#define LIBC_FCNTL_H__
-
-#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
-#include <fcntl.h>
-
-#ifndef O_NONBLOCK
-#define O_NONBLOCK 0x4000
-#endif
-
-#if defined(_WIN32)
-#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR)
-#endif
-
-#ifndef F_GETFL
-#define F_GETFL 3
-#endif
-#ifndef F_SETFL
-#define F_SETFL 4
-#endif
-
-#ifndef O_DIRECTORY
-#define O_DIRECTORY 0x200000
-#endif
-
-#ifndef O_BINARY
-#ifdef _O_BINARY
-#define O_BINARY _O_BINARY
-#else
-#define O_BINARY 0
-#endif
-#endif
-
-#else
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
-
-#define O_CREAT 0100
-#define O_EXCL 0200
-#define O_NOCTTY 0400
-#define O_TRUNC 01000
-#define O_APPEND 02000
-#define O_NONBLOCK 04000
-#define O_DSYNC 010000
-#define O_SYNC 04010000
-#define O_RSYNC 04010000
-#define O_BINARY 0100000
-#define O_DIRECTORY 0200000
-#define O_NOFOLLOW 0400000
-#define O_CLOEXEC 02000000
-
-#define O_ASYNC 020000
-#define O_DIRECT 040000
-#define O_LARGEFILE 0100000
-#define O_NOATIME 01000000
-#define O_PATH 010000000
-#define O_TMPFILE 020200000
-#define O_NDELAY O_NONBLOCK
-
-#define O_SEARCH O_PATH
-#define O_EXEC O_PATH
-
-#define O_ACCMODE (03|O_SEARCH)
-
-#define F_DUPFD 0
-#define F_GETFD 1
-#define F_SETFD 2
-#define F_GETFL 3
-#define F_SETFL 4
-
-#define F_SETOWN 8
-#define F_GETOWN 9
-#define F_SETSIG 10
-#define F_GETSIG 11
-
-#define F_GETLK 12
-#define F_SETLK 13
-#define F_SETLKW 14
-
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-
-#define F_GETOWNER_UIDS 17
-#endif
-
-#endif
diff --git a/include/libc/libc_fdset.h b/include/libc/libc_fdset.h
deleted file mode 100644
index c542e6855c..0000000000
--- a/include/libc/libc_fdset.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2017-10-30 Bernard The first version
- */
-
-#ifndef LIBC_FDSET_H__
-#define LIBC_FDSET_H__
-
-#include <rtconfig.h>
-
-#if defined(RT_USING_NEWLIB) || defined(_WIN32) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
-#include <sys/types.h>
-#if defined(HAVE_SYS_SELECT_H)
-#include <sys/select.h>
-#endif
-
-#else
-
-#ifdef SAL_USING_POSIX
-
-#ifdef FD_SETSIZE
-#undef FD_SETSIZE
-#endif
-
-#define FD_SETSIZE DFS_FD_MAX
-#endif
-
-# ifndef FD_SETSIZE
-# define FD_SETSIZE 32
-# endif
-
-# define NBBY 8 /* number of bits in a byte */
-
-typedef long fd_mask;
-# define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */
-# ifndef howmany
-# define howmany(x,y) (((x)+((y)-1))/(y))
-# endif
-
-/* We use a macro for fd_set so that including Sockets.h afterwards
- can work. */
-typedef struct _types_fd_set {
- fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
-} _types_fd_set;
-
-#define fd_set _types_fd_set
-
-# define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
-# define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
-# define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
-# define FD_ZERO(p) memset((void*)(p), 0, sizeof(*(p)))
-
-#endif
-
-#endif
diff --git a/include/libc/libc_ioctl.h b/include/libc/libc_ioctl.h
deleted file mode 100644
index 05f0daa238..0000000000
--- a/include/libc/libc_ioctl.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2017-01-21 Bernard the first version
- */
-
-#ifndef LIBC_IOCTL_H__
-#define LIBC_IOCTL_H__
-
-#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) )
-#define _IOC_NONE 0U
-#define _IOC_WRITE 1U
-#define _IOC_READ 2U
-
-#if !defined (_WIN32) && !defined (__TASKING__)
-#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0)
-#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c))
-#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c))
-#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c))
-
-#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */
-#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */
-#define FIONWRITE _IOR('f', 121, int) /* get # bytes outstanding
- * in send queue. */
-#endif
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-// #define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-// #define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425
-#define TIOCSBRK 0x5427
-#define TIOCCBRK 0x5428
-#define TIOCGSID 0x5429
-#define TIOCGRS485 0x542E
-#define TIOCSRS485 0x542F
-#define TIOCGPTN 0x80045430
-#define TIOCSPTLCK 0x40045431
-#define TIOCGDEV 0x80045432
-#define TCGETX 0x5432
-#define TCSETX 0x5433
-#define TCSETXF 0x5434
-#define TCSETXW 0x5435
-#define TIOCSIG 0x40045436
-#define TIOCVHANGUP 0x5437
-#define TIOCGPKT 0x80045438
-#define TIOCGPTLCK 0x80045439
-#define TIOCGEXCL 0x80045440
-
-#define FIONCLEX 0x5450
-#define FIOCLEX 0x5451
-
-#ifndef _WIN32
-#define FIOASYNC 0x5452
-#endif
-
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458
-#define TIOCSERGETLSR 0x5459
-#define TIOCSERGETMULTI 0x545A
-#define TIOCSERSETMULTI 0x545B
-
-#define TIOCMIWAIT 0x545C
-#define TIOCGICOUNT 0x545D
-#define FIOQSIZE 0x5460
-
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-#define TIOCPKT_IOCTL 64
-
-#define TIOCSER_TEMT 0x01
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6
-#define N_6PACK 7
-#define N_MASC 8
-#define N_R3964 9
-#define N_PROFIBUS_FDL 10
-#define N_IRDA 11
-#define N_SMSBLOCK 12
-#define N_HDLC 13
-#define N_SYNC_PPP 14
-#define N_HCI 15
-
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-// #define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906
-#define SIOCGSTAMPNS 0x8907
-
-#define SIOCADDRT 0x890B
-#define SIOCDELRT 0x890C
-#define SIOCRTMSG 0x890D
-
-#define SIOCGIFNAME 0x8910
-#define SIOCSIFLINK 0x8911
-#define SIOCGIFCONF 0x8912
-#define SIOCGIFFLAGS 0x8913
-#define SIOCSIFFLAGS 0x8914
-#define SIOCGIFADDR 0x8915
-#define SIOCSIFADDR 0x8916
-#define SIOCGIFDSTADDR 0x8917
-#define SIOCSIFDSTADDR 0x8918
-#define SIOCGIFBRDADDR 0x8919
-#define SIOCSIFBRDADDR 0x891a
-#define SIOCGIFNETMASK 0x891b
-#define SIOCSIFNETMASK 0x891c
-#define SIOCGIFMETRIC 0x891d
-#define SIOCSIFMETRIC 0x891e
-#define SIOCGIFMEM 0x891f
-#define SIOCSIFMEM 0x8920
-#define SIOCGIFMTU 0x8921
-#define SIOCSIFMTU 0x8922
-#define SIOCSIFNAME 0x8923
-#define SIOCSIFHWADDR 0x8924
-#define SIOCGIFENCAP 0x8925
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927
-#define SIOCGIFSLAVE 0x8929
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933
-#define SIOGIFINDEX SIOCGIFINDEX
-#define SIOCSIFPFLAGS 0x8934
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936
-#define SIOCSIFHWBROADCAST 0x8937
-#define SIOCGIFCOUNT 0x8938
-
-#define SIOCGIFBR 0x8940
-#define SIOCSIFBR 0x8941
-
-#define SIOCGIFTXQLEN 0x8942
-#define SIOCSIFTXQLEN 0x8943
-
-#define SIOCDARP 0x8953
-#define SIOCGARP 0x8954
-#define SIOCSARP 0x8955
-
-#define SIOCDRARP 0x8960
-#define SIOCGRARP 0x8961
-#define SIOCSRARP 0x8962
-
-#define SIOCGIFMAP 0x8970
-#define SIOCSIFMAP 0x8971
-
-#define SIOCADDDLCI 0x8980
-#define SIOCDELDLCI 0x8981
-
-#define SIOCDEVPRIVATE 0x89F0
-#define SIOCPROTOPRIVATE 0x89E0
-
-#endif
diff --git a/include/libc/libc_limits.h b/include/libc/libc_limits.h
deleted file mode 100644
index 36b8dbb202..0000000000
--- a/include/libc/libc_limits.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-09-05 Meco Man the first version
- */
-
-#ifndef LIBC_LIMITS_H__
-#define LIBC_LIMITS_H__
-
-#include <limits.h>
-#include <rtconfig.h>
-
-#ifdef RT_USING_POSIX
-
-#ifndef SSIZE_MAX
-# define SSIZE_MAX LONG_MAX
-#endif
-
-#endif
-
-#endif
diff --git a/include/libc/libc_signal.h b/include/libc/libc_signal.h
deleted file mode 100644
index 8a4cc0d738..0000000000
--- a/include/libc/libc_signal.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2017-09-12 Bernard The first version
- */
-
-#ifndef LIBC_SIGNAL_H__
-#define LIBC_SIGNAL_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#ifdef HAVE_CCONFIG_H
-#include <cconfig.h>
-#endif
-
-#ifndef HAVE_SIGVAL
-/* Signal Generation and Delivery, P1003.1b-1993, p. 63
- NOTE: P1003.1c/D10, p. 34 adds sigev_notify_function and
- sigev_notify_attributes to the sigevent structure. */
-
-union sigval
-{
- int sival_int; /* Integer signal value */
- void *sival_ptr; /* Pointer signal value */
-};
-#endif
-
-#ifndef HAVE_SIGEVENT
-struct sigevent
-{
- int sigev_notify; /* Notification type */
- int sigev_signo; /* Signal number */
- union sigval sigev_value; /* Signal value */
- void (*sigev_notify_function)( union sigval );
- /* Notification function */
- void *sigev_notify_attributes; /* Notification Attributes, really pthread_attr_t */
-};
-#endif
-
-#ifndef HAVE_SIGINFO
-struct siginfo
-{
- uint16_t si_signo;
- uint16_t si_code;
-
- union sigval si_value;
-};
-typedef struct siginfo siginfo_t;
-#endif
-
-#define SI_USER 0x01 /* Signal sent by kill(). */
-#define SI_QUEUE 0x02 /* Signal sent by sigqueue(). */
-#define SI_TIMER 0x03 /* Signal generated by expiration of a
- timer set by timer_settime(). */
-#define SI_ASYNCIO 0x04 /* Signal generated by completion of an
- asynchronous I/O request. */
-#define SI_MESGQ 0x05 /* Signal generated by arrival of a
- message on an empty message queue. */
-
-#if !defined(RT_USING_NEWLIB)
-typedef void (*_sig_func_ptr)(int);
-typedef unsigned long sigset_t;
-#endif
-
-#include <signal.h>
-
-#if defined(__CC_ARM) || defined(__CLANG_ARM)
-
-#define SIGHUP 1
-/* #define SIGINT 2 */
-#define SIGQUIT 3
-/* #define SIGILL 4 */
-#define SIGTRAP 5
-/* #define SIGABRT 6 */
-#define SIGEMT 7
-/* #define SIGFPE 8 */
-#define SIGKILL 9
-#define SIGBUS 10
-/* #define SIGSEGV 11 */
-#define SIGSYS 12
-#define SIGPIPE 13
-#define SIGALRM 14
-/* #define SIGTERM 15 */
-#define SIGURG 16
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGPOLL 23
-#define SIGWINCH 24
-/* #define SIGUSR1 25 */
-/* #define SIGUSR2 26 */
-#define SIGRTMIN 27
-#define SIGRTMAX 31
-#define NSIG 32
-
-#define SIG_SETMASK 0 /* set mask with sigprocmask() */
-#define SIG_BLOCK 1 /* set of signals to block */
-#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
-
-struct sigaction
-{
- _sig_func_ptr sa_handler;
- sigset_t sa_mask;
- int sa_flags;
-};
-
-#define sigaddset(what,sig) (*(what) |= (1<<(sig)), 0)
-#define sigdelset(what,sig) (*(what) &= ~(1<<(sig)), 0)
-#define sigemptyset(what) (*(what) = 0, 0)
-#define sigfillset(what) (*(what) = ~(0), 0)
-#define sigismember(what,sig) (((*(what)) & (1<<(sig))) != 0)
-
-int sigprocmask (int how, const sigset_t *set, sigset_t *oset);
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-
-#elif defined(__IAR_SYSTEMS_ICC__)
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-/* #define SIGABRT 6 */
-#define SIGEMT 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGBUS 10
-#define SIGSEGV 11
-#define SIGSYS 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGURG 16
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGPOLL 23
-#define SIGWINCH 24
-#define SIGUSR1 25
-#define SIGUSR2 26
-#define SIGRTMIN 27
-#define SIGRTMAX 31
-#define NSIG 32
-
-#define SIG_SETMASK 0 /* set mask with sigprocmask() */
-#define SIG_BLOCK 1 /* set of signals to block */
-#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
-
-struct sigaction
-{
- _sig_func_ptr sa_handler;
- sigset_t sa_mask;
- int sa_flags;
-};
-
-#define sigaddset(what,sig) (*(what) |= (1<<(sig)), 0)
-#define sigdelset(what,sig) (*(what) &= ~(1<<(sig)), 0)
-#define sigemptyset(what) (*(what) = 0, 0)
-#define sigfillset(what) (*(what) = ~(0), 0)
-#define sigismember(what,sig) (((*(what)) & (1<<(sig))) != 0)
-
-int sigprocmask (int how, const sigset_t *set, sigset_t *oset);
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/include/libc/libc_stat.h b/include/libc/libc_stat.h
deleted file mode 100644
index f680de4e06..0000000000
--- a/include/libc/libc_stat.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- */
-
-#ifndef LIBC_STAT_H__
-#define LIBC_STAT_H__
-
-#include <rtconfig.h>
-
-#if defined(RT_USING_NEWLIB) || (defined( __GNUC__ ) && !defined(__ARMCC_VERSION))
-/* use header file of newlib */
-#include <sys/stat.h>
-
-#elif defined(_WIN32)
-#include <sys/stat.h>
-
-#define S_IRWXU 00700
-#define S_IRUSR 00400
-#define S_IWUSR 00200
-#define S_IXUSR 00100
-
-#define S_IRWXG 00070
-#define S_IRGRP 00040
-#define S_IWGRP 00020
-#define S_IXGRP 00010
-
-#define S_IRWXO 00007
-#define S_IROTH 00004
-#define S_IWOTH 00002
-#define S_IXOTH 00001
-
-#define S_IFSOCK 0140000
-#define S_IFLNK 0120000
-#define S_IFBLK 0060000
-#define S_IFIFO 0010000
-#define S_ISUID 0004000
-#define S_ISGID 0002000
-#define S_ISVTX 0001000
-
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-
-#else
-#define S_IFMT 00170000
-#define S_IFSOCK 0140000
-#define S_IFLNK 0120000
-#define S_IFREG 0100000
-#define S_IFBLK 0060000
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFIFO 0010000
-#define S_ISUID 0004000
-#define S_ISGID 0002000
-#define S_ISVTX 0001000
-
-#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-
-#define S_IRWXU 00700
-#define S_IRUSR 00400
-#define S_IWUSR 00200
-#define S_IXUSR 00100
-
-#define S_IRWXG 00070
-#define S_IRGRP 00040
-#define S_IWGRP 00020
-#define S_IXGRP 00010
-
-#define S_IRWXO 00007
-#define S_IROTH 00004
-#define S_IWOTH 00002
-#define S_IXOTH 00001
-
-/* stat structure */
-#include <stdint.h>
-#include <time.h>
-
-struct stat
-{
- struct rt_device *st_dev;
- uint16_t st_ino;
- uint16_t st_mode;
- uint16_t st_nlink;
- uint16_t st_uid;
- uint16_t st_gid;
- struct rt_device *st_rdev;
- uint32_t st_size;
- time_t st_atime;
- long st_spare1;
- time_t st_mtime;
- long st_spare2;
- time_t st_ctime;
- long st_spare3;
- uint32_t st_blksize;
- uint32_t st_blocks;
- long st_spare4[2];
-};
-
-#endif
-
-#endif
diff --git a/include/libc/libc_stdio.h b/include/libc/libc_stdio.h
deleted file mode 100644
index 565e1bfd32..0000000000
--- a/include/libc/libc_stdio.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-09-05 Meco Man the first version
- */
-
-#ifndef LIBC_STDIO_H__
-#define LIBC_STDIO_H__
-
-#include <rtconfig.h>
-
-#ifdef RT_USING_POSIX_GETLINE
-
-#include <posix_getline.h>
-
-#endif
-
-#endif
diff --git a/include/rtdef.h b/include/rtdef.h
index d125c970c9..3f5f4c5ef9 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -34,6 +34,7 @@
* 2019-12-20 Bernard change version number to v4.0.3
* 2020-08-10 Meco Man add macro for struct rt_device_ops
* 2020-10-23 Meco Man define maximum value of ipc type
+ * 2021-03-19 Meco Man add security devices
* 2021-05-10 armink change version number to v4.0.4
*/
@@ -276,7 +277,6 @@ typedef int (*init_fn_t)(void);
/* define these to empty, even if not include finsh.h file */
#define FINSH_FUNCTION_EXPORT(name, desc)
#define FINSH_FUNCTION_EXPORT_ALIAS(name, alias, desc)
-#define FINSH_VAR_EXPORT(name, type, desc)
#define MSH_CMD_EXPORT(command, desc)
#define MSH_CMD_EXPORT_ALIAS(command, alias, desc)
@@ -510,7 +510,7 @@ typedef struct rt_timer *rt_timer_t;
* @addtogroup Signal
*/
#ifdef RT_USING_SIGNALS
-#include <libc/libc_signal.h>
+#include <sys/signal.h>
typedef unsigned long rt_sigset_t;
typedef void (*rt_sighandler_t)(int signo);
typedef siginfo_t rt_siginfo_t;
@@ -567,6 +567,10 @@ typedef siginfo_t rt_siginfo_t;
#define RT_SCHEDULE_IPI 0
#endif
+#ifndef RT_STOP_IPI
+#define RT_STOP_IPI 1
+#endif
+
/**
* CPUs definitions
*
@@ -659,6 +663,10 @@ struct rt_thread
rt_ubase_t init_tick; /**< thread's initialized tick */
rt_ubase_t remaining_tick; /**< remaining tick */
+#ifdef RT_USING_CPU_USAGE
+ rt_uint64_t duration_tick; /**< cpu usage tick */
+#endif
+
struct rt_timer thread_timer; /**< built-in thread timer */
void (*cleanup)(struct rt_thread *tid); /**< cleanup function when thread exit */
@@ -900,6 +908,7 @@ enum rt_device_class_type
RT_Device_Class_I2CBUS, /**< I2C bus device */
RT_Device_Class_USBDevice, /**< USB slave device */
RT_Device_Class_USBHost, /**< USB host bus */
+ RT_Device_Class_USBOTG, /**< USB OTG bus */
RT_Device_Class_SPIBUS, /**< SPI bus device */
RT_Device_Class_SPIDevice, /**< SPI device */
RT_Device_Class_SDIO, /**< SDIO bus device */
@@ -911,6 +920,7 @@ enum rt_device_class_type
RT_Device_Class_Sensor, /**< Sensor device */
RT_Device_Class_Touch, /**< Touch device */
RT_Device_Class_PHY, /**< PHY device */
+ RT_Device_Class_Security, /**< Security device */
RT_Device_Class_Unknown /**< unknown device */
};
@@ -963,12 +973,6 @@ enum rt_device_class_type
#define RT_DEVICE_CTRL_BLK_AUTOREFRESH 0x13 /**< block device : enter/exit auto refresh mode */
#define RT_DEVICE_CTRL_NETIF_GETMAC 0x10 /**< get mac address */
#define RT_DEVICE_CTRL_MTD_FORMAT 0x10 /**< format a MTD device */
-#define RT_DEVICE_CTRL_RTC_GET_TIME 0x10 /**< get second time */
-#define RT_DEVICE_CTRL_RTC_SET_TIME 0x11 /**< set second time */
-#define RT_DEVICE_CTRL_RTC_GET_TIME_US 0x12 /**< get microsecond time */
-#define RT_DEVICE_CTRL_RTC_SET_TIME_US 0x13 /**< set microsecond time */
-#define RT_DEVICE_CTRL_RTC_GET_ALARM 0x14 /**< get alarm */
-#define RT_DEVICE_CTRL_RTC_SET_ALARM 0x15 /**< set alarm */
typedef struct rt_device *rt_device_t;
@@ -1142,9 +1146,6 @@ struct rt_device_graphic_ops
/**@}*/
#endif
-/* definitions for libc */
-#include "rtlibc.h"
-
#ifdef __cplusplus
}
#endif
diff --git a/include/rtlibc.h b/include/rtlibc.h
deleted file mode 100644
index 50bddc6ee8..0000000000
--- a/include/rtlibc.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2017-01-21 Bernard the first version
- */
-
-#ifndef RTLIBC_H__
-#define RTLIBC_H__
-
-/* definitions for libc if toolchain has no these definitions */
-#include "libc/libc_stat.h"
-#include "libc/libc_errno.h"
-
-#include "libc/libc_fcntl.h"
-#include "libc/libc_ioctl.h"
-#include "libc/libc_dirent.h"
-#include "libc/libc_signal.h"
-#include "libc/libc_fdset.h"
-#include "libc/libc_limits.h"
-#include "libc/libc_stdio.h"
-
-#ifndef RT_USING_LIBC
-#if defined(__CC_ARM) || defined(__CLANG_ARM) || defined(__IAR_SYSTEMS_ICC__)
-typedef signed long off_t;
-typedef int mode_t;
-#endif
-#endif
-
-#if defined(__MINGW32__) || defined(_WIN32)
-typedef signed long off_t;
-typedef int mode_t;
-#endif
-
-#endif
-
diff --git a/include/rtthread.h b/include/rtthread.h
index 1e4b4c5b8d..1be5fda82d 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -173,7 +173,6 @@ void rt_thread_idle_init(void);
rt_err_t rt_thread_idle_sethook(void (*hook)(void));
rt_err_t rt_thread_idle_delhook(void (*hook)(void));
#endif
-void rt_thread_idle_excute(void);
rt_thread_t rt_thread_idle_gethandler(void);
/*
@@ -192,6 +191,7 @@ rt_uint16_t rt_critical_level(void);
#ifdef RT_USING_HOOK
void rt_scheduler_sethook(void (*hook)(rt_thread_t from, rt_thread_t to));
+void rt_scheduler_switch_sethook(void (*hook)(struct rt_thread *tid));
#endif
#ifdef RT_USING_SMP
@@ -333,6 +333,7 @@ rt_err_t rt_mutex_delete(rt_mutex_t mutex);
#endif
rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time);
+rt_err_t rt_mutex_trytake(rt_mutex_t mutex);
rt_err_t rt_mutex_release(rt_mutex_t mutex);
rt_err_t rt_mutex_control(rt_mutex_t mutex, int cmd, void *arg);
#endif
@@ -412,6 +413,10 @@ rt_err_t rt_mq_recv(rt_mq_t mq,
rt_err_t rt_mq_control(rt_mq_t mq, int cmd, void *arg);
#endif
+/* defunct */
+void rt_thread_defunct_enqueue(rt_thread_t thread);
+rt_thread_t rt_thread_defunct_dequeue(void);
+
/*
* spinlock
*/
@@ -540,7 +545,6 @@ rt_int32_t rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
rt_int32_t rt_vsnprintf(char *buf, rt_size_t size, const char *fmt, va_list args);
rt_int32_t rt_sprintf(char *buf, const char *format, ...);
rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *format, ...);
-rt_int32_t rt_sscanf(const char *buf, const char *fmt, ...);
#if defined(RT_USING_DEVICE) && defined(RT_USING_CONSOLE)
rt_device_t rt_console_set_device(const char *name);
@@ -585,7 +589,7 @@ rt_size_t rt_strlen(const char *src);
#endif /*RT_KSERVICE_USING_STDLIB*/
char *rt_strdup(const char *s);
-#if defined(__CC_ARM) || defined(__CLANG_ARM)
+#ifdef __ARMCC_VERSION
/* lack strdup interface */
char* strdup(const char* str);
#endif
@@ -600,7 +604,7 @@ void rt_assert_handler(const char *ex, const char *func, rt_size_t line);
#endif /* RT_DEBUG */
#ifdef RT_USING_FINSH
-#include <finsh_api.h>
+#include <finsh.h>
#endif
/**@}*/