-.\" $OpenBSD: intro.2,v 1.56 2015/01/17 13:37:59 millert Exp $
+.\" $OpenBSD: intro.2,v 1.57 2015/01/19 13:59:16 millert Exp $
.\" $NetBSD: intro.2,v 1.6 1995/02/27 12:33:41 cgd Exp $
.\"
.\" Copyright (c) 1980, 1983, 1986, 1991, 1993
.\"
.\" @(#)intro.2 8.3 (Berkeley) 12/11/93
.\"
-.Dd $Mdocdate: January 17 2015 $
+.Dd $Mdocdate: January 19 2015 $
.Dt INTRO 2
.Os
.Sh NAME
.\".Pp
.\"<more later...>
.Sh DIAGNOSTICS
-Nearly all of the system calls provide an error number via the identifier
-.Dv errno ,
-which expands to an addressable location of type
-.Vt int .
-The address of
-.Va errno
-in each thread is guaranteed to be unique for the lifetime of thread
-thread.
-Applications must use
+Nearly all of the system calls provide an error number in the external
+variable
+.Va errno ,
+which is currently defined as:
+.Pp
+.Dl extern int errno;
+.Pp
+Portable applications must not depend on this definition, and should only
+use
.Va errno
as defined in
-.In errno.h
-and not attempt to use a custom definition.
-.Pp
+.In errno.h .
When a system call detects an error, it returns an integer value
indicating failure (usually \-1) and sets the variable
.Va errno
names as given in
.In sys/errno.h .
.Bl -hang -width Ds
-.It Er 0 Em "Undefined error: 0" .
+.It Er 0 Em "Error 0" .
Not used.
.It Er 1 EPERM Em "Operation not permitted" .
An attempt was made to perform an operation limited to processes