xref: /freebsd/crypto/heimdal/lib/roken/ecalloc.3 (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1*ae771770SStanislav Sedov.\" Copyright (c) 2001, 2003 Kungliga Tekniska Högskolan
2c19800e8SDoug Rabson.\" (Royal Institute of Technology, Stockholm, Sweden).
3c19800e8SDoug Rabson.\" All rights reserved.
4c19800e8SDoug Rabson.\"
5c19800e8SDoug Rabson.\" Redistribution and use in source and binary forms, with or without
6c19800e8SDoug Rabson.\" modification, are permitted provided that the following conditions
7c19800e8SDoug Rabson.\" are met:
8c19800e8SDoug Rabson.\"
9c19800e8SDoug Rabson.\" 1. Redistributions of source code must retain the above copyright
10c19800e8SDoug Rabson.\"    notice, this list of conditions and the following disclaimer.
11c19800e8SDoug Rabson.\"
12c19800e8SDoug Rabson.\" 2. Redistributions in binary form must reproduce the above copyright
13c19800e8SDoug Rabson.\"    notice, this list of conditions and the following disclaimer in the
14c19800e8SDoug Rabson.\"    documentation and/or other materials provided with the distribution.
15c19800e8SDoug Rabson.\"
16c19800e8SDoug Rabson.\" 3. Neither the name of the Institute nor the names of its contributors
17c19800e8SDoug Rabson.\"    may be used to endorse or promote products derived from this software
18c19800e8SDoug Rabson.\"    without specific prior written permission.
19c19800e8SDoug Rabson.\"
20c19800e8SDoug Rabson.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
21c19800e8SDoug Rabson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22c19800e8SDoug Rabson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23c19800e8SDoug Rabson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
24c19800e8SDoug Rabson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25c19800e8SDoug Rabson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26c19800e8SDoug Rabson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27c19800e8SDoug Rabson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28c19800e8SDoug Rabson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29c19800e8SDoug Rabson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30c19800e8SDoug Rabson.\" SUCH DAMAGE.
31*ae771770SStanislav Sedov.\" $Id$
32c19800e8SDoug Rabson.\"
33c19800e8SDoug Rabson.Dd August 14, 2003
34c19800e8SDoug Rabson.Dt ECALLOC 3
35c19800e8SDoug Rabson.Os HEIMDAL
36c19800e8SDoug Rabson.Sh NAME
37c19800e8SDoug Rabson.Nm ecalloc ,
38c19800e8SDoug Rabson.Nm emalloc ,
39c19800e8SDoug Rabson.Nm eread ,
40c19800e8SDoug Rabson.Nm erealloc ,
41c19800e8SDoug Rabson.Nm esetenv ,
42c19800e8SDoug Rabson.Nm estrdup ,
43c19800e8SDoug Rabson.Nm ewrite
44c19800e8SDoug Rabson.Nd exit-on-failure wrapper functions
45c19800e8SDoug Rabson.Sh LIBRARY
46c19800e8SDoug RabsonThe roken library (libroken, -lroken)
47c19800e8SDoug Rabson.Sh SYNOPSIS
48c19800e8SDoug Rabson.Fd #include <roken.h>
49c19800e8SDoug Rabson.Ft "void *"
50c19800e8SDoug Rabson.Fn ecalloc "size_t number" "size_t size"
51c19800e8SDoug Rabson.Ft "void *"
52c19800e8SDoug Rabson.Fn emalloc "size_t sz"
53c19800e8SDoug Rabson.Ft ssize_t
54c19800e8SDoug Rabson.Fn eread "int fd" "void *buf" "size_t nbytes"
55c19800e8SDoug Rabson.Ft "void *"
56c19800e8SDoug Rabson.Fn erealloc "void *ptr" "size_t sz"
57c19800e8SDoug Rabson.Ft void
58c19800e8SDoug Rabson.Fn esetenv "const char *var" "const char *val" "int rewrite"
59c19800e8SDoug Rabson.Ft "char *"
60c19800e8SDoug Rabson.Fn estrdup "const char *str"
61c19800e8SDoug Rabson.Ft ssize_t
62c19800e8SDoug Rabson.Fn ewrite "int fd" "const void *buf" "size_t nbytes"
63c19800e8SDoug Rabson.Sh DESCRIPTION
64c19800e8SDoug RabsonThese functions do the same as the ones without the
65c19800e8SDoug Rabson.Dq e
66c19800e8SDoug Rabsonprefix, but if there is an error they will print a message with
67c19800e8SDoug Rabson.Xr errx 3 ,
68c19800e8SDoug Rabsonand exit. For
69c19800e8SDoug Rabson.Nm eread
70c19800e8SDoug Rabsonand
71c19800e8SDoug Rabson.Nm ewrite
72c19800e8SDoug Rabsonthis is also true for partial data.
73c19800e8SDoug Rabson.Pp
74c19800e8SDoug RabsonThis is useful in applications when there is no need for a more
75c19800e8SDoug Rabsonadvanced failure mode.
76c19800e8SDoug Rabson.Sh SEE ALSO
77c19800e8SDoug Rabson.Xr read 2 ,
78c19800e8SDoug Rabson.Xr write 2 ,
79c19800e8SDoug Rabson.Xr calloc 3 ,
80c19800e8SDoug Rabson.Xr errx 3 ,
81c19800e8SDoug Rabson.Xr malloc 3 ,
82c19800e8SDoug Rabson.Xr realloc 3 ,
83c19800e8SDoug Rabson.Xr setenv 3 ,
84c19800e8SDoug Rabson.Xr strdup 3
85