You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/05/07 16:31:17 UTC

[incubator-nuttx] 03/04: syscall: Generate SYS_ number from syscall_lookup.h

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 32cec2a439d5d66544312d45b2cbbedb392906b4
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Thu May 7 14:42:52 2020 +0800

    syscall: Generate SYS_ number from syscall_lookup.h
    
    to reduce the maintainance effort
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 include/sys/syscall.h                     | 524 +-----------------------------
 {syscall => include/sys}/syscall_lookup.h | 137 ++++----
 syscall/syscall_funclookup.c              |  18 +-
 syscall/syscall_nparms.c                  |  16 +-
 syscall/syscall_stublookup.c              |  10 +-
 5 files changed, 91 insertions(+), 614 deletions(-)

diff --git a/include/sys/syscall.h b/include/sys/syscall.h
index 88c7d4c..1cf0760 100644
--- a/include/sys/syscall.h
+++ b/include/sys/syscall.h
@@ -46,529 +46,35 @@
 #  define CONFIG_SYS_RESERVED          (0)
 #endif
 
-/* System call numbers
- *
- * These first system calls are supported regardless of the NuttX
- * configuration
- */
-
-#define SYS__exit                      (CONFIG_SYS_RESERVED + 0)
-#define SYS_exit                       (CONFIG_SYS_RESERVED + 1)
-#define SYS_get_errno                  (CONFIG_SYS_RESERVED + 2)
-#define SYS_getpid                     (CONFIG_SYS_RESERVED + 3)
-
-#define SYS_sched_getparam             (CONFIG_SYS_RESERVED + 4)
-#define SYS_sched_getscheduler         (CONFIG_SYS_RESERVED + 5)
-#define SYS_sched_lock                 (CONFIG_SYS_RESERVED + 6)
-#define SYS_sched_lockcount            (CONFIG_SYS_RESERVED + 7)
-#define SYS_sched_rr_get_interval      (CONFIG_SYS_RESERVED + 8)
-#define SYS_sched_setparam             (CONFIG_SYS_RESERVED + 9)
-#define SYS_sched_setscheduler         (CONFIG_SYS_RESERVED + 10)
-#define SYS_sched_unlock               (CONFIG_SYS_RESERVED + 11)
-#define SYS_sched_yield                (CONFIG_SYS_RESERVED + 12)
-#define SYS_sched_get_stackinfo        (CONFIG_SYS_RESERVED + 13)
-
-#ifdef CONFIG_SMP
-#  define SYS_sched_getaffinity        (CONFIG_SYS_RESERVED + 14)
-#  define SYS_sched_getcpu             (CONFIG_SYS_RESERVED + 15)
-#  define SYS_sched_setaffinity        (CONFIG_SYS_RESERVED + 16)
-#  define __SYS_set_errno              (CONFIG_SYS_RESERVED + 17)
-#else
-#  define __SYS_set_errno              (CONFIG_SYS_RESERVED + 14)
-#endif
-
-#define SYS_set_errno                  (__SYS_set_errno + 0)
-#define SYS_uname                      (__SYS_set_errno + 1)
-#define __SYS_uid                      (__SYS_set_errno + 2)
-
-/* User identity */
-
-#ifdef CONFIG_SCHED_USER_IDENTITY
-#  define SYS_setuid                   (__SYS_uid + 0)
-#  define SYS_getuid                   (__SYS_uid + 1)
-#  define SYS_setgid                   (__SYS_uid + 2)
-#  define SYS_getgid                   (__SYS_uid + 3)
-#  define __SYS_sem                    (__SYS_uid + 4)
-#else
-#  define __SYS_sem                    (__SYS_uid + 0)
-#endif
-
-/* Semaphores */
-
-#define SYS_sem_destroy                (__SYS_sem + 0)
-#define SYS_sem_post                   (__SYS_sem + 1)
-#define SYS_sem_timedwait              (__SYS_sem + 2)
-#define SYS_sem_trywait                (__SYS_sem + 3)
-#define SYS_sem_wait                   (__SYS_sem + 4)
-
-#ifdef CONFIG_PRIORITY_INHERITANCE
-#  define SYS_sem_setprotocol          (__SYS_sem + 5)
-#  define __SYS_named_sem              (__SYS_sem + 6)
-#else
-#  define __SYS_named_sem              (__SYS_sem + 5)
-#endif
-
-/* Named semaphores */
-
-#ifdef CONFIG_FS_NAMED_SEMAPHORES
-#  define SYS_sem_open                 (__SYS_named_sem + 0)
-#  define SYS_sem_close                (__SYS_named_sem + 1)
-#  define SYS_sem_unlink               (__SYS_named_sem + 2)
-#  define __SYS_task_create            (__SYS_named_sem + 3)
-#else
-#  define __SYS_task_create            (__SYS_named_sem + 0)
-#endif
-
-/* Task creation APIs based on global entry points cannot be use with
- * address environments.
- */
-
-#ifndef CONFIG_BUILD_KERNEL
-#  define SYS_task_create              (__SYS_task_create + 0)
-#ifdef CONFIG_BUILD_PROTECTED
-#  define SYS_nx_task_spawn            (__SYS_task_create + 1)
-#  define __SYS_task_delete            (__SYS_task_create + 2)
-#else
-#  define __SYS_task_delete            (__SYS_task_create + 1)
-#endif
-
-/* pgalloc() is only available with address environments with the page
- * allocator selected.  MMU support from the CPU is also required.
- */
-
-#else
-#  define SYS_pgalloc                  (__SYS_task_create + 0)
-#  define __SYS_task_delete            (__SYS_task_create + 1)
-#endif
-
-#  define SYS_task_delete              (__SYS_task_delete + 0)
-#  define SYS_task_restart             (__SYS_task_delete + 1)
-#  define SYS_task_setcancelstate      (__SYS_task_delete + 2)
-#  define SYS_up_assert                (__SYS_task_delete + 3)
-
-#  ifdef CONFIG_CANCELLATION_POINTS
-#    define SYS_task_setcanceltype     (__SYS_task_delete + 4)
-#    define SYS_task_testcancel        (__SYS_task_delete + 5)
-#    define __SYS_vfork                (__SYS_task_delete + 6)
-#  else
-#    define __SYS_vfork                (__SYS_task_delete + 4)
-#  endif
-
-/* The following can be individually enabled */
-
-#if defined(CONFIG_SCHED_WAITPID) && defined(CONFIG_ARCH_HAVE_VFORK)
-#  define SYS_vfork                    (__SYS_vfork + 0)
-#  define __SYS_atexit                 (__SYS_vfork + 1)
-#else
-#  define __SYS_atexit                 (__SYS_vfork + 0)
-#endif
-
-#ifdef CONFIG_SCHED_ATEXIT
-#  define SYS_atexit                   (__SYS_atexit + 0)
-#  define __SYS_on_exit                (__SYS_atexit + 1)
-#else
-#  define __SYS_on_exit                (__SYS_atexit + 0)
-#endif
-
-#ifdef CONFIG_SCHED_ONEXIT
-#  define SYS_on_exit                  (__SYS_on_exit + 0)
-#  define __SYS_waitpid                (__SYS_on_exit + 1)
-#else
-#  define __SYS_waitpid                (__SYS_on_exit + 0)
-#endif
-
-#ifdef CONFIG_SCHED_WAITPID
-#  define SYS_waitpid                  (__SYS_waitpid + 0)
-#  ifdef CONFIG_SCHED_HAVE_PARENT
-#    define SYS_wait                   (__SYS_waitpid + 1)
-#    define SYS_waitid                 (__SYS_waitpid + 2)
-#    define __SYS_insmod               (__SYS_waitpid + 3)
-#  else
-#    define __SYS_insmod               (__SYS_waitpid + 1)
-#  endif
-#else
-#  define __SYS_insmod                 (__SYS_waitpid + 0)
-#endif
-
-/* The following can only be defined if we are configured to load
- * OS modules from a file system.
- */
-
-#ifdef CONFIG_MODULE
-#  define SYS_insmod                  (__SYS_insmod + 0)
-#  define SYS_rmmod                   (__SYS_insmod + 1)
-#  define SYS_modhandle               (__SYS_insmod + 2)
-#  define __SYS_exec                  (__SYS_insmod + 3)
-#else
-#  define __SYS_exec                  (__SYS_insmod + 0)
-#endif
-
-/* The following can only be defined if we are configured to execute
- * programs from a file system.
- */
-
-#ifndef CONFIG_BINFMT_DISABLE
-#  ifndef CONFIG_BUILD_KERNEL
-#    define SYS_exec                   (__SYS_exec + 0)
-#    define __SYS_posix_spawn          (__SYS_exec + 1)
-#  else
-#    define __SYS_posix_spawn          (__SYS_exec + 0)
-#  endif
-#  ifdef CONFIG_LIBC_EXECFUNCS
-#    ifdef CONFIG_LIB_ENVPATH
-#      define SYS_posix_spawnp         (__SYS_posix_spawn + 0)
-#    else
-#      define SYS_posix_spawn          (__SYS_posix_spawn + 0)
-#    endif
-#    define SYS_execv                  (__SYS_posix_spawn + 1)
-#    define __SYS_signals              (__SYS_posix_spawn + 2)
-#  else
-#    define __SYS_signals              (__SYS_posix_spawn + 0)
-#  endif
-#else
-#  define __SYS_signals                (__SYS_exec + 0)
-#endif
-
-/* The following are only defined is signals are supported in the NuttX
- * configuration.
- */
-
-#define SYS_kill                       (__SYS_signals + 0)
-#define SYS_sigaction                  (__SYS_signals + 1)
-#define SYS_sigpending                 (__SYS_signals + 2)
-#define SYS_sigprocmask                (__SYS_signals + 3)
-#define SYS_sigqueue                   (__SYS_signals + 4)
-#define SYS_sigsuspend                 (__SYS_signals + 5)
-#define SYS_sigtimedwait               (__SYS_signals + 6)
-#define SYS_sigwaitinfo                (__SYS_signals + 7)
-#define SYS_clock_nanosleep            (__SYS_signals + 8)
-#define __SYS_clock                    (__SYS_signals + 9)
-
-/* The following are only defined if the system clock is enabled in the
- * NuttX configuration.
- */
-
-#define SYS_clock                      (__SYS_clock + 0)
-#define SYS_clock_getres               (__SYS_clock + 1)
-#define SYS_clock_gettime              (__SYS_clock + 2)
-#define SYS_clock_settime              (__SYS_clock + 3)
-#ifdef CONFIG_CLOCK_TIMEKEEPING
-#  define SYS_adjtime                  (__SYS_clock + 4)
-#  define __SYS_timers                 (__SYS_clock + 5)
-#else
-#  define __SYS_timers                 (__SYS_clock + 4)
-#endif
-
-/* The following are defined only if POSIX timers are supported */
-
-#ifndef CONFIG_DISABLE_POSIX_TIMERS
-#  define SYS_timer_create             (__SYS_timers + 0)
-#  define SYS_timer_delete             (__SYS_timers + 1)
-#  define SYS_timer_getoverrun         (__SYS_timers + 2)
-#  define SYS_timer_gettime            (__SYS_timers + 3)
-#  define SYS_timer_settime            (__SYS_timers + 4)
-#  define SYS_getitimer                (__SYS_timers + 5)
-#  define SYS_setitimer                (__SYS_timers + 6)
-#  define __SYS_syslog                 (__SYS_timers + 7)
-#else
-#  define __SYS_syslog                 (__SYS_timers + 0)
-#endif
-
-/* Unconditional system logging */
-
-#define SYS_nx_vsyslog                 (__SYS_syslog + 0)
-#define __SYS_descriptors              (__SYS_syslog + 1)
-
-/* The following are defined if either file or socket descriptor are
- * enabled.
- */
-
-#define SYS_close                    (__SYS_descriptors + 0)
-#define SYS_ioctl                    (__SYS_descriptors + 1)
-#define SYS_read                     (__SYS_descriptors + 2)
-#define SYS_write                    (__SYS_descriptors + 3)
-#define SYS_pread                    (__SYS_descriptors + 4)
-#define SYS_pwrite                   (__SYS_descriptors + 5)
-
-#ifdef CONFIG_FS_AIO
-#  define SYS_aio_read               (__SYS_descriptors + 6)
-#  define SYS_aio_write              (__SYS_descriptors + 7)
-#  define SYS_aio_fsync              (__SYS_descriptors + 8)
-#  define SYS_aio_cancel             (__SYS_descriptors + 9)
-#  define __SYS_poll                 (__SYS_descriptors + 10)
-#else
-#  define __SYS_poll                 (__SYS_descriptors + 6)
-#endif
-
-#define SYS_poll                     (__SYS_poll + 0)
-#define SYS_select                   (__SYS_poll + 1)
-#define SYS_ppoll                    (__SYS_poll + 2)
-#define SYS_pselect                  (__SYS_poll + 3)
-#define __SYS_ifindex                (__SYS_poll + 4)
-
-#ifdef CONFIG_NETDEV_IFINDEX
-#  define SYS_if_indextoname         (__SYS_ifindex + 0)
-#  define SYS_if_nametoindex         (__SYS_ifindex + 1)
-#  define __SYS_termios              (__SYS_ifindex + 2)
-#else
-#  define __SYS_termios              (__SYS_ifindex + 0)
-#endif
-
-#ifdef CONFIG_SERIAL_TERMIOS
-#  define SYS_tcdrain                (__SYS_termios + 0)
-#  define __SYS_boardctl             (__SYS_termios + 1)
-#else
-#  define __SYS_boardctl             (__SYS_termios + 0)
-#endif
-
-/* Board support */
-
-#ifdef CONFIG_LIB_BOARDCTL
-#    define SYS_boardctl                (__SYS_boardctl + 0)
-#  define __SYS_filedesc                (__SYS_boardctl + 1)
-#else
-#  define __SYS_filedesc                (__SYS_boardctl + 0)
-#endif
-
-/* The following are defined if file descriptors are enabled */
-
-#define SYS_closedir                   (__SYS_filedesc + 0)
-#define SYS_dup                        (__SYS_filedesc + 1)
-#define SYS_dup2                       (__SYS_filedesc + 2)
-#define SYS_fcntl                      (__SYS_filedesc + 3)
-#define SYS_lseek                      (__SYS_filedesc + 4)
-#define SYS_mmap                       (__SYS_filedesc + 5)
-#define SYS_open                       (__SYS_filedesc + 6)
-#define SYS_opendir                    (__SYS_filedesc + 7)
-#define SYS_readdir                    (__SYS_filedesc + 8)
-#define SYS_rewinddir                  (__SYS_filedesc + 9)
-#define SYS_seekdir                    (__SYS_filedesc + 10)
-#define SYS_stat                       (__SYS_filedesc + 11)
-#define SYS_fstat                      (__SYS_filedesc + 12)
-#define SYS_statfs                     (__SYS_filedesc + 13)
-#define SYS_fstatfs                    (__SYS_filedesc + 14)
-#define SYS_telldir                    (__SYS_filedesc + 15)
-
-#ifdef CONFIG_FS_RAMMAP
-#  define SYS_munmap                   (__SYS_filedesc + 16)
-#  define __SYS_link                   (__SYS_filedesc + 17)
-#else
-#  define __SYS_link                   (__SYS_filedesc + 16)
-#endif
-
-#if defined(CONFIG_PSEUDOFS_SOFTLINKS)
-#  define SYS_link                     (__SYS_link + 0)
-#  define SYS_readlink                 (__SYS_link + 1)
-#  define __SYS_pipes                  (__SYS_link + 2)
-#else
-#  define __SYS_pipes                  (__SYS_link + 0)
-#endif
-
-#if defined(CONFIG_PIPES) && CONFIG_DEV_PIPE_SIZE > 0
-#  define SYS_nx_pipe                  (__SYS_pipes + 0)
-#  define SYS_nx_mkfifo                (__SYS_pipes + 1)
-#  define __SYS_fs_fdopen              (__SYS_pipes + 2)
-#else
-#  define __SYS_fs_fdopen              (__SYS_pipes + 0)
-#endif
-
-#if CONFIG_NFILE_STREAMS > 0
-#  define SYS_fs_fdopen                (__SYS_fs_fdopen + 0)
-#  define SYS_sched_getstreams         (__SYS_fs_fdopen + 1)
-#  define __SYS_sendfile               (__SYS_fs_fdopen + 2)
-#else
-#  define __SYS_sendfile               (__SYS_fs_fdopen + 0)
-#endif
-
-#if defined(CONFIG_NET_SENDFILE)
-#  define SYS_sendfile,                (__SYS_sendfile + 0)
-#  define __SYS_mountpoint             (__SYS_sendfile + 1)
-#else
-#  define __SYS_mountpoint             (__SYS_sendfile + 0)
-#endif
-
-#if !defined(CONFIG_DISABLE_MOUNTPOINT)
-#  define SYS_mount                    (__SYS_mountpoint + 0)
-#  define SYS_fsync                    (__SYS_mountpoint + 1)
-#  define SYS_ftruncate                (__SYS_mountpoint + 2)
-#  define SYS_mkdir                    (__SYS_mountpoint + 3)
-#  define SYS_rename                   (__SYS_mountpoint + 4)
-#  define SYS_rmdir                    (__SYS_mountpoint + 5)
-#  define SYS_umount2                  (__SYS_mountpoint + 6)
-#  define SYS_unlink                   (__SYS_mountpoint + 7)
-#  define __SYS_shm                    (__SYS_mountpoint + 8)
-#else
-#  define __SYS_shm                    (__SYS_mountpoint + 0)
-#endif
-
-/* Shared memory interfaces */
-
-#ifdef CONFIG_MM_SHM
-#  define SYS_shmget                   (__SYS_shm + 0)
-#  define SYS_shmat                    (__SYS_shm + 1)
-#  define SYS_shmctl                   (__SYS_shm + 2)
-#  define SYS_shmdt                    (__SYS_shm + 3)
-#  define __SYS_pthread                (__SYS_shm + 4)
-#else
-#  define __SYS_pthread                (__SYS_shm + 0)
-#endif
-
-/* The following are defined if pthreads are enabled */
-
-#ifndef CONFIG_DISABLE_PTHREAD
-#  define SYS_pthread_cancel           (__SYS_pthread + 0)
-#  define SYS_pthread_cond_broadcast   (__SYS_pthread + 1)
-#  define SYS_pthread_cond_signal      (__SYS_pthread + 2)
-#  define SYS_pthread_cond_wait        (__SYS_pthread + 3)
-#  define SYS_pthread_create           (__SYS_pthread + 4)
-#  define SYS_pthread_detach           (__SYS_pthread + 5)
-#  define SYS_pthread_exit             (__SYS_pthread + 6)
-#  define SYS_pthread_getschedparam    (__SYS_pthread + 7)
-#  define SYS_pthread_getspecific      (__SYS_pthread + 8)
-#  define SYS_pthread_join             (__SYS_pthread + 9)
-#  define SYS_pthread_key_create       (__SYS_pthread + 10)
-#  define SYS_pthread_key_delete       (__SYS_pthread + 11)
-#  define SYS_pthread_mutex_destroy    (__SYS_pthread + 12)
-#  define SYS_pthread_mutex_init       (__SYS_pthread + 13)
-#  define SYS_pthread_mutex_timedlock  (__SYS_pthread + 14)
-#  define SYS_pthread_mutex_trylock    (__SYS_pthread + 15)
-#  define SYS_pthread_mutex_unlock     (__SYS_pthread + 16)
-
-#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
-#  define SYS_pthread_mutex_consistent (__SYS_pthread + 17)
-#  define __SYS_pthread_setschedparam  (__SYS_pthread + 18)
-#else
-#  define __SYS_pthread_setschedparam  (__SYS_pthread + 17)
-#endif
-
-#  define SYS_pthread_setschedparam    (__SYS_pthread_setschedparam + 0)
-#  define SYS_pthread_setschedprio     (__SYS_pthread_setschedparam + 1)
-#  define SYS_pthread_setspecific      (__SYS_pthread_setschedparam + 2)
-#  define __SYS_pthread_smp            (__SYS_pthread_setschedparam + 3)
-
-#  ifdef CONFIG_SMP
-#    define SYS_pthread_setaffinity_np (__SYS_pthread_smp + 0)
-#    define SYS_pthread_getaffinity_np (__SYS_pthread_smp + 1)
-#    define __SYS_pthread_signals      (__SYS_pthread_smp + 2)
-#  else
-#    define __SYS_pthread_signals      (__SYS_pthread_smp + 0)
-#  endif
-
-#  define SYS_pthread_cond_timedwait   (__SYS_pthread_signals + 0)
-#  define SYS_pthread_kill             (__SYS_pthread_signals + 1)
-#  define SYS_pthread_sigmask          (__SYS_pthread_signals + 2)
-#  define __SYS_pthread_cleanup        (__SYS_pthread_signals + 3)
-
-#  ifdef CONFIG_PTHREAD_CLEANUP
-#    define SYS_pthread_cleanup_push   (__SYS_pthread_cleanup + 0)
-#    define SYS_pthread_cleanup_pop    (__SYS_pthread_cleanup + 1)
-#    define __SYS_mqueue               (__SYS_pthread_cleanup + 2)
-#  else
-#    define __SYS_mqueue               (__SYS_pthread_cleanup + 0)
-#  endif
-
-#else
-#  define __SYS_mqueue                 (__SYS_pthread + 0)
-#endif
-
-/* The following are defined only if message queues are enabled */
-
-#ifndef CONFIG_DISABLE_MQUEUE
-#  define SYS_mq_close                 (__SYS_mqueue + 0)
-#  define SYS_mq_getattr               (__SYS_mqueue + 1)
-#  define SYS_mq_notify                (__SYS_mqueue + 2)
-#  define SYS_mq_open                  (__SYS_mqueue + 3)
-#  define SYS_mq_receive               (__SYS_mqueue + 4)
-#  define SYS_mq_send                  (__SYS_mqueue + 5)
-#  define SYS_mq_setattr               (__SYS_mqueue + 6)
-#  define SYS_mq_timedreceive          (__SYS_mqueue + 7)
-#  define SYS_mq_timedsend             (__SYS_mqueue + 8)
-#  define SYS_mq_unlink                (__SYS_mqueue + 9)
-#  define __SYS_environ                (__SYS_mqueue + 10)
-#else
-#  define __SYS_environ                (__SYS_mqueue + 0)
-#endif
-
-/* The following are defined only if environment variables are supported */
-
-#ifndef CONFIG_DISABLE_ENVIRON
-#  define SYS_clearenv                 (__SYS_environ + 0)
-#  define SYS_getenv                   (__SYS_environ + 1)
-#  define SYS_putenv                   (__SYS_environ + 2)
-#  define SYS_setenv                   (__SYS_environ + 3)
-#  define SYS_unsetenv                 (__SYS_environ + 4)
-#  define __SYS_netdb                  (__SYS_environ + 5)
-#else
-#  define __SYS_netdb                  (__SYS_environ + 0)
-#endif
-
-/* The following are defined if netdb is supported */
-
-#ifdef CONFIG_LIBC_NETDB
-#  define SYS_sethostname              (__SYS_netdb + 0)
-#  define __SYS_network                (__SYS_netdb + 1)
-#else
-#  define __SYS_network                (__SYS_netdb + 0)
-#endif
-
-/* The following are defined only if networking AND sockets are supported */
-
-#ifdef CONFIG_NET
-#  define SYS_accept                   (__SYS_network + 0)
-#  define SYS_bind                     (__SYS_network + 1)
-#  define SYS_connect                  (__SYS_network + 2)
-#  define SYS_getpeername              (__SYS_network + 3)
-#  define SYS_getsockname              (__SYS_network + 4)
-#  define SYS_getsockopt               (__SYS_network + 5)
-#  define SYS_listen                   (__SYS_network + 6)
-#  define SYS_recv                     (__SYS_network + 7)
-#  define SYS_recvfrom                 (__SYS_network + 8)
-#  define SYS_send                     (__SYS_network + 9)
-#  define SYS_sendto                   (__SYS_network + 10)
-#  define SYS_setsockopt               (__SYS_network + 11)
-#  define SYS_socket                   (__SYS_network + 12)
-#  define __SYS_socket                 (__SYS_network + 13)
-#else
-#  define __SYS_socket                 (__SYS_network + 0)
-#endif
-
-/* The following is defined only if CONFIG_TASK_NAME_SIZE > 0 */
-
-#if CONFIG_TASK_NAME_SIZE > 0
-#  define SYS_prctl                    (__SYS_socket + 0)
-#  define __SYS_prctl                  (__SYS_socket + 1)
-#else
-#  define __SYS_prctl                  (__SYS_socket + 0)
-#endif
-
-/* The following is defined only if entropy pool random number generator
- * is enabled.
- */
-
-#ifdef CONFIG_CRYPTO_RANDOM_POOL
-#  define SYS_getrandom                (__SYS_prctl + 0)
-#  define SYS_maxsyscall               (__SYS_prctl + 1)
-#else
-#  define SYS_maxsyscall               (__SYS_prctl + 0)
-#endif
-
 /* Note that the reported number of system calls does *NOT* include the
  * architecture-specific system calls.  If the "real" total is required,
  * use SYS_maxsyscall.
  */
 
-#define SYS_nsyscalls                  (SYS_maxsyscall-CONFIG_SYS_RESERVED)
+#define SYS_nsyscalls                  (SYS_maxsyscall - CONFIG_SYS_RESERVED)
+
+#ifndef __ASSEMBLY__
 
 /****************************************************************************
  * Public Type Definitions
  ****************************************************************************/
 
+enum
+{
+#  define SYSCALL_LOOKUP_(f)     SYS_##f
+#  define SYSCALL_LOOKUP1(f,n,p) SYSCALL_LOOKUP_(f) = CONFIG_SYS_RESERVED
+#  define SYSCALL_LOOKUP(f,n,p)  , SYSCALL_LOOKUP_(f)
+#  include "syscall_lookup.h"
+  , SYS_maxsyscall
+#  undef SYSCALL_LOOKUP_
+#  undef SYSCALL_LOOKUP1
+#  undef SYSCALL_LOOKUP
+};
+
 /****************************************************************************
  * Public Data
  ****************************************************************************/
 
-#ifndef __ASSEMBLY__
-
 #ifdef __cplusplus
 #define EXTERN extern "C"
 extern "C"
diff --git a/syscall/syscall_lookup.h b/include/sys/syscall_lookup.h
similarity index 76%
rename from syscall/syscall_lookup.h
rename to include/sys/syscall_lookup.h
index e9eb8ce..60b2e43 100644
--- a/syscall/syscall_lookup.h
+++ b/include/sys/syscall_lookup.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * syscall/syscall_lookup.h
+ * include/sys/syscall_lookup.h
  *
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -18,10 +18,6 @@
  *
  ****************************************************************************/
 
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
 /* SYSCALL_LOOKUP must be defined before including this file.
  *
  * These first system calls are supported regardless of the NuttX
@@ -45,21 +41,22 @@ SYSCALL_LOOKUP(sched_yield,                0, STUB_sched_yield)
 SYSCALL_LOOKUP(sched_get_stackinfo,        2, STUB_sched_get_stackinfo)
 
 #ifdef CONFIG_SMP
-SYSCALL_LOOKUP(sched_getaffinity,          3, STUB_sched_getaffinity)
-SYSCALL_LOOKUP(sched_getcpu,               0, STUB_sched_getcpu)
-SYSCALL_LOOKUP(sched_setaffinity,          3, STUB_sched_setaffinity)
+  SYSCALL_LOOKUP(sched_getaffinity,        3, STUB_sched_getaffinity)
+  SYSCALL_LOOKUP(sched_getcpu,             0, STUB_sched_getcpu)
+  SYSCALL_LOOKUP(sched_setaffinity,        3, STUB_sched_setaffinity)
 #endif
 
 SYSCALL_LOOKUP(set_errno,                  1, STUB_set_errno)
 SYSCALL_LOOKUP(uname,                      1, STUB_uname)
+SYSCALL_LOOKUP(sethostname,                2, STUB_sethostname)
 
 /* User identity */
 
 #ifdef CONFIG_SCHED_USER_IDENTITY
-SYSCALL_LOOKUP(setuid,                     1, STUB_setuid)
-SYSCALL_LOOKUP(getuid,                     0, STUB_getuid)
-SYSCALL_LOOKUP(setgid,                     1, STUB_setgid)
-SYSCALL_LOOKUP(getgid,                     0, STUB_getgid)
+  SYSCALL_LOOKUP(setuid,                   1, STUB_setuid)
+  SYSCALL_LOOKUP(getuid,                   0, STUB_getuid)
+  SYSCALL_LOOKUP(setgid,                   1, STUB_setgid)
+  SYSCALL_LOOKUP(getgid,                   0, STUB_getgid)
 #endif
 
 /* Semaphores */
@@ -71,34 +68,34 @@ SYSCALL_LOOKUP(sem_trywait,                1, STUB_sem_trywait)
 SYSCALL_LOOKUP(sem_wait,                   1, STUB_sem_wait)
 
 #ifdef CONFIG_PRIORITY_INHERITANCE
-SYSCALL_LOOKUP(sem_setprotocol,            2, STUB_sem_setprotocol)
+  SYSCALL_LOOKUP(sem_setprotocol,          2, STUB_sem_setprotocol)
 #endif
 
 /* Named semaphores */
 
 #ifdef CONFIG_FS_NAMED_SEMAPHORES
-SYSCALL_LOOKUP(sem_open,                   4, STUB_sem_open)
-SYSCALL_LOOKUP(sem_close,                  1, STUB_sem_close)
-SYSCALL_LOOKUP(sem_unlink,                 1, STUB_sem_unlink)
+  SYSCALL_LOOKUP(sem_open,                 4, STUB_sem_open)
+  SYSCALL_LOOKUP(sem_close,                1, STUB_sem_close)
+  SYSCALL_LOOKUP(sem_unlink,               1, STUB_sem_unlink)
 #endif
 
 #ifndef CONFIG_BUILD_KERNEL
-SYSCALL_LOOKUP(task_create,                5, STUB_task_create)
+  SYSCALL_LOOKUP(task_create,              5, STUB_task_create)
 #ifdef CONFIG_LIB_SYSCALL
-SYSCALL_LOOKUP(nx_task_spawn,              1, STUB_nx_task_spawn)
+  SYSCALL_LOOKUP(nx_task_spawn,            1, STUB_nx_task_spawn)
 #endif
 #else
-SYSCALL_LOOKUP(pgalloc,                    2, STUB_pgalloc)
+  SYSCALL_LOOKUP(pgalloc,                  2, STUB_pgalloc)
 #endif
 SYSCALL_LOOKUP(task_delete,                1, STUB_task_delete)
 SYSCALL_LOOKUP(task_restart,               1, STUB_task_restart)
 SYSCALL_LOOKUP(task_setcancelstate,        2, STUB_task_setcancelstate)
 SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 
-#  ifdef CONFIG_CANCELLATION_POINTS
+#ifdef CONFIG_CANCELLATION_POINTS
   SYSCALL_LOOKUP(task_setcanceltype,       2, STUB_task_setcanceltype)
   SYSCALL_LOOKUP(task_testcancel,          0, STUB_task_testcancel)
-#  endif
+#endif
 
 /* The following can be individually enabled */
 
@@ -116,10 +113,10 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 
 #ifdef CONFIG_SCHED_WAITPID
   SYSCALL_LOOKUP(waitpid,                  3, STUB_waitpid)
-#  ifdef CONFIG_SCHED_HAVE_PARENT
+#ifdef CONFIG_SCHED_HAVE_PARENT
   SYSCALL_LOOKUP(wait,                     1, STUB_wait)
   SYSCALL_LOOKUP(waitid,                   4, STUB_waitid)
-#  endif
+#endif
 #endif
 
 /* The following can only be defined if we are configured to load
@@ -154,24 +151,24 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
  * configuration.
  */
 
-  SYSCALL_LOOKUP(kill,                     2, STUB_kill)
-  SYSCALL_LOOKUP(sigaction,                3, STUB_sigaction)
-  SYSCALL_LOOKUP(sigpending,               1, STUB_sigpending)
-  SYSCALL_LOOKUP(sigprocmask,              3, STUB_sigprocmask)
-  SYSCALL_LOOKUP(sigqueue,                 3, STUB_sigqueue)
-  SYSCALL_LOOKUP(sigsuspend,               1, STUB_sigsuspend)
-  SYSCALL_LOOKUP(sigtimedwait,             3, STUB_sigtimedwait)
-  SYSCALL_LOOKUP(sigwaitinfo,              2, STUB_sigwaitinfo)
-  SYSCALL_LOOKUP(clock_nanosleep,          4, STUB_clock_nanosleep)
+SYSCALL_LOOKUP(kill,                       2, STUB_kill)
+SYSCALL_LOOKUP(sigaction,                  3, STUB_sigaction)
+SYSCALL_LOOKUP(sigpending,                 1, STUB_sigpending)
+SYSCALL_LOOKUP(sigprocmask,                3, STUB_sigprocmask)
+SYSCALL_LOOKUP(sigqueue,                   3, STUB_sigqueue)
+SYSCALL_LOOKUP(sigsuspend,                 1, STUB_sigsuspend)
+SYSCALL_LOOKUP(sigtimedwait,               3, STUB_sigtimedwait)
+SYSCALL_LOOKUP(sigwaitinfo,                2, STUB_sigwaitinfo)
+SYSCALL_LOOKUP(clock_nanosleep,            4, STUB_clock_nanosleep)
 
 /* The following are only defined if the system clock is enabled in the
  * NuttX configuration.
  */
 
-  SYSCALL_LOOKUP(syscall_clock,            0, STUB_clock)
-  SYSCALL_LOOKUP(clock_getres,             2, STUB_clock_getres)
-  SYSCALL_LOOKUP(clock_gettime,            2, STUB_clock_gettime)
-  SYSCALL_LOOKUP(clock_settime,            2, STUB_clock_settime)
+SYSCALL_LOOKUP(clock,                      0, STUB_clock)
+SYSCALL_LOOKUP(clock_getres,               2, STUB_clock_getres)
+SYSCALL_LOOKUP(clock_gettime,              2, STUB_clock_gettime)
+SYSCALL_LOOKUP(clock_settime,              2, STUB_clock_settime)
 #ifdef CONFIG_CLOCK_TIMEKEEPING
   SYSCALL_LOOKUP(adjtime,                  2, STUB_adjtime)
 #endif
@@ -190,18 +187,18 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 
 /* System logging */
 
-  SYSCALL_LOOKUP(nx_vsyslog,               3, STUB_nx_vsyslog)
+SYSCALL_LOOKUP(nx_vsyslog,                 3, STUB_nx_vsyslog)
 
 /* The following are defined if either file or socket descriptor are
  * enabled.
  */
 
-  SYSCALL_LOOKUP(close,                    1, STUB_close)
-  SYSCALL_LOOKUP(ioctl,                    3, STUB_ioctl)
-  SYSCALL_LOOKUP(read,                     3, STUB_read)
-  SYSCALL_LOOKUP(write,                    3, STUB_write)
-  SYSCALL_LOOKUP(pread,                    4, STUB_pread)
-  SYSCALL_LOOKUP(pwrite,                   4, STUB_pwrite)
+SYSCALL_LOOKUP(close,                      1, STUB_close)
+SYSCALL_LOOKUP(ioctl,                      3, STUB_ioctl)
+SYSCALL_LOOKUP(read,                       3, STUB_read)
+SYSCALL_LOOKUP(write,                      3, STUB_write)
+SYSCALL_LOOKUP(pread,                      4, STUB_pread)
+SYSCALL_LOOKUP(pwrite,                     4, STUB_pwrite)
 #ifdef CONFIG_FS_AIO
   SYSCALL_LOOKUP(aio_read,                 1, STUB_aio_read)
   SYSCALL_LOOKUP(aio_write,                1, STUB_aio_write)
@@ -228,28 +225,28 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 
 /* The following are defined if file descriptors are enabled */
 
-  SYSCALL_LOOKUP(closedir,                 1, STUB_closedir)
-  SYSCALL_LOOKUP(dup,                      1, STUB_dup)
-  SYSCALL_LOOKUP(dup2,                     2, STUB_dup2)
-  SYSCALL_LOOKUP(fcntl,                    3, STUB_fcntl)
-  SYSCALL_LOOKUP(lseek,                    3, STUB_lseek)
-  SYSCALL_LOOKUP(mmap,                     6, STUB_mmap)
-  SYSCALL_LOOKUP(open,                     3, STUB_open)
-  SYSCALL_LOOKUP(opendir,                  1, STUB_opendir)
-  SYSCALL_LOOKUP(readdir,                  1, STUB_readdir)
-  SYSCALL_LOOKUP(rewinddir,                1, STUB_rewinddir)
-  SYSCALL_LOOKUP(seekdir,                  2, STUB_seekdir)
-  SYSCALL_LOOKUP(stat,                     2, STUB_stat)
-  SYSCALL_LOOKUP(fstat,                    2, STUB_fstat)
-  SYSCALL_LOOKUP(statfs,                   2, STUB_statfs)
-  SYSCALL_LOOKUP(fstatfs,                  2, STUB_fstatfs)
-  SYSCALL_LOOKUP(telldir,                  1, STUB_telldir)
-
-#if defined(CONFIG_FS_RAMMAP)
+SYSCALL_LOOKUP(closedir,                   1, STUB_closedir)
+SYSCALL_LOOKUP(dup,                        1, STUB_dup)
+SYSCALL_LOOKUP(dup2,                       2, STUB_dup2)
+SYSCALL_LOOKUP(fcntl,                      3, STUB_fcntl)
+SYSCALL_LOOKUP(lseek,                      3, STUB_lseek)
+SYSCALL_LOOKUP(mmap,                       6, STUB_mmap)
+SYSCALL_LOOKUP(open,                       3, STUB_open)
+SYSCALL_LOOKUP(opendir,                    1, STUB_opendir)
+SYSCALL_LOOKUP(readdir,                    1, STUB_readdir)
+SYSCALL_LOOKUP(rewinddir,                  1, STUB_rewinddir)
+SYSCALL_LOOKUP(seekdir,                    2, STUB_seekdir)
+SYSCALL_LOOKUP(stat,                       2, STUB_stat)
+SYSCALL_LOOKUP(fstat,                      2, STUB_fstat)
+SYSCALL_LOOKUP(statfs,                     2, STUB_statfs)
+SYSCALL_LOOKUP(fstatfs,                    2, STUB_fstatfs)
+SYSCALL_LOOKUP(telldir,                    1, STUB_telldir)
+
+#ifdef CONFIG_FS_RAMMAP
   SYSCALL_LOOKUP(munmap,                   2, STUB_munmap)
 #endif
 
-#if defined(CONFIG_PSEUDOFS_SOFTLINKS)
+#ifdef CONFIG_PSEUDOFS_SOFTLINKS
   SYSCALL_LOOKUP(link,                     2, STUB_link)
   SYSCALL_LOOKUP(readlink,                 3, STUB_readlink)
 #endif
@@ -260,15 +257,15 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 #endif
 
 #if CONFIG_NFILE_STREAMS > 0
-  SYSCALL_LOOKUP(fdopen,                   3, STUB_fs_fdopen)
+  SYSCALL_LOOKUP(fs_fdopen,                3, STUB_fs_fdopen)
   SYSCALL_LOOKUP(sched_getstreams,         0, STUB_sched_getstreams)
 #endif
 
-#if defined(CONFIG_NET_SENDFILE)
+#ifdef CONFIG_NET_SENDFILE
   SYSCALL_LOOKUP(sendfile,                 4, STUB_fs_sendifile)
 #endif
 
-#if !defined(CONFIG_DISABLE_MOUNTPOINT)
+#ifndef CONFIG_DISABLE_MOUNTPOINT
   SYSCALL_LOOKUP(mount,                    5, STUB_mount)
   SYSCALL_LOOKUP(fsync,                    1, STUB_fsync)
   SYSCALL_LOOKUP(ftruncate,                2, STUB_ftruncate)
@@ -352,12 +349,6 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
   SYSCALL_LOOKUP(unsetenv,                 1, STUB_unsetenv)
 #endif
 
-/* The following are defined only if netdb is supported */
-
-#ifdef CONFIG_LIBC_NETDB
-  SYSCALL_LOOKUP(sethostname,              2, STUB_sethostname)
-#endif
-
 /* The following are defined only if networking AND sockets are supported */
 
 #ifdef CONFIG_NET
@@ -389,7 +380,3 @@ SYSCALL_LOOKUP(up_assert,                  2, STUB_up_assert)
 #ifdef CONFIG_CRYPTO_RANDOM_POOL
   SYSCALL_LOOKUP(getrandom,                2, STUB_getrandom)
 #endif
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
diff --git a/syscall/syscall_funclookup.c b/syscall/syscall_funclookup.c
index f3ad80e..37e71d5 100644
--- a/syscall/syscall_funclookup.c
+++ b/syscall/syscall_funclookup.c
@@ -91,6 +91,10 @@
 #include <time.h>
 #include <unistd.h>
 
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
 /* Errno access is awkward. We need to generate get_errno() and set_errno()
  * interfaces to support the system calls, even though we don't use them
  * ourself.
@@ -103,10 +107,6 @@
 #undef set_errno
 
 /****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
  * Public Data
  ****************************************************************************/
 
@@ -119,18 +119,14 @@
 
 const uintptr_t g_funclookup[SYS_nsyscalls] =
 {
-#  undef SYSCALL_LOOKUP1
 #  define SYSCALL_LOOKUP1(f,n,p) (uintptr_t)f
-#  undef SYSCALL_LOOKUP
 #  define SYSCALL_LOOKUP(f,n,p)  , (uintptr_t)f
-#  include "syscall_lookup.h"
+#  include <sys/syscall_lookup.h>
+#  undef SYSCALL_LOOKUP1
+#  undef SYSCALL_LOOKUP
 };
 
 /****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
  * Public Functions
  ****************************************************************************/
 
diff --git a/syscall/syscall_nparms.c b/syscall/syscall_nparms.c
index 164ab3e..48ef680 100644
--- a/syscall/syscall_nparms.c
+++ b/syscall/syscall_nparms.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * syscall/syscall_stublookup.c
+ * syscall/syscall_nparms.c
  *
  *   Copyright (C) 2011-2012, 2014 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <gn...@nuttx.org>
@@ -43,10 +43,6 @@
 #ifdef CONFIG_LIB_SYSCALL
 
 /****************************************************************************
- * Pre-processor definitions
- ****************************************************************************/
-
-/****************************************************************************
  * Public Data
  ****************************************************************************/
 
@@ -57,18 +53,14 @@
 
 const uint8_t g_funcnparms[SYS_nsyscalls] =
 {
-#  undef SYSCALL_LOOKUP1
 #  define SYSCALL_LOOKUP1(f,n,p) n
-#  undef SYSCALL_LOOKUP
 #  define SYSCALL_LOOKUP(f,n,p)  , n
-#  include "syscall_lookup.h"
+#  include <sys/syscall_lookup.h>
+#  undef SYSCALL_LOOKUP1
+#  undef SYSCALL_LOOKUP
 };
 
 /****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
  * Public Functions
  ****************************************************************************/
 
diff --git a/syscall/syscall_stublookup.c b/syscall/syscall_stublookup.c
index 7083ce7..957da7f 100644
--- a/syscall/syscall_stublookup.c
+++ b/syscall/syscall_stublookup.c
@@ -417,18 +417,14 @@ uintptr_t STUB_getrandom(int nbr, uintptr_t parm1, uintptr_t parm2);
 
 const uintptr_t g_stublookup[SYS_nsyscalls] =
 {
-#  undef SYSCALL_LOOKUP1
 #  define SYSCALL_LOOKUP1(f,n,p) (uintptr_t)p
-#  undef SYSCALL_LOOKUP
 #  define SYSCALL_LOOKUP(f,n,p)  , (uintptr_t)p
-#  include "syscall_lookup.h"
+#  include <sys/syscall_lookup.h>
+#  undef SYSCALL_LOOKUP1
+#  undef SYSCALL_LOOKUP
 };
 
 /****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
  * Public Functions
  ****************************************************************************/