Merge from vendor branch LIBSTDC++:
[dragonfly.git] / secure / lib / libcrypto / man / ERR_get_error.3
1 .\" Automatically generated by Pod::Man version 1.15
2 .\" Wed Feb 19 16:42:52 2003
3 .\"
4 .\" Standard preamble:
5 .\" ======================================================================
6 .de Sh \" Subsection heading
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp \" Vertical space (when we can't use .PP)
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip \" List item
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb \" Begin verbatim text
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve \" End verbatim text
30 .ft R
31
32 .fi
33 ..
34 .\" Set up some character translations and predefined strings.  \*(-- will
35 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
36 .\" double quote, and \*(R" will give a right double quote.  | will give a
37 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used
38 .\" to do unbreakable dashes and therefore won't be available.  \*(C` and
39 .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
40 .tr \(*W-|\(bv\*(Tr
41 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
42 .ie n \{\
43 .    ds -- \(*W-
44 .    ds PI pi
45 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
46 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
47 .    ds L" ""
48 .    ds R" ""
49 .    ds C` ""
50 .    ds C' ""
51 'br\}
52 .el\{\
53 .    ds -- \|\(em\|
54 .    ds PI \(*p
55 .    ds L" ``
56 .    ds R" ''
57 'br\}
58 .\"
59 .\" If the F register is turned on, we'll generate index entries on stderr
60 .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
61 .\" index entries marked with X<> in POD.  Of course, you'll have to process
62 .\" the output yourself in some meaningful fashion.
63 .if \nF \{\
64 .    de IX
65 .    tm Index:\\$1\t\\n%\t"\\$2"
66 ..
67 .    nr % 0
68 .    rr F
69 .\}
70 .\"
71 .\" For nroff, turn off justification.  Always turn off hyphenation; it
72 .\" makes way too many mistakes in technical documents.
73 .hy 0
74 .if n .na
75 .\"
76 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
77 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
78 .bd B 3
79 .    \" fudge factors for nroff and troff
80 .if n \{\
81 .    ds #H 0
82 .    ds #V .8m
83 .    ds #F .3m
84 .    ds #[ \f1
85 .    ds #] \fP
86 .\}
87 .if t \{\
88 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
89 .    ds #V .6m
90 .    ds #F 0
91 .    ds #[ \&
92 .    ds #] \&
93 .\}
94 .    \" simple accents for nroff and troff
95 .if n \{\
96 .    ds ' \&
97 .    ds ` \&
98 .    ds ^ \&
99 .    ds , \&
100 .    ds ~ ~
101 .    ds /
102 .\}
103 .if t \{\
104 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
105 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
106 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
107 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
108 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
109 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
110 .\}
111 .    \" troff and (daisy-wheel) nroff accents
112 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
113 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
114 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
115 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
116 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
117 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
118 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
119 .ds ae a\h'-(\w'a'u*4/10)'e
120 .ds Ae A\h'-(\w'A'u*4/10)'E
121 .    \" corrections for vroff
122 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
123 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
124 .    \" for low resolution devices (crt and lpr)
125 .if \n(.H>23 .if \n(.V>19 \
126 \{\
127 .    ds : e
128 .    ds 8 ss
129 .    ds o a
130 .    ds d- d\h'-1'\(ga
131 .    ds D- D\h'-1'\(hy
132 .    ds th \o'bp'
133 .    ds Th \o'LP'
134 .    ds ae ae
135 .    ds Ae AE
136 .\}
137 .rm #[ #] #H #V #F C
138 .\" ======================================================================
139 .\"
140 .IX Title "ERR_get_error 3"
141 .TH ERR_get_error 3 "0.9.7a" "2003-02-19" "OpenSSL"
142 .UC
143 .SH "NAME"
144 ERR_get_error, ERR_peek_error, ERR_peek_last_error,
145 ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line,
146 ERR_get_error_line_data, ERR_peek_error_line_data,
147 ERR_peek_last_error_line_data \- obtain error code and data
148 .SH "SYNOPSIS"
149 .IX Header "SYNOPSIS"
150 .Vb 1
151 \& #include <openssl/err.h>
152 .Ve
153 .Vb 3
154 \& unsigned long ERR_get_error(void);
155 \& unsigned long ERR_peek_error(void);
156 \& unsigned long ERR_peek_last_error(void);
157 .Ve
158 .Vb 3
159 \& unsigned long ERR_get_error_line(const char **file, int *line);
160 \& unsigned long ERR_peek_error_line(const char **file, int *line);
161 \& unsigned long ERR_peek_last_error_line(const char **file, int *line);
162 .Ve
163 .Vb 6
164 \& unsigned long ERR_get_error_line_data(const char **file, int *line,
165 \&         const char **data, int *flags);
166 \& unsigned long ERR_peek_error_line_data(const char **file, int *line,
167 \&         const char **data, int *flags);
168 \& unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
169 \&         const char **data, int *flags);
170 .Ve
171 .SH "DESCRIPTION"
172 .IX Header "DESCRIPTION"
173 \&\fIERR_get_error()\fR returns the earliest error code from the thread's error
174 queue and removes the entry. This function can be called repeatedly
175 until there are no more error codes to return.
176 .PP
177 \&\fIERR_peek_error()\fR returns the earliest error code from the thread's
178 error queue without modifying it.
179 .PP
180 \&\fIERR_peek_last_error()\fR returns the latest error code from the thread's
181 error queue without modifying it.
182 .PP
183 See ERR_GET_LIB(3) for obtaining information about
184 location and reason of the error, and
185 ERR_error_string(3) for human-readable error
186 messages.
187 .PP
188 \&\fIERR_get_error_line()\fR, \fIERR_peek_error_line()\fR and
189 \&\fIERR_peek_last_error_line()\fR are the same as the above, but they
190 additionally store the file name and line number where
191 the error occurred in *\fBfile\fR and *\fBline\fR, unless these are \fB\s-1NULL\s0\fR.
192 .PP
193 \&\fIERR_get_error_line_data()\fR, \fIERR_peek_error_line_data()\fR and
194 \&\fIERR_get_last_error_line_data()\fR store additional data and flags
195 associated with the error code in *\fBdata\fR
196 and *\fBflags\fR, unless these are \fB\s-1NULL\s0\fR. *\fBdata\fR contains a string
197 if *\fBflags\fR&\fB\s-1ERR_TXT_STRING\s0\fR. If it has been allocated by \fIOPENSSL_malloc()\fR,
198 *\fBflags\fR&\fB\s-1ERR_TXT_MALLOCED\s0\fR is true.
199 .SH "RETURN VALUES"
200 .IX Header "RETURN VALUES"
201 The error code, or 0 if there is no error in the queue.
202 .SH "SEE ALSO"
203 .IX Header "SEE ALSO"
204 err(3), ERR_error_string(3),
205 ERR_GET_LIB(3)
206 .SH "HISTORY"
207 .IX Header "HISTORY"
208 \&\fIERR_get_error()\fR, \fIERR_peek_error()\fR, \fIERR_get_error_line()\fR and
209 \&\fIERR_peek_error_line()\fR are available in all versions of SSLeay and
210 OpenSSL. \fIERR_get_error_line_data()\fR and \fIERR_peek_error_line_data()\fR
211 were added in SSLeay 0.9.0.
212 \&\fIERR_peek_last_error()\fR, \fIERR_peek_last_error_line()\fR and
213 \&\fIERR_peek_last_error_line_data()\fR were added in OpenSSL 0.9.7.