Initial import from FreeBSD RELENG_4:
[dragonfly.git] / secure / lib / libcrypto / man / ERR_get_error.3
CommitLineData
984263bc
MD
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"
144ERR_get_error, ERR_peek_error, ERR_peek_last_error,
145ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line,
146ERR_get_error_line_data, ERR_peek_error_line_data,
147ERR_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
174queue and removes the entry. This function can be called repeatedly
175until there are no more error codes to return.
176.PP
177\&\fIERR_peek_error()\fR returns the earliest error code from the thread's
178error queue without modifying it.
179.PP
180\&\fIERR_peek_last_error()\fR returns the latest error code from the thread's
181error queue without modifying it.
182.PP
183See ERR_GET_LIB(3) for obtaining information about
184location and reason of the error, and
185ERR_error_string(3) for human-readable error
186messages.
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
190additionally store the file name and line number where
191the 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
195associated with the error code in *\fBdata\fR
196and *\fBflags\fR, unless these are \fB\s-1NULL\s0\fR. *\fBdata\fR contains a string
197if *\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"
201The error code, or 0 if there is no error in the queue.
202.SH "SEE ALSO"
203.IX Header "SEE ALSO"
204err(3), ERR_error_string(3),
205ERR_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
210OpenSSL. \fIERR_get_error_line_data()\fR and \fIERR_peek_error_line_data()\fR
211were 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.