GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ERRSTR (3)

NAME

errstr, rerrstr, werrstr - description of last system call error

CONTENTS

Synopsis
Description
Source
Diagnostics
See Also
Bugs

SYNOPSIS

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

int errstr(char *err, uint nerr)

void rerrstr(char *err, uint nerr)

void werrstr(char *fmt, ...)

DESCRIPTION

When a system call fails it returns -1 and records a null terminated string describing the error in a per-process buffer. Errstr swaps the contents of that buffer with the contents of the array err. Errstr will write at most nerr bytes into err; if the per-process error string does not fit, it is silently truncated at a UTF character boundary. The returned string is NUL-terminated. 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.

The per-process buffer is ERRMAX bytes long. Any error string provided by the user will be truncated at ERRMAX-1 bytes. ERRMAX is defined in <libc.h>.

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(3) calls errstr and outputs the error string.

Rerrstr reads the error string but does not modify the per-process buffer, so a subsequent errstr will recover the same string.

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

The error string is maintained in parallel with the Unix error number errno. Changing errno will reset the error string, and changing the error string via errstr or werrstr will reset errno.

SOURCE

/usr/local/plan9/src/lib9/errstr.c

DIAGNOSTICS

Errstr always returns 0.

SEE ALSO

intro(3), perror(3)

BUGS

The implementation sets errno to the (somewhat arbitrary) constant 0x19283745 when the error string is valid. When errno is set to other values, the error string is synthesized using strerror(3).
Search for    or go to Top of page |  Section 3 |  Main Index


ERRSTR (3) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.