Xiang Xiao
19bded4738
fs: Remove the unused nx_pipe to prefer file_pipe for kernel
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-27 23:14:25 +02:00
Miguel Herranz
819ebe7356
libc/stdio: Add stdio file locking functions
...
Add flockfile(), ftrylockfile() and funlockfile() functions [1].
[1] POSIX.1-2008 / System Interfaces / flockfile
https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/functions/flockfile.html
Signed-off-by: Miguel Herranz <miguel@midokura.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-22 23:34:45 +08:00
Xiang Xiao
40ef5bc6db
libc: Move queue.h from include to include/nuttx
...
to avoid the conflict with libuv's queue.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-26 08:04:58 +02:00
zhangyuan21
1a9252aec9
nuttx/queue: change some queue function to macro
2022-09-04 11:08:02 +08:00
Alan Carvalho de Assis
cf6eabd125
libc.csv: Add new found missing functions
2022-08-17 11:23:56 +08:00
Alan Carvalho de Assis
607ef3426a
Add some missing functions to libc.csv
2022-08-16 10:04:51 +08:00
Xiang Xiao
2b37909c9e
libc: Move crc8.h, crc16.h and crc32.h from include to include/nuttx
...
to avoid the conflict with the 3rd party library
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-13 13:28:24 +03:00
Jiuzhu Dong
035840a770
libc/wchar: remove unnecessary config
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-27 00:36:49 +08:00
YAMAMOTO Takashi
ded4fd33c1
Implement preadv and pwritev
2022-04-28 13:40:25 +08:00
YAMAMOTO Takashi
d832df88a5
libc.csv: sort
2022-04-28 13:40:25 +08:00
Xiang Xiao
6b8274fbd8
libc: Change the return type of strerror from "const char *" to "char *"
...
to follow up the spec here:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/strerror.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-20 23:02:50 +02:00
YAMAMOTO Takashi
1d89d9ae4b
libc.csv: Add pthread_setname_np and pthread_getname_np
2022-02-16 15:09:14 +08:00
YAMAMOTO Takashi
794df92fc9
libs/libc/libc.csv: Add feof
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
82fdba5258
libs/libc/libc.csv: Add truncate
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
182575d240
libs/libc/libc.csv: Add localtime and ctime
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
0db6ac28d8
libs/libc/libc.csv: Add atoi and friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
4b183b93cf
libs/libc/libc.csv: Add mktemp and its friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
113992c037
libs/libc/libc.csv: Add gettimeofday
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
5ebfb70427
libs/libc/libc.csv: Add pthread_cond_timedwait
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
741a1d2149
libs/libc/libc.csv: Add pthread_create
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
bbfd0667fc
libs/libc/libc.csv: Add uname
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
ebbfa034c7
libs/libc/libc.csv: Add shutdown
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
a06cf25ab6
libs/libc/libc.csv: Add getaddrinfo and friends
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
1b7cb3ef63
libs/libc/libc.csv: Add dlfcn functions
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
f5fb4d4d98
libs/libc/libc.csv: Add strtoumax and strtoimax
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
0b8464419d
libs/libc/libc.csv: Add ctype functions
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
ead9bf6481
libs/libc/libc.csv: Add ferror
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
c22e8c5427
libs/libc/libc.csv: Add rewind
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
c46bae4a4f
libs/libc/libc.csv: Add _assert
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
26b077080b
libs/libc/libc.csv: Add __stack_chk_fail
2022-01-29 01:04:23 +08:00
YAMAMOTO Takashi
b9e73ed8ba
libs/libc/libc.csv: Add mallinfo and malloc_size
2022-01-29 01:04:23 +08:00
Xiang Xiao
4a23737016
libc: Remove include/nuttx/lib/regex.h and libs/libc/misc/lib_match.c
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-03 08:59:54 -03:00
Xiang Xiao
a262eebe34
libc: Rename match to fnmatch
...
specified here:
https://pubs.opengroup.org/onlinepubs/007904875/functions/fnmatch.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-02 08:23:35 -03:00
Xiang Xiao
663104a2e9
fs: Simplify sendfile implementation
...
and avoid call nx_ file API in the kernel space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Id951ca161df2c2ee267dc4b5a0d7dfa67df4c1e6
2021-07-17 07:39:15 -03:00
Gregory Nutt
b991f30b82
syscall/syscall.csv: Correct ordering of entries
...
OS functions in syscall.csv are ordered alphabetically. However, two recently added functions are not in the correct location. This PR simply corrects that ordering.
The ordering of one entry was also corrected in libs/libc/libc.csv. Same issue.
This change is only cosmetic.
Verified only by CI
2021-05-31 21:15:36 -05:00
Byron Ellacott
9d4742af00
Add experimental support for an eZ80 toolchain using llvm and GNU binutils.
...
An additional fix for the RTC driver to lock the RTC after setting values instead of unlocking it is included.
2021-04-27 21:18:48 -03:00
Pavel Pisa
17c3118b85
libs/libc: libc.csv fill in calloc, gethostbyname and signal.
...
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2021-01-29 10:40:03 -08:00
Pavel Pisa
0a5e7bd3ef
libs/libc: libc.csv "mkfifo" and "pipe" has to be conditionalized same as in the sources.
...
The CONFIG_PIPES, CONFIG_DEV_FIFO_SIZE and CONFIG_DEV_PIPE_SIZE setting
has to be considered.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2021-01-29 10:40:03 -08:00
Xiang Xiao
af53bdb048
libc: Add opterr global variable
...
defined here:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-21 07:01:08 -06:00
Xiang Xiao
b0797263ca
libc/stdio: Allocate file_struct dynamically
...
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
2020-09-11 17:58:17 +08:00
Xiang Xiao
43d7c1e807
libc: Add IPTR for puts/fputs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2a83afb4d934a44ad1b56ec6dd72e654f4e112a3
2020-06-10 00:03:53 -07:00
Xiang Xiao
29f9d97420
libc: Call vdprintf in printf/vprintf for CONFIG_NFILE_STREAMS == 0
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I3c49ec02a9444f039ac7aac7b8ea6de5d1090340
2020-06-03 07:35:08 -06:00
Xiang Xiao
a55f8d24a2
libc: Implement vscanf() function
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2421e57b2c848c43afb749b8ebfa79ec457cde26
2020-06-03 07:35:08 -06:00
Xiang Xiao
de509004fd
libc: Implement mblen, mbstowcs and wcstombs
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I682c39fc132a1614b91284670882e331add765a9
2020-06-02 07:13:37 -06:00
Xiang Xiao
7cbcbcde51
libc: Implement wcsrtombs, wcsnrtombs and mbsnrtowcs
...
and update the related stuff in libs/libc/libc.csv
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Id695a7f07bf18a7b4e526297f9131c75ddb79d30
2020-06-02 07:13:37 -06:00
Xiang Xiao
a2d924eea4
syscall: Fix typo error in cvs and header file
...
and reoder the entry in cvs file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-07 10:31:05 -06:00
Xiang Xiao
d9d2fc0d0a
debug: Reduce CONFIG_CPP_HAVE_VARARGS usage
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-05 08:27:58 -06:00
Xiang Xiao
6604cdb3f2
fs: Remove all LIBC_IOCTL_VARIADIC related stuff
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-05 08:27:58 -06:00
Xiang Xiao
a2f6dc9b7c
errno: Rename get_errno_ptr to __errno
...
Inrease the compatiblity with the third party library(e.g. newlib)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-03 12:15:54 -06:00
Gregory Nutt
67ec3d7926
Remove CONFIG_CAN_PASS_STRUCT
...
This commit resolves issue #620 :
Remove CONFIG_CAN_PASS_STRUCTS #620
The configuration option CONFIG_CAN_PASS_STRUCTS was added many years ago to support an old version of the SDCC compiler. That compiler is currently used only with the Z80 and Z180 targets. The limitation of that old compiler was that it could not pass structures or unions as either inputs or outputs. For example:
#ifdef CONFIG_CAN_PASS_STRUCTS
struct mallinfo mallinfo(void);
#else
int mallinfo(FAR struct mallinfo *info);
#endif
And even leads to violation of a few POSIX interfaces like:
#ifdef CONFIG_CAN_PASS_STRUCTS
int sigqueue(int pid, int signo, union sigval value);
#else
int sigqueue(int pid, int signo, FAR void *sival_ptr);
#endif
This breaks the 1st INVIOLABLES rule:
Strict POSIX compliance
-----------------------
o Strict conformance to the portable standard OS interface as defined at
OpenGroup.org.
o A deeply embedded system requires some special support. Special
support must be minimized.
o The portable interface must never be compromised only for the sake of
expediency.
o Expediency or even improved performance are not justifications for
violation of the strict POSIX interface
Also, it appears that the current SDCC compilers have resolve this issue and so, perhaps, this is no longer a problem: z88dk/z88dk#1132
NOTE: This commit cannot pass the PR checks because it depends on matching changes to the apps/ directory.
2020-04-11 21:19:47 +01:00