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



NAME
       perror, syslog, sysfatal - system error messages

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

       void perror(char *s)

       void syslog(int cons, char *logname, char *fmt, ...)

       void sysfatal(char *fmt, ...)

DESCRIPTION
       Perror  produces  a  short  error  message  on  the standard error file
       describing the last error encountered during  a  call  to  the  system.
       First  the argument string s is printed, then a colon, then the message
       and a newline.  If s is nil, only the error  message  and  newline  are
       printed.

       Syslog  logs  messages  in  the  file named by logname in the directory
       /sys/log; the file must already exist and should be append-only.   Log‐
       name  must  contain  no  slashes.   The  message is a line with several
       fields: the name of the machine writing the message; the date and time;
       the  message  specified  by  the  print(2) format fmt and any following
       arguments; and a final newline.  If cons is set or the log file  cannot
       be  opened,  the message is also printed on the system console.  Syslog
       can be used safely in multi-threaded programs.

       Sysfatal prints to standard error the name of the  running  program,  a
       colon  and a space, the message described by the print(2) format string
       fmt and subsequent arguments, and a newline.  It  then  calls  exits(2)
       with  the  formatted  message  as  argument.  The program's name is the
       value of argv0, which will be set if the program uses the arg(2) inter‐
       face to process its arguments.  If argv0 is null, it is ignored and the
       following colon and space are suppressed.

SOURCE
       /sys/src/libc/port/perror.c
       /sys/src/libc/9sys/syslog.c
       /sys/src/libc/9sys/sysfatal.c

SEE ALSO
       intro(2), errstr(2), the %r format in print(2)

BUGS
       Perror is a holdover; the %r format in print(2) is preferred.



                                                                     PERROR(2)