summaryrefslogtreecommitdiff
path: root/nuttx/syscall
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-09-22 15:24:09 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-09-22 15:24:09 -0600
commitbdef2ed703b7e676bd303aa2065d2567c8745b15 (patch)
treead51774ae37ea0586a759936802d556d51977038 /nuttx/syscall
parenta2008ab3ef83f02cc172ac9d565b375ec7200f02 (diff)
downloadnuttx-bdef2ed703b7e676bd303aa2065d2567c8745b15.tar.gz
nuttx-bdef2ed703b7e676bd303aa2065d2567c8745b15.tar.bz2
nuttx-bdef2ed703b7e676bd303aa2065d2567c8745b15.zip
Add system calls for shared memory interfaces
Diffstat (limited to 'nuttx/syscall')
-rw-r--r--nuttx/syscall/syscall.csv4
-rw-r--r--nuttx/syscall/syscall_lookup.h9
-rw-r--r--nuttx/syscall/syscall_stublookup.c10
3 files changed, 23 insertions, 0 deletions
diff --git a/nuttx/syscall/syscall.csv b/nuttx/syscall/syscall.csv
index 254464f8e..56f8518ed 100644
--- a/nuttx/syscall/syscall.csv
+++ b/nuttx/syscall/syscall.csv
@@ -113,6 +113,10 @@
"set_errno","errno.h","","void","int"
"setenv","stdlib.h","!defined(CONFIG_DISABLE_ENVIRON)","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"
+"shmat", "sys/shm.h", "defined(CONFIG_MM_SHM)", "FAR void *", "int", "FAR const void *", "int"
+"shmctl", "sys/shm.h", "defined(CONFIG_MM_SHM)", "int", "int", "int", "FAR struct shmid_ds *"
+"shmdt", "sys/shm.h", "defined(CONFIG_MM_SHM)", "int", "FAR const void *"
+"shmget", "sys/shm.h", "defined(CONFIG_MM_SHM)", "int", "key_t", "size_t", "int"
"sigaction","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","int","FAR const struct sigaction*","FAR struct sigaction*"
"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*"
diff --git a/nuttx/syscall/syscall_lookup.h b/nuttx/syscall/syscall_lookup.h
index ac4fd20f2..9b14f9115 100644
--- a/nuttx/syscall/syscall_lookup.h
+++ b/nuttx/syscall/syscall_lookup.h
@@ -200,6 +200,15 @@ SYSCALL_LOOKUP(up_assert, 2, STUB_up_assert)
# endif
#endif
+/* Shared memory interfaces */
+
+#ifdef CONFIG_MM_SHM
+ SYSCALL_LOOKUP(shmget, 3, STUB_shmget)
+ SYSCALL_LOOKUP(shmat, 3, STUB_shmat)
+ SYSCALL_LOOKUP(shmctl, 3, STUB_shmctl)
+ SYSCALL_LOOKUP(shmdt, 1, STUB_shmdt)
+#endif
+
/* The following are defined if pthreads are enabled */
#ifndef CONFIG_DISABLE_PTHREAD
diff --git a/nuttx/syscall/syscall_stublookup.c b/nuttx/syscall/syscall_stublookup.c
index 977683603..ddb7f899a 100644
--- a/nuttx/syscall/syscall_stublookup.c
+++ b/nuttx/syscall/syscall_stublookup.c
@@ -210,6 +210,16 @@ uintptr_t STUB_rmdir(int nbr, uintptr_t parm1);
uintptr_t STUB_umount(int nbr, uintptr_t parm1);
uintptr_t STUB_unlink(int nbr, uintptr_t parm1);
+/* Shared memory interfaces */
+
+uintptr_t STUB_shmget(int nbr, uintptr_t parm1, uintptr_t parm2,
+ uintptr_t parm3);
+uintptr_t STUB_shmat(int nbr, uintptr_t parm1, uintptr_t parm2,
+ uintptr_t parm3);
+uintptr_t STUB_shmctl(int nbr, uintptr_t parm1, uintptr_t parm2,
+ uintptr_t parm3);
+uintptr_t STUB_shmdt(int nbr, uintptr_t parm1);
+
/* The following are defined if pthreads are enabled */
uintptr_t STUB_pthread_barrier_destroy(int nbr, uintptr_t parm1);