glenda.party
term% ls -F
term% cat index.txt
ERRSTR(2)                     System Calls Manual                    ERRSTR(2)



NAME
       errstr, werrstr - description of last system call error

SYNOPSIS
       #include <u.h>
       #include <libc.h>

       int errstr(char *err)

       void werrstr(char *fmt, ...)

DESCRIPTION
       When  a system call fails it returns -1 and records a string describing
       the error in a per-process buffer.  Errstr swaps the contents  of  that
       buffer with the contents of the array err.  Err should contain at least
       ERRLEN characters (defined in <libc.h>).  Usually errstr will be called
       with  an  empty  string, but the exchange property provides a mechanism
       for libraries to set the return value for the next call to errstr.

       If no system call has generated an error since the last call to  errstr
       with an empty string, the result is an empty string.

       The verb r in print(2) calls errstr and outputs the error string.

       Werrstr  takes a print style format as its argument and uses it to for‐
       mat a string to pass to errstr.  The string  returned  from  errstr  is
       discarded.

SOURCE
       /sys/src/libc/9syscall
       /sys/src/libc/9sys/werrstr.c

DIAGNOSTICS
       Errstr always returns 0.

SEE ALSO
       intro(2), perror(2)



                                                                     ERRSTR(2)