summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2002-09-19 00:48:57 +0000
committeralfred <alfred@FreeBSD.org>2002-09-19 00:48:57 +0000
commit805701454f32b38eef70685a2496492e742f9074 (patch)
treec560a7a564486442a8ad7abb02957356593bb2f9 /sys
parentd063152de15b045caca51218d4f7046ceaf07fbe (diff)
downloadFreeBSD-src-805701454f32b38eef70685a2496492e742f9074.zip
FreeBSD-src-805701454f32b38eef70685a2496492e742f9074.tar.gz
Regen for added syscalls.
Diffstat (limited to 'sys')
-rw-r--r--sys/conf/NOTES1
-rw-r--r--sys/conf/files1
-rw-r--r--sys/conf/options1
-rw-r--r--sys/kern/init_sysent.c14
-rw-r--r--sys/kern/syscalls.c14
-rw-r--r--sys/sys/syscall.h11
-rw-r--r--sys/sys/syscall.mk11
-rw-r--r--sys/sys/sysproto.h44
8 files changed, 94 insertions, 3 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index b2bf7ab..458c37c 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -746,6 +746,7 @@ device random
options P1003_1B
options _KPOSIX_PRIORITY_SCHEDULING
options _KPOSIX_VERSION=199309L
+options P1003_1B_SEMAPHORES
#####################################################################
diff --git a/sys/conf/files b/sys/conf/files
index 38a4ecf..faee80d 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1379,6 +1379,7 @@ pci/xrpu.c optional xrpu
posix4/ksched.c optional _kposix_priority_scheduling
posix4/p1003_1b.c standard
posix4/posix4_mib.c standard
+kern/uipc_sem.c optional p1003_1b_semaphores
security/mac_none/mac_none.c optional mac_none
ufs/ffs/ffs_alloc.c optional ffs
ufs/ffs/ffs_balloc.c optional ffs
diff --git a/sys/conf/options b/sys/conf/options
index a5dd83e..d02b621 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -132,6 +132,7 @@ WLDEBUG opt_wavelan.h
P1003_1B opt_posix.h
_KPOSIX_PRIORITY_SCHEDULING opt_posix.h
_KPOSIX_VERSION opt_posix.h
+P1003_1B_SEMAPHORES opt_posix.h
#####################################################################
# SECURITY POLICY PARAMETERS
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 99312fc..e9be43b 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -423,4 +423,18 @@ struct sysent sysent[] = {
{ AS(uuidgen_args), (sy_call_t *)uuidgen }, /* 392 = uuidgen */
{ SYF_MPSAFE | AS(sendfile_args), (sy_call_t *)sendfile }, /* 393 = sendfile */
{ SYF_MPSAFE | AS(mac_syscall_args), (sy_call_t *)mac_syscall }, /* 394 = mac_syscall */
+ { 0, (sy_call_t *)nosys }, /* 395 = nosys */
+ { 0, (sy_call_t *)nosys }, /* 396 = nosys */
+ { 0, (sy_call_t *)nosys }, /* 397 = nosys */
+ { 0, (sy_call_t *)nosys }, /* 398 = nosys */
+ { 0, (sy_call_t *)nosys }, /* 399 = nosys */
+ { SYF_MPSAFE | AS(ksem_close_args), (sy_call_t *)lkmressys }, /* 400 = ksem_close */
+ { SYF_MPSAFE | AS(ksem_post_args), (sy_call_t *)lkmressys }, /* 401 = ksem_post */
+ { SYF_MPSAFE | AS(ksem_wait_args), (sy_call_t *)lkmressys }, /* 402 = ksem_wait */
+ { SYF_MPSAFE | AS(ksem_trywait_args), (sy_call_t *)lkmressys }, /* 403 = ksem_trywait */
+ { SYF_MPSAFE | AS(ksem_init_args), (sy_call_t *)lkmressys }, /* 404 = ksem_init */
+ { SYF_MPSAFE | AS(ksem_open_args), (sy_call_t *)lkmressys }, /* 405 = ksem_open */
+ { SYF_MPSAFE | AS(ksem_unlink_args), (sy_call_t *)lkmressys }, /* 406 = ksem_unlink */
+ { SYF_MPSAFE | AS(ksem_getvalue_args), (sy_call_t *)lkmressys }, /* 407 = ksem_getvalue */
+ { SYF_MPSAFE | AS(ksem_destroy_args), (sy_call_t *)lkmressys }, /* 408 = ksem_destroy */
};
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index efe25be..701c455 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -402,4 +402,18 @@ char *syscallnames[] = {
"uuidgen", /* 392 = uuidgen */
"sendfile", /* 393 = sendfile */
"mac_syscall", /* 394 = mac_syscall */
+ "#395", /* 395 = nosys */
+ "#396", /* 396 = nosys */
+ "#397", /* 397 = nosys */
+ "#398", /* 398 = nosys */
+ "#399", /* 399 = nosys */
+ "ksem_close", /* 400 = ksem_close */
+ "ksem_post", /* 401 = ksem_post */
+ "ksem_wait", /* 402 = ksem_wait */
+ "ksem_trywait", /* 403 = ksem_trywait */
+ "ksem_init", /* 404 = ksem_init */
+ "ksem_open", /* 405 = ksem_open */
+ "ksem_unlink", /* 406 = ksem_unlink */
+ "ksem_getvalue", /* 407 = ksem_getvalue */
+ "ksem_destroy", /* 408 = ksem_destroy */
};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 7496035..c2bd578 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -308,4 +308,13 @@
#define SYS_uuidgen 392
#define SYS_sendfile 393
#define SYS_mac_syscall 394
-#define SYS_MAXSYSCALL 395
+#define SYS_ksem_close 400
+#define SYS_ksem_post 401
+#define SYS_ksem_wait 402
+#define SYS_ksem_trywait 403
+#define SYS_ksem_init 404
+#define SYS_ksem_open 405
+#define SYS_ksem_unlink 406
+#define SYS_ksem_getvalue 407
+#define SYS_ksem_destroy 408
+#define SYS_MAXSYSCALL 409
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index 6e15020..15920c6 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -256,4 +256,13 @@ MIASM = \
lchflags.o \
uuidgen.o \
sendfile.o \
- mac_syscall.o
+ mac_syscall.o \
+ ksem_close.o \
+ ksem_post.o \
+ ksem_wait.o \
+ ksem_trywait.o \
+ ksem_init.o \
+ ksem_open.o \
+ ksem_unlink.o \
+ ksem_getvalue.o \
+ ksem_destroy.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index dacce33..e389b02 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -10,8 +10,8 @@
#define _SYS_SYSPROTO_H_
#include <sys/signal.h>
-
#include <sys/acl.h>
+#include <posix4/_semaphore.h>
struct proc;
@@ -1124,6 +1124,39 @@ struct mac_syscall_args {
char call_l_[PADL_(int)]; int call; char call_r_[PADR_(int)];
char arg_l_[PADL_(void *)]; void * arg; char arg_r_[PADR_(void *)];
};
+struct ksem_close_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+};
+struct ksem_post_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+};
+struct ksem_wait_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+};
+struct ksem_trywait_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+};
+struct ksem_init_args {
+ char idp_l_[PADL_(semid_t *)]; semid_t * idp; char idp_r_[PADR_(semid_t *)];
+ char value_l_[PADL_(unsigned int)]; unsigned int value; char value_r_[PADR_(unsigned int)];
+};
+struct ksem_open_args {
+ char idp_l_[PADL_(semid_t *)]; semid_t * idp; char idp_r_[PADR_(semid_t *)];
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+ char oflag_l_[PADL_(int)]; int oflag; char oflag_r_[PADR_(int)];
+ char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)];
+ char value_l_[PADL_(unsigned int)]; unsigned int value; char value_r_[PADR_(unsigned int)];
+};
+struct ksem_unlink_args {
+ char name_l_[PADL_(const char *)]; const char * name; char name_r_[PADR_(const char *)];
+};
+struct ksem_getvalue_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+ char val_l_[PADL_(int *)]; int * val; char val_r_[PADR_(int *)];
+};
+struct ksem_destroy_args {
+ char id_l_[PADL_(semid_t)]; semid_t id; char id_r_[PADR_(semid_t)];
+};
int nosys(struct thread *, struct nosys_args *);
void sys_exit(struct thread *, struct sys_exit_args *);
int fork(struct thread *, struct fork_args *);
@@ -1377,6 +1410,15 @@ int lchflags(struct thread *, struct lchflags_args *);
int uuidgen(struct thread *, struct uuidgen_args *);
int sendfile(struct thread *, struct sendfile_args *);
int mac_syscall(struct thread *, struct mac_syscall_args *);
+int ksem_close(struct thread *, struct ksem_close_args *);
+int ksem_post(struct thread *, struct ksem_post_args *);
+int ksem_wait(struct thread *, struct ksem_wait_args *);
+int ksem_trywait(struct thread *, struct ksem_trywait_args *);
+int ksem_init(struct thread *, struct ksem_init_args *);
+int ksem_open(struct thread *, struct ksem_open_args *);
+int ksem_unlink(struct thread *, struct ksem_unlink_args *);
+int ksem_getvalue(struct thread *, struct ksem_getvalue_args *);
+int ksem_destroy(struct thread *, struct ksem_destroy_args *);
#ifdef COMPAT_43
OpenPOWER on IntegriCloud