summaryrefslogtreecommitdiff
path: root/components/libc/compilers/common/sys
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2021-04-25 21:10:31 +0800
committerMeco Man <[email protected]>2021-04-25 21:10:31 +0800
commitf9ba41f4c22855b4dff8c422283ea6832ad1fc2b (patch)
treece17c5b2284081a1a21ba13a86a9aec8925666de /components/libc/compilers/common/sys
parentc871726e8930099efc1bbade8907e8b4571615eb (diff)
更改libc目录为common 以及 none-gcc
Diffstat (limited to 'components/libc/compilers/common/sys')
-rw-r--r--components/libc/compilers/common/sys/ioctl.h18
-rw-r--r--components/libc/compilers/common/sys/mman.h60
-rw-r--r--components/libc/compilers/common/sys/statfs.h21
-rw-r--r--components/libc/compilers/common/sys/termios.h8
-rw-r--r--components/libc/compilers/common/sys/time.h101
5 files changed, 208 insertions, 0 deletions
diff --git a/components/libc/compilers/common/sys/ioctl.h b/components/libc/compilers/common/sys/ioctl.h
new file mode 100644
index 0000000000..648d90230d
--- /dev/null
+++ b/components/libc/compilers/common/sys/ioctl.h
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-09-01 Meco Man First Version
+ */
+#ifndef _SYS_IOCTL_H
+#define _SYS_IOCTL_H
+
+#include <rtconfig.h>
+#ifdef RT_USING_POSIX
+#include <dfs_posix.h>
+#endif
+
+#endif
diff --git a/components/libc/compilers/common/sys/mman.h b/components/libc/compilers/common/sys/mman.h
new file mode 100644
index 0000000000..a9235d61f0
--- /dev/null
+++ b/components/libc/compilers/common/sys/mman.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2017/11/30 Bernard The first version.
+ */
+
+#ifndef _SYS_MMAN_H
+#define _SYS_MMAN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+#define MAP_FAILED ((void *) -1)
+
+#define MAP_SHARED 0x01
+#define MAP_PRIVATE 0x02
+#define MAP_TYPE 0x0f
+#define MAP_FIXED 0x10
+#define MAP_ANON 0x20
+#define MAP_ANONYMOUS MAP_ANON
+#define MAP_NORESERVE 0x4000
+#define MAP_GROWSDOWN 0x0100
+#define MAP_DENYWRITE 0x0800
+#define MAP_EXECUTABLE 0x1000
+#define MAP_LOCKED 0x2000
+#define MAP_POPULATE 0x8000
+#define MAP_NONBLOCK 0x10000
+#define MAP_STACK 0x20000
+#define MAP_HUGETLB 0x40000
+#define MAP_FILE 0
+
+#define PROT_NONE 0
+#define PROT_READ 1
+#define PROT_WRITE 2
+#define PROT_EXEC 4
+#define PROT_GROWSDOWN 0x01000000
+#define PROT_GROWSUP 0x02000000
+
+#define MS_ASYNC 1
+#define MS_INVALIDATE 2
+#define MS_SYNC 4
+
+#define MCL_CURRENT 1
+#define MCL_FUTURE 2
+#define MCL_ONFAULT 4
+
+void *mmap (void *start, size_t len, int prot, int flags, int fd, off_t off);
+int munmap (void *start, size_t len);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/components/libc/compilers/common/sys/statfs.h b/components/libc/compilers/common/sys/statfs.h
new file mode 100644
index 0000000000..0996af9a18
--- /dev/null
+++ b/components/libc/compilers/common/sys/statfs.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ */
+#ifndef __RTT_STATFS_H__
+#define __RTT_STATFS_H__
+
+#include <rtthread.h>
+
+struct statfs
+{
+ rt_size_t f_bsize; /* block size */
+ rt_size_t f_blocks; /* total data blocks in file system */
+ rt_size_t f_bfree; /* free blocks in file system */
+};
+
+#endif
diff --git a/components/libc/compilers/common/sys/termios.h b/components/libc/compilers/common/sys/termios.h
new file mode 100644
index 0000000000..c4b42083c4
--- /dev/null
+++ b/components/libc/compilers/common/sys/termios.h
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ */
diff --git a/components/libc/compilers/common/sys/time.h b/components/libc/compilers/common/sys/time.h
new file mode 100644
index 0000000000..ef1c810608
--- /dev/null
+++ b/components/libc/compilers/common/sys/time.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2020-09-07 Meco Man combine gcc armcc iccarm
+ * 2021-02-12 Meco Man move all definitions located in <clock_time.h> to this file
+ */
+#ifndef _SYS_TIME_H_
+#define _SYS_TIME_H_
+
+#include <rtconfig.h>
+#include <time.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Skip define timespec for IAR version over 8.10.1 where __VER__ is 8010001.
+ */
+#if defined ( __ICCARM__ ) && (__VER__ >= 8010001)
+#define _TIMESPEC_DEFINED
+#endif
+
+
+#ifndef _TIMEVAL_DEFINED
+#define _TIMEVAL_DEFINED
+/*
+ * Structure returned by gettimeofday(2) system call,
+ * and used in other calls.
+ */
+#if !(defined(_WIN32))
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+#endif
+#endif /* _TIMEVAL_DEFINED */
+
+#if !(defined(__GNUC__) && !defined(__ARMCC_VERSION)/*GCC*/) && !defined (__ICCARM__) && !defined (_WIN32)
+struct timespec {
+ time_t tv_sec; /* seconds */
+ long tv_nsec; /* and nanoseconds */
+};
+#endif
+
+struct timezone {
+ int tz_minuteswest; /* minutes west of Greenwich */
+ int tz_dsttime; /* type of dst correction */
+};
+
+int stime(const time_t *t);
+time_t timegm(struct tm * const t);
+int gettimeofday(struct timeval *tv, struct timezone *tz);
+int settimeofday(const struct timeval *tv, const struct timezone *tz);
+#if defined(__ARMCC_VERSION) || defined (__ICCARM__)
+struct tm *gmtime_r(const time_t *timep, struct tm *r);
+#endif
+
+#ifdef RT_USING_POSIX
+#include <sys/types.h>
+/* posix clock and timer */
+#define MILLISECOND_PER_SECOND 1000UL
+#define MICROSECOND_PER_SECOND 1000000UL
+#define NANOSECOND_PER_SECOND 1000000000UL
+
+#define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND)
+#define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND)
+#define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND)
+
+#ifndef CLOCK_REALTIME
+#define CLOCK_REALTIME 1
+#endif
+
+#define CLOCK_CPUTIME_ID 2
+
+#ifndef CLOCK_PROCESS_CPUTIME_ID
+#define CLOCK_PROCESS_CPUTIME_ID CLOCK_CPUTIME_ID
+#endif
+#ifndef CLOCK_THREAD_CPUTIME_ID
+#define CLOCK_THREAD_CPUTIME_ID CLOCK_CPUTIME_ID
+#endif
+
+#ifndef CLOCK_MONOTONIC
+#define CLOCK_MONOTONIC 4
+#endif
+
+int clock_getres (clockid_t clockid, struct timespec *res);
+int clock_gettime (clockid_t clockid, struct timespec *tp);
+int clock_settime (clockid_t clockid, const struct timespec *tp);
+int clock_time_to_tick(const struct timespec *time);
+#endif /* RT_USING_POSIX */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYS_TIME_H_ */