From 131f6963ab50a86366fdb5c2de6c5c4e659c10f7 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 23 Sep 2019 12:21:57 +0300 Subject: [PATCH] Add syscall description file --- include/sys/syscall.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 include/sys/syscall.h diff --git a/include/sys/syscall.h b/include/sys/syscall.h new file mode 100644 index 0000000..f2ec7c4 --- /dev/null +++ b/include/sys/syscall.h @@ -0,0 +1,36 @@ +/** vim: set ft=cpp.doxygen : + * @file sys/syscall.h + * @brief System call interface definitions + */ +#pragma once +#include "sys/types.h" + +// Defined here so no need to include mm.h +#define userspace + +// System call numbers + +#define SYS_NR_READ 0 +#define SYS_NR_WRITE 1 + +// System call signatures + +/** + * @brief 0 - Read data from file descriptor + * @param fd Source file + * @param buf Destination buffer. Has to be at least @ref count bytes + * @param count Count of bytes to be read + * @return Non-negative: count of bytes read + * Negative: error + */ +int sys_read(int fd, userspace void *buf, size_t count); + +/** + * @brief 1 - Write data to file descriptor + * @param fd Destination file + * @param buf Bytes to write + * @param count Number of bytes to be written + * @return Non-negative: count of bytes written + * Negative: error + */ +int sys_write(int fd, const userspace void *buf, size_t count);