syscall – test a system call

syscall [ –osx ] entry [ arg ... ]

Syscall invokes the system call entry with the given arguments. (Some functions, such as write and read(2), although not strictly system calls, are valid entries.) It prints the return value and the error string, if there was an error. An argument is either an integer constant as in C (its value is passed), a string (its address is passed), or the literal buf (a pointer to a 1MB buffer is passed).

If –o is given, the contents of the 1MB buffer are printed as a zero–terminated string after the system call is done. The –x and –s options are similar, but –x formats the data as hexadecimal bytes, while –s interprets the data as a stat(5) message and formats it similar to the style of ls –lqm (see ls(1)), with extra detail about the modify and access times.

Write a string to standard output:
syscall write 1 hello 5

Print information about the file connected to standard input:
syscall –s fstat 0 buf 1024


Section 2 of this manual.

If entry is not known to syscall, the exit status is unknown. If the system call succeeds, the exit status is null; otherwise the exit status is the string that errstr(2) returns.
Copyright © 2024 Plan 9 Foundation. All rights reserved.