summaryrefslogtreecommitdiff
path: root/nuttx/syscall
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-04-02 15:25:22 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-04-02 15:25:22 +0000
commit68551d0cf274eacbf5c6de959e7bf812a6ee7eba (patch)
treea26751e5f0991b18a587dbc2d37c6ee7c3ce847d /nuttx/syscall
parent158978359318cb94de9e08900af4300bdfa5f651 (diff)
downloadpx4-nuttx-68551d0cf274eacbf5c6de959e7bf812a6ee7eba.tar.gz
px4-nuttx-68551d0cf274eacbf5c6de959e7bf812a6ee7eba.tar.bz2
px4-nuttx-68551d0cf274eacbf5c6de959e7bf812a6ee7eba.zip
Kernel build mostly successful
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3454 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/syscall')
-rw-r--r--nuttx/syscall/Makefile2
-rw-r--r--nuttx/syscall/README.txt20
-rw-r--r--nuttx/syscall/syscall.csv17
3 files changed, 20 insertions, 19 deletions
diff --git a/nuttx/syscall/Makefile b/nuttx/syscall/Makefile
index b38518bfb..89d079e5c 100644
--- a/nuttx/syscall/Makefile
+++ b/nuttx/syscall/Makefile
@@ -97,7 +97,7 @@ context: .context
clean:
@rm -f $(BIN1) $(BIN2) *~ .*.swp
-ifneq ($(OBJECT),)
+ifneq ($(OBJEXT),)
@rm -f proxies/*$(OBJEXT) stubs/*$(OBJEXT)
endif
$(call CLEAN)
diff --git a/nuttx/syscall/README.txt b/nuttx/syscall/README.txt
index 08d041346..7c45207f8 100644
--- a/nuttx/syscall/README.txt
+++ b/nuttx/syscall/README.txt
@@ -90,7 +90,23 @@ The format of the CVS file for each line is:
Field 2: The header file that contains the function prototype
Field 3: Condition for compilation
Field 4: The type of function return value.
- Field 5 - N+5: The type of each of the N formal parameters of the function
+ Field 5 - N+5: The type of each of the N formal parameters of the function
+
+Each type field has a format as follows:
+
+ type name:
+ For all simpler types
+ formal type | actual type:
+ For array types where the form of the formal (eg. int parm[2])
+ differs from the type of actual passed parameter (eg. int*). This
+ is necessary because you cannot do simple casts to array types.
+ formal type | union member actual type | union member fieldname:
+ A similar situation exists for unions. For example, the formal
+ parameter type union sigval -- You cannot cast a uintptr_t to
+ a union sigval, but you can cast to the type of one of the union
+ member types when passing the actua paramter. Similarly, we
+ cannot cast a union sigval to a uinptr_t either. Rather, we need
+ to cast a specific union member fieldname to uintptr_t.
Auto-Generated Files
====================
@@ -104,7 +120,7 @@ database. Here the following definition is used:
call into a syscall, marshalling all of the system call parameters
as necessary.
- STUB - Another tiny bit of code that executes within the NuttX kernel
+ Stub - Another tiny bit of code that executes within the NuttX kernel
that is used to map a software interrupt received by the kernel to
a kernel function call. The stubs receive the marshalled system
call data, and perform the actually kernel function call (in
diff --git a/nuttx/syscall/syscall.csv b/nuttx/syscall/syscall.csv
index d0cf3eb16..44920d015 100644
--- a/nuttx/syscall/syscall.csv
+++ b/nuttx/syscall/syscall.csv
@@ -9,7 +9,6 @@
"close","unistd.h","CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0","int","int"
"closedir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR*"
"connect","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","int","int","FAR const struct sockaddr*","socklen_t"
-"creat","fcntl.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","int","const char*","mode_t"
"dup","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0","int","int"
"dup2","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0","int","int","int"
"exit","stdlib.h","","void","int"
@@ -79,7 +78,6 @@
"putenv","stdlib.h","!defined(CONFIG_DISABLE_ENVIRON)","int","FAR const char*"
"read","unistd.h","CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0","ssize_t","int","FAR void*","size_t"
"readdir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","FAR struct dirent*","FAR DIR*"
-"readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR*","FAR struct dirent*","FAR struct dirent**"
"recv","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","ssize_t","int","FAR void*","size_t","int"
"recvfrom","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","ssize_t","int","FAR void*","size_t","int","FAR struct sockaddr*","FAR socklen_t*"
"rename","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT)","int","FAR const char*","FAR const char*"
@@ -89,9 +87,6 @@
"sched_getscheduler","sched.h","","int","pid_t"
"sched_lock","sched.h","","int"
"sched_lockcount","sched.h","","int32_t"
-"sched_note_start","sched.h","","void","FAR _TCB* "
-"sched_note_stop","sched.h","","void","FAR _TCB* "
-"sched_note_switch","sched.h","","void","FAR _TCB*","FAR _TCB*"
"sched_rr_get_interval","sched.h","","int","pid_t","struct timespec*"
"sched_setparam","sched.h","","int","pid_t","const struct sched_param*"
"sched_setscheduler","sched.h","","int","pid_t","int","const struct sched_param*"
@@ -112,30 +107,20 @@
"setenv","stdlib.h","","int","const char*","const char*","int"
"setsockopt","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","int","int","int","int","FAR const void*","socklen_t"
"sigaction","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","FAR const struct sigaction*","FAR struct sigaction*"
-"sigaddset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t*","int"
-"sigdelset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t*","int"
-"sigemptyset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t*"
-"sigfillset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t*"
-"sigismember","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const sigset_t*","int"
"sigpending","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t*"
"sigprocmask","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","FAR const sigset_t*","FAR sigset_t*"
-"sigqueue","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","int","FAR void*"
-"sigqueue","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","int","union sigval|FAR void *"
+"sigqueue","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","int","union sigval|FAR void *|sival_ptr"
"sigsuspend","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const sigset_t*"
"sigtimedwait","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const sigset_t*","FAR struct siginfo*","FAR const struct timespec*"
"sigwaitinfo","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const sigset_t*","FAR struct siginfo*"
"sleep","unistd.h","!defined(CONFIG_DISABLE_SIGNALS)","unsigned int","unsigned int"
-"snprintf","stdio.h","","int","FAR char*","size_t","const char*","..."
"socket","sys/socket.h","","int","int","int","int"
"stat","sys/stat.h","CONFIG_NFILE_DESCRIPTORS > 0","int","const char*","FAR struct stat*"
#"statfs","stdio.h","","int","FAR const char*","FAR struct statfs*"
"statfs","sys/statfs.h","CONFIG_NFILE_DESCRIPTORS > 0","int","const char*","struct statfs*"
-"task_activate","sched.h","","int","FAR _TCB*"
"task_create","sched.h","","int","const char*","int","int","main_t","const char* []|const char**"
#"task_create","sched.h","","int","const char*","int","main_t","const char* []|const char**"
"task_delete","sched.h","","int","pid_t"
-"task_init","sched.h","","int","FAR _TCB*","const char*","int","FAR uint32_t*","uint32_t","main_t","const char* []|const char**"
-#"task_init","sched.h","","int","FAR _TCB*","const char*","int","main_t","const char* []|const char**"
"task_restart","sched.h","","int","pid_t"
"telldir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","off_t","FAR DIR*"
"timer_create","time.h","!defined(CONFIG_DISABLE_POSIX_TIMERS)","int","clockid_t","FAR struct sigevent*","FAR timer_t*"