aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-19 20:18:39 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-19 20:18:39 +0100
commitf876e66e717c4dd853da12892048262afe47ffdf (patch)
treebc7aa8ebfbb86bfa0a443fda718569a6c9e51e82 /src/lib
parent7b27ab493b56f9e77d805c4f44a1717f3a79231e (diff)
downloadkogata-f876e66e717c4dd853da12892048262afe47ffdf.tar.gz
kogata-f876e66e717c4dd853da12892048262afe47ffdf.zip
Add syscall for ioctl on open handle
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/include/syscall.h1
-rw-r--r--src/lib/libkogata/syscall.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/include/syscall.h b/src/lib/include/syscall.h
index 3d9fcd5..0f1efb0 100644
--- a/src/lib/include/syscall.h
+++ b/src/lib/include/syscall.h
@@ -33,6 +33,7 @@ size_t read(fd_t file, size_t offset, size_t len, char *buf);
size_t write(fd_t file, size_t offset, size_t len, const char* buf);
bool readdir(fd_t file, dirent_t *d);
bool stat_open(fd_t file, stat_t *s);
+int ioctl_open(fd_t file, int command, void* data);
int get_mode(fd_t file);
// more todo
diff --git a/src/lib/libkogata/syscall.c b/src/lib/libkogata/syscall.c
index 008a2a9..2e0ef0f 100644
--- a/src/lib/libkogata/syscall.c
+++ b/src/lib/libkogata/syscall.c
@@ -82,6 +82,9 @@ bool readdir(fd_t file, dirent_t *d) {
bool stat_open(fd_t file, stat_t *s) {
return call(SC_STAT_OPEN, file, (uint32_t)s, 0, 0, 0);
}
+int ioctl_open(fd_t file, int command, void* data) {
+ return call(SC_IOCTL_OPEN, file, command, (uint32_t)data, 0, 0);
+}
int get_mode(fd_t file) {
return call(SC_GET_MODE, file, 0, 0, 0, 0);
}