CONFIG_NFILE_DESCRIPTORS=0 can no longer be used to disable the file system. NuttX with no file system does not make sense.

Squashed commit of the following:

    configs/:  The few configurations that formerly set CONFIG_NFILE_DESCRIPTORS=0 should not default, rather they should set the number of descriptors to 3.
    fs/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    tools/:  Tools updates for changes to usage of CONFIG_NFILE_DESCRIPTORS.
    syscall/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    libs/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    include/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    drivers/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    Documentation/:  Remove all references to CONFIG_NFILE_DESCRIPTORS == 0
    binfmt/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    arch/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    net/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    sched/:  Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
    sched/Kconfig:  CONFIG_NFILE_DESCRIPTORS may no longer to set to a value less than 3
    configs/:  Remove all settings for CONFIG_NFILE_DESCRIPTORS < 3
This commit is contained in:
Gregory Nutt
2019-02-11 12:09:26 -06:00
parent 07bcc6292a
commit a64869aa67
141 changed files with 374 additions and 1008 deletions
+2 -44
View File
@@ -425,13 +425,11 @@ struct file
/* This defines a list of files indexed by the file descriptor */
#if CONFIG_NFILE_DESCRIPTORS > 0
struct filelist
{
sem_t fl_sem; /* Manage access to the file list */
struct file fl_files[CONFIG_NFILE_DESCRIPTORS];
};
#endif
/* The following structure defines the list of files used for standard C I/O.
* Note that NuttX can support the standard C APIs with or without buffering
@@ -703,9 +701,7 @@ int inode_checkflags(FAR struct inode *inode, int oflags);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
void files_initlist(FAR struct filelist *list);
#endif
/****************************************************************************
* Name: files_releaselist
@@ -715,9 +711,7 @@ void files_initlist(FAR struct filelist *list);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
void files_releaselist(FAR struct filelist *list);
#endif
/****************************************************************************
* Name: file_dup2
@@ -736,9 +730,7 @@ void files_releaselist(FAR struct filelist *list);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_dup2(FAR struct file *filep1, FAR struct file *filep2);
#endif
/****************************************************************************
* Name: fs_dupfd OR dup
@@ -760,9 +752,7 @@ int file_dup2(FAR struct file *filep1, FAR struct file *filep2);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int fs_dupfd(int fd, int minfd);
#endif
/****************************************************************************
* Name: file_dup
@@ -799,13 +789,11 @@ int file_dup(FAR struct file *filep, int minfd);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
#if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0
int fs_dupfd2(int fd1, int fd2);
#else
# define fs_dupfd2(fd1, fd2) dup2(fd1, fd2)
#endif
#endif
/****************************************************************************
* Name: file_open
@@ -854,9 +842,7 @@ int file_open(FAR struct file *filep, FAR const char *path, int oflags, ...);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_detach(int fd, FAR struct file *filep);
#endif
/****************************************************************************
* Name: file_close
@@ -900,10 +886,8 @@ int file_close(FAR struct file *filep);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int open_blockdriver(FAR const char *pathname, int mountflags,
FAR struct inode **ppinode);
#endif
/****************************************************************************
* Name: close_blockdriver
@@ -922,9 +906,7 @@ int open_blockdriver(FAR const char *pathname, int mountflags,
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int close_blockdriver(FAR struct inode *inode);
#endif
/****************************************************************************
* Name: fs_ioctl
@@ -1016,9 +998,7 @@ ssize_t lib_sendfile(int outfd, int infd, off_t *offset, size_t count);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int fs_getfilep(int fd, FAR struct file **filep);
#endif
/****************************************************************************
* Name: nx_open and nx_vopen
@@ -1065,9 +1045,7 @@ int nx_open(FAR const char *path, int oflags, ...);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
ssize_t file_read(FAR struct file *filep, FAR void *buf, size_t nbytes);
#endif
/****************************************************************************
* Name: nx_read
@@ -1102,9 +1080,7 @@ ssize_t nx_read(int fd, FAR void *buf, size_t nbytes);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
ssize_t file_write(FAR struct file *filep, FAR const void *buf, size_t nbytes);
#endif
/****************************************************************************
* Name: nx_write
@@ -1143,10 +1119,8 @@ ssize_t nx_write(int fd, FAR const void *buf, size_t nbytes);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
ssize_t file_pread(FAR struct file *filep, FAR void *buf, size_t nbytes,
off_t offset);
#endif
/****************************************************************************
* Name: file_pwrite
@@ -1158,10 +1132,8 @@ ssize_t file_pread(FAR struct file *filep, FAR void *buf, size_t nbytes,
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
ssize_t file_pwrite(FAR struct file *filep, FAR const void *buf,
size_t nbytes, off_t offset);
#endif
/****************************************************************************
* Name: file_seek
@@ -1173,9 +1145,7 @@ ssize_t file_pwrite(FAR struct file *filep, FAR const void *buf,
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
off_t file_seek(FAR struct file *filep, off_t offset, int whence);
#endif
/****************************************************************************
* Name: file_fsync
@@ -1187,7 +1157,7 @@ off_t file_seek(FAR struct file *filep, off_t offset, int whence);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT)
#ifndef CONFIG_DISABLE_MOUNTPOINT
int file_fsync(FAR struct file *filep);
#endif
@@ -1201,7 +1171,7 @@ int file_fsync(FAR struct file *filep);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT)
#ifndef CONFIG_DISABLE_MOUNTPOINT
int file_truncate(FAR struct file *filep, off_t length);
#endif
@@ -1223,9 +1193,7 @@ int file_truncate(FAR struct file *filep, off_t length);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_ioctl(FAR struct file *filep, int req, unsigned long arg);
#endif
/****************************************************************************
* Name: file_vfcntl
@@ -1246,9 +1214,7 @@ int file_ioctl(FAR struct file *filep, int req, unsigned long arg);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_vfcntl(FAR struct file *filep, int cmd, va_list ap);
#endif
/****************************************************************************
* Name: file_fcntl
@@ -1269,9 +1235,7 @@ int file_vfcntl(FAR struct file *filep, int cmd, va_list ap);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_fcntl(FAR struct file *filep, int cmd, ...);
#endif
/****************************************************************************
* Name: file_poll
@@ -1292,9 +1256,7 @@ int file_fcntl(FAR struct file *filep, int cmd, ...);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_poll(FAR struct file *filep, FAR struct pollfd *fds, bool setup);
#endif
/****************************************************************************
* Name: file_fstat
@@ -1319,9 +1281,7 @@ int file_poll(FAR struct file *filep, FAR struct pollfd *fds, bool setup);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int file_fstat(FAR struct file *filep, FAR struct stat *buf);
#endif
/****************************************************************************
* Name: fdesc_poll
@@ -1341,9 +1301,7 @@ int file_fstat(FAR struct file *filep, FAR struct stat *buf);
*
****************************************************************************/
#if CONFIG_NFILE_DESCRIPTORS > 0
int fdesc_poll(int fd, FAR struct pollfd *fds, bool setup);
#endif
#undef EXTERN
#if defined(__cplusplus)
+1 -5
View File
@@ -97,11 +97,7 @@
* socket descriptors
*/
#ifdef CONFIG_NFILE_DESCRIPTORS
# define __SOCKFD_OFFSET CONFIG_NFILE_DESCRIPTORS
#else
# define __SOCKFD_OFFSET 0
#endif
#define __SOCKFD_OFFSET CONFIG_NFILE_DESCRIPTORS
/* Capabilities of a socket */
-44
View File
@@ -66,7 +66,6 @@
/* Configuration ****************************************************************/
/* Task groups currently only supported for retention of child status */
#undef HAVE_TASK_GROUP
#undef HAVE_GROUP_MEMBERS
/* We need a group an group members if we are supporting the parent/child
@@ -74,41 +73,7 @@
*/
#if defined(CONFIG_SCHED_HAVE_PARENT) && defined(CONFIG_SCHED_CHILD_STATUS)
# define HAVE_TASK_GROUP 1
# define HAVE_GROUP_MEMBERS 1
/* We need a group (but not members) if any other resources are shared within
* a task group. NOTE: that we essentially always need a task group and that
* managing this definition adds a lot of overhead just to handle a corner-
* case very minimal system!
*/
#else
# if !defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_SCHED_HAVE_PARENT)
# define HAVE_TASK_GROUP 1 /* pthreads with parent*/
# elif !defined(CONFIG_DISABLE_ENVIRON)
# define HAVE_TASK_GROUP 1 /* Environment variables */
# elif !defined(CONFIG_DISABLE_SIGNALS)
# define HAVE_TASK_GROUP 1 /* Signals */
# elif defined(CONFIG_SCHED_ATEXIT)
# define HAVE_TASK_GROUP 1 /* Group atexit() function */
# elif defined(CONFIG_SCHED_ONEXIT)
# define HAVE_TASK_GROUP 1 /* Group on_exit() function */
# elif defined(CONFIG_SCHED_WAITPID)
# define HAVE_TASK_GROUP 1 /* Group waitpid() function */
# elif CONFIG_NFILE_DESCRIPTORS > 0
# define HAVE_TASK_GROUP 1 /* File descriptors */
# elif CONFIG_NFILE_STREAMS > 0
# define HAVE_TASK_GROUP 1 /* Standard C buffered I/O */
# elif CONFIG_NSOCKET_DESCRIPTORS > 0
# define HAVE_TASK_GROUP 1 /* Sockets */
# elif !defined(CONFIG_DISABLE_MQUEUE)
# define HAVE_TASK_GROUP 1 /* Message queues */
# elif defined(CONFIG_ARCH_ADDRENV)
# define HAVE_TASK_GROUP 1 /* Address environment */
# elif defined(CONFIG_MM_SHM)
# define HAVE_TASK_GROUP 1 /* Shared memory */
# endif
#endif
/* In any event, we don't need group members if support for pthreads is disabled */
@@ -440,8 +405,6 @@ struct dspace_s
* is free.
*/
#ifdef HAVE_TASK_GROUP
#ifndef CONFIG_DISABLE_PTHREAD
struct join_s; /* Forward reference */
/* Defined in sched/pthread/pthread.h */
@@ -562,11 +525,9 @@ struct task_group_s
* life of the PIC data is managed.
*/
#if CONFIG_NFILE_DESCRIPTORS > 0
/* File descriptors ***********************************************************/
struct filelist tg_filelist; /* Maps file descriptor to file */
#endif
#if CONFIG_NFILE_STREAMS > 0
/* FILE streams ***************************************************************/
@@ -607,7 +568,6 @@ struct task_group_s
struct group_shm_s tg_shm; /* Task shared memory logic */
#endif
};
#endif
/* struct tcb_s ******************************************************************/
/* This is the common part of the task control block (TCB). The TCB is the heart
@@ -626,9 +586,7 @@ struct tcb_s
/* Task Group *****************************************************************/
#ifdef HAVE_TASK_GROUP
FAR struct task_group_s *group; /* Pointer to shared task group data */
#endif
/* Task Management Fields *****************************************************/
@@ -863,12 +821,10 @@ FAR struct tcb_s *sched_gettcb(pid_t pid);
* currently executing task.
*/
#if CONFIG_NFILE_DESCRIPTORS > 0
FAR struct filelist *sched_getfiles(void);
#if CONFIG_NFILE_STREAMS > 0
FAR struct streamlist *sched_getstreams(void);
#endif /* CONFIG_NFILE_STREAMS */
#endif /* CONFIG_NFILE_DESCRIPTORS */
#if CONFIG_NSOCKET_DESCRIPTORS > 0
FAR struct socketlist *sched_getsockets(void);
-3
View File
@@ -46,8 +46,6 @@
#include <signal.h>
#include <time.h>
#if CONFIG_NFILE_DESCRIPTORS > 0 || CONFIG_NSOCKET_DESCRIPTORS > 0
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
@@ -133,5 +131,4 @@ int pselect(int nfds, FAR fd_set *readfds, FAR fd_set *writefds,
}
#endif
#endif /* CONFIG_NFILE_DESCRIPTORS || CONFIG_NSOCKET_DESCRIPTORS */
#endif /* __INCLUDE_SYS_SELECT_H */
+113 -116
View File
@@ -275,54 +275,56 @@
# define CONFIG_NSOCKET_DESCRIPTORS 0
#endif
#if CONFIG_NFILE_DESCRIPTORS > 0 || CONFIG_NSOCKET_DESCRIPTORS > 0
# define SYS_close (__SYS_descriptors + 0)
# ifdef CONFIG_LIBC_IOCTL_VARIADIC
# define SYS_fs_ioctl (__SYS_descriptors + 1)
#define SYS_close (__SYS_descriptors + 0)
#ifdef CONFIG_LIBC_IOCTL_VARIADIC
# define SYS_fs_ioctl (__SYS_descriptors + 1)
#else
# define SYS_ioctl (__SYS_descriptors + 1)
#endif
#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
#ifndef CONFIG_DISABLE_POLL
# define SYS_poll __SYS_poll
# define SYS_select (__SYS_poll + 1)
# ifndef CONFIG_DISABLE_SIGNALS
# define SYS_ppoll (__SYS_poll + 2)
# define SYS_pselect (__SYS_poll + 3)
# define __SYS_ifindex (__SYS_poll + 4)
# else
# define SYS_ioctl (__SYS_descriptors + 1)
# endif
# 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
# ifndef CONFIG_DISABLE_POLL
# define SYS_poll __SYS_poll
# define SYS_select (__SYS_poll + 1)
# ifndef CONFIG_DISABLE_SIGNALS
# define SYS_ppoll (__SYS_poll + 2)
# define SYS_pselect (__SYS_poll + 3)
# define __SYS_ifindex (__SYS_poll + 4)
# else
# define __SYS_ifindex (__SYS_poll + 2)
# endif
# else
# define __SYS_ifindex __SYS_poll
# endif
# ifdef CONFIG_NETDEV_IFINDEX
# define SYS_if_indextoname __SYS_ifindex
# define SYS_if_nametoindex (__SYS_ifindex + 1)
# define __SYS_termios (__SYS_ifindex + 2)
# else
# define __SYS_termios __SYS_ifindex
# endif
# ifdef CONFIG_SERIAL_TERMIOS
# define SYS_tcdrain __SYS_termios
# define __SYS_boardctl (__SYS_termios + 1)
# else
# define __SYS_boardctl __SYS_termios
# define __SYS_ifindex (__SYS_poll + 2)
# endif
#else
# define __SYS_boardctl __SYS_descriptors
# define __SYS_ifindex __SYS_poll
#endif
#ifdef CONFIG_NETDEV_IFINDEX
# define SYS_if_indextoname __SYS_ifindex
# define SYS_if_nametoindex (__SYS_ifindex + 1)
# define __SYS_termios (__SYS_ifindex + 2)
#else
# define __SYS_termios __SYS_ifindex
#endif
#ifdef CONFIG_SERIAL_TERMIOS
# define SYS_tcdrain __SYS_termios
# define __SYS_boardctl (__SYS_termios + 1)
#else
# define __SYS_boardctl __SYS_termios
#endif
/* Board support */
@@ -336,79 +338,74 @@
/* The following are defined if file descriptors are enabled */
#if CONFIG_NFILE_DESCRIPTORS > 0
# 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)
# if defined(CONFIG_PSEUDOFS_SOFTLINKS)
# define SYS_link (__SYS_filedesc + 16)
# define SYS_readlink (__SYS_filedesc + 17)
# define __SYS_pipes (__SYS_filedesc + 18)
# else
# define __SYS_pipes (__SYS_filedesc + 16)
# endif
# if defined(CONFIG_PIPES) && CONFIG_DEV_PIPE_SIZE > 0
# define SYS_pipe2 (__SYS_pipes + 0)
# define __SYS_mkfifo2 (__SYS_pipes + 1)
# else
# define __SYS_mkfifo2 (__SYS_pipes + 0)
# endif
# if defined(CONFIG_PIPES) && CONFIG_DEV_FIFO_SIZE > 0
# define SYS_mkfifo2 (__SYS_mkfifo2 + 0)
# define __SYS_fs_fdopen (__SYS_mkfifo2 + 1)
# else
# define __SYS_fs_fdopen (__SYS_mkfifo2 + 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
# define __SYS_mountpoint (__SYS_sendfile + 1)
# else
# define __SYS_mountpoint __SYS_sendfile
# endif
# if !defined(CONFIG_DISABLE_MOUNTPOINT)
# if defined(CONFIG_FS_READABLE)
# define SYS_mount (__SYS_mountpoint + 0)
# endif
# 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
# endif
#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)
#if defined(CONFIG_PSEUDOFS_SOFTLINKS)
# define SYS_link (__SYS_filedesc + 16)
# define SYS_readlink (__SYS_filedesc + 17)
# define __SYS_pipes (__SYS_filedesc + 18)
#else
# define __SYS_shm __SYS_filedesc
# define __SYS_pipes (__SYS_filedesc + 16)
#endif
#if defined(CONFIG_PIPES) && CONFIG_DEV_PIPE_SIZE > 0
# define SYS_pipe2 (__SYS_pipes + 0)
# define __SYS_mkfifo2 (__SYS_pipes + 1)
#else
# define __SYS_mkfifo2 (__SYS_pipes + 0)
#endif
#if defined(CONFIG_PIPES) && CONFIG_DEV_FIFO_SIZE > 0
# define SYS_mkfifo2 (__SYS_mkfifo2 + 0)
# define __SYS_fs_fdopen (__SYS_mkfifo2 + 1)
#else
# define __SYS_fs_fdopen (__SYS_mkfifo2 + 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
# define __SYS_mountpoint (__SYS_sendfile + 1)
#else
# define __SYS_mountpoint __SYS_sendfile
#endif
#if !defined(CONFIG_DISABLE_MOUNTPOINT)
#if defined(CONFIG_FS_READABLE)
# define SYS_mount (__SYS_mountpoint + 0)
#endif
# 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
#endif
/* Shared memory interfaces */