dongjianli
057d555129
sched/signal and syscall/: Add support for pselect() and ppoll() functions
2018-11-08 07:45:23 -06:00
nchao
6509a0c0ca
binfmt/ and libs/libc: Make exepath_*() more common:
...
1. Move exepath_*() related code to libc/misc
1. Rename exepath_ to envpath_
2. Rename BINFMT_EXEPATH to LIB_ENVPATH
libs/libc/modlib: Add pre module library symbol table support
2018-11-08 07:27:14 -06:00
Masayuki Ishikawa
bdfd25757e
Merged in masayuki2009/nuttx.nuttx/remove_sys_nnetsocket (pull request #696 )
...
include/sys: Remove unused SYS_nnetsocket from syscall.h
Because SYS_nnetsocket is not implemented so far, it should be
removed so that SYS_prctl can work correctly.
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-26 13:37:44 +00:00
Masayuki Ishikawa
874bf7835d
Merged in masayuki2009/nuttx.nuttx/fix_maxsyscall (pull request #694 )
...
include/sys: Fix SYS_maxsyscall in syscall.h
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-25 04:26:12 +00:00
Gregory Nutt
f090bbba57
syscall/: Add support for getpeername() and get_sockname() system calls.
2018-07-19 07:30:01 -06:00
Gregory Nutt
872a11b4a0
Correct some errors found in build testing.
2018-06-25 14:16:19 -06:00
Gregory Nutt
c65e1aa3df
Squashed commit of the following:
...
syscalls/: Add syscall support for if_nametoindex() and if_indextoname()
net/: Update some comments.
2018-06-25 12:41:28 -06:00
Gregory Nutt
341497484e
include/sys/syscall.h: Fix some kruft that snuck into the file with the last changes.
2018-06-16 13:07:12 -06:00
Gregory Nutt
8fca244f36
syscall: clock_systimer() is no longer a system call. It has been replaced with the equivalent, standard interface clock() as the system call.
...
sched/clock: Move the implementation of clock() from libs/libc/time to sched/clock. This is necessary because it calls the (now) internal OS function clock_systimer. clock() is now accessed only via a system call in certain configuratins.
libs/libc/wqueue: Replace calls to clock_systimer() with calls to the equivalent clock().
2018-06-16 12:50:28 -06:00
Gregory Nutt
de6b13b3ab
Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use internal nx_vsyslog in the few cases where a return value is required.
2018-03-04 08:07:07 -06:00
Gregory Nutt
e4652bd3dc
Squashed commit of the following:
...
fs: Add truncate() support for userfs
fs/unionfs: Add truncate() support to the unionfs
fs/tmpfs: Add ftruncate() support to tmpfs
syscall/: Add system call support for ftruncate()
net/route: Adding ftruncate() support eliminates an issue in file-based routing table management.
fs: Add basic framework to support truncate() and ftruncate(). The infrastructure is complete. Now, however, the actual implementation of ftruncate() will have to be done for each file system.
2018-01-03 16:03:56 -06:00
Gregory Nutt
35ee844590
sched/signal/sig_nanosleep.c and libc/time/lib_nanosleep.c: Implement clock_nanosleep(). nanosleep() is now reduced to a libc wrapper around clock_nanosleep().
2017-11-11 17:44:59 -06:00
Gregory Nutt
7154fc09ff
syscall/: Fix some backward conditional compilation
2017-10-07 07:46:42 -06:00
Gregory Nutt
5b04c25dcd
drivers/serial/tcdrain: tcdrain() was recently added to the NuttX C library. But there is a problem. The specification of tcdrain() requires that it be a cancellation point. In order to do this, tcdrain was moved from the C library into the OS and the addition cancellation point hooks were added. In non-FLAT builds, access via system calls is also now supported.
2017-10-06 10:55:36 -06:00
Gregory Nutt
8e966546c1
syscall/: The non-standard interface exec() is now enshrined as a official NuttX API. I really dislike doing this but I think that this is probably the only want to load programs in the protected mode. It is currently used by some example code under apps/ that generate their own symbol tables for linking. Other file execution APIs relay on a symbol table provided by the OS. In the protected mode, the OS cannot provide any meaning symbol table for execution of code in the user-space blob so that is they exec() is really needed in that build case. And, finally, the interface is completely useless and will not be supported in the KERNEL build mode where the contrary is true: An application process cannot provide any meaning symbolic information for use in linking a different process.
2017-10-03 07:09:35 -06:00
Gregory Nutt
23a6ff5846
pthreads: Move pthread_barrier_init, pthread_barrier_destroy, and pthread_barrier_wait from sched/pthreads to libc/pthreads. This just coordinate other OS interface calls but are not a fundamental OS interfaces and, hence, do not belong within the OS.
2017-06-14 07:59:54 -06:00
Gregory Nutt
ae168bffa0
pthreads: Move pthread_cond_init and pthread_cond_destory from sched/pthreads to libc/pthreads. This just coordinate other OS interface calls but are not a fundamental OS interfaces and, hence, do not belong within the OS.
2017-06-14 07:48:45 -06:00
Gregory Nutt
557fd6504f
pthreads: Move pthread_once from sched/pthreads to libc/pthreads. pthread_once just coordinates other OS interface calls but is not a fundamental OS interface and, hence, does not belong within the OS.
2017-06-14 07:31:10 -06:00
Gregory Nutt
8ae5450268
pthreads: Move pthread_yield from sched/pthreads to libc/pthreads. it is a simple wrapper for sched_yield and does not belong within the OS.
2017-06-14 07:31:10 -06:00
Jussi Kivilinna
dffb8a67e3
Add entropy pool and strong random number generator
...
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.
Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt
4800d3f545
Add syscall support for pthread_mutex_consistent()
2017-03-27 09:36:03 -06:00
Gregory Nutt
7b89a7789f
Correct error in syscall.h
2017-02-27 11:18:31 -06:00
Gregory Nutt
74160ccc4e
Add syscall support for fstatfs.
2017-02-17 08:46:07 -06:00
Gregory Nutt
e7404280e8
fstat(): Add syscall support
2017-02-14 10:44:01 -06:00
Gregory Nutt
4417e74977
Soft links: Add an (untested) implementation of readlink()
2017-02-03 13:57:12 -06:00
Gregory Nutt
b39d962021
Soft links: Update Documentation, rename file, add system calls
2017-02-02 17:11:08 -06:00
Gregory Nutt
34e539926a
Syscalls: Remove modsym() syscall. There is no reason why appication code could ever use symbolic information from a symbol within a kernel module. The modsym() interface is only meaningful within the kernel.
2017-01-28 11:03:06 -06:00
Gregory Nutt
4574a1ca42
Modules: Extend the module interface so that we can access symbols exported by the module.
2017-01-22 14:26:22 -06:00
Gregory Nutt
d648f9c8b4
Add task_testcancel()
2016-12-10 16:34:14 -06:00
Gregory Nutt
f132960789
Add task_setcanceltype()
2016-12-10 16:06:14 -06:00
Gregory Nutt
5fb207eb36
Add task_setcancelstate()
2016-12-10 15:16:46 -06:00
Gregory Nutt
e62b3bccd3
pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled.
2016-12-10 07:40:48 -06:00
Gregory Nutt
18ce5496e4
Fix upper- vs. lower-case typo.
2016-12-10 07:15:33 -06:00
Gregory Nutt
1b2135a90a
Add pthread_setcanceltype() and pthread_testcancel() as system calls.
2016-12-10 07:12:11 -06:00
Gregory Nutt
a1fbc2ad0d
pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop()
2016-12-08 09:27:13 -06:00
Gregory Nutt
b738a646ad
sem_getprotocol() can be in C library
2016-11-02 09:29:16 -06:00
Gregory Nutt
92d3022411
Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore.
2016-11-02 09:05:18 -06:00
Gregory Nutt
309480d0f9
Merge branch 'timekeeping' of bitbucket.org:nuttx/nuttx
2016-07-28 09:34:00 -06:00
Gregory Nutt
cf1d0e3222
Grrr.. more errors in same conditional compilation
2016-07-20 15:34:53 -06:00
Gregory Nutt
3218862616
Fix some backward conditional compilation
2016-07-20 15:32:56 -06:00
Gregory Nutt
bfc664af49
Fix pipe2() and mkfifo2() syscall logic
2016-07-20 15:26:54 -06:00
Gregory Nutt
b28fa8a609
Move pipe() and mkpipe() to nuttx/libc. Change syscalls to pipe2() and mkfifo2()
2016-07-19 14:15:26 -06:00
Gregory Nutt
246773faa7
Rename CONFIG_SCHED_TIMEKEEPING to CONFIG_CLOCK_TIMEKEEPING. That is a better compartmentalized name.
2016-07-11 06:54:02 -06:00
Gregory Nutt
f47b69e1f0
Add support for adjtime system call
2016-07-10 16:55:32 -06:00
Gregory Nutt
34f776dce9
Move the OS intensive part of vsyslog and vlowsyslog to drivers/syslog/vsyslog.c and vlowsyslog.c. Also move lib_syslogstrem to drivers/syslog/syslogstream.c
2016-06-19 07:56:24 -06:00
Gregory Nutt
f5e5908a70
vsyslog is now a system call
2016-06-19 07:03:44 -06:00
Gregory Nutt
5a590e99b9
Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity()
2016-02-19 18:13:06 -06:00
Gregory Nutt
032ad1b70b
Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer
2016-01-21 16:49:24 -06:00
Gregory Nutt
7db9a952bc
Fix an error in conditional compilation introduced in the last set of changes
2016-01-21 13:42:34 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00