summaryrefslogtreecommitdiff
path: root/Base/usr/share/man/man1
diff options
context:
space:
mode:
Diffstat (limited to 'Base/usr/share/man/man1')
-rw-r--r--Base/usr/share/man/man1/syscall.md62
1 files changed, 62 insertions, 0 deletions
diff --git a/Base/usr/share/man/man1/syscall.md b/Base/usr/share/man/man1/syscall.md
new file mode 100644
index 0000000000..84dc3efe97
--- /dev/null
+++ b/Base/usr/share/man/man1/syscall.md
@@ -0,0 +1,62 @@
+## Name
+
+syscall - test a system call
+
+## Synopsis
+
+```**sh
+$ syscall [-o] [-l] [-h] <syscall-name> <args...> [buf==BUFSIZ buffer]`
+```
+
+## Description
+
+The `syscall` utility can be used to invoke a system call with the given arguments.
+
+## Options
+
+* `-o`: Output the contents of the buffer argument specified as buf to stdout.
+* `-l`: Print a space separated list of all the Serenity system calls and exit. Note that not all the system calls can be invoked using this tool.
+* `-h`: Print a help message and exit.
+
+## Examples
+
+Write a string to standard output:
+
+```sh
+$ syscall write 1 hello 5
+```
+
+Read a string from the standard input into a buffer and output the buffer contents to stdout:
+
+```sh
+$ syscall -o read 0 buf 3
+```
+
+Get the pid of the current running process:
+
+```sh
+$ syscall getpid
+```
+
+Sleep for 3 seconds:
+
+```sh
+$ syscall sleep 3
+```
+
+Create a directory:
+
+```sh
+$ syscall mkdir my-dir 0755
+```
+
+Exit the program with status 2:
+
+```sh
+$ syscall exit 2
+```
+
+## History
+
+This is a direct port of a utility with the same name originated from the Plan 9 operating system.
+