chiark / gitweb /
Initial revision
[ssr] / StraySrc / Utilities / h / alloc
1 /*
2  * alloc.h
3  *
4  * Trivial veneers for allocating memory
5  *
6  * © 1998 Straylight/Edgeware
7  */
8
9 /*----- Licensing note ----------------------------------------------------*
10  *
11  * This file is part of Straylight's core utilities (coreutils).
12  *
13  * Coreutils is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2, or (at your option)
16  * any later version.
17  *
18  * Coreutils is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with coreutils.  If not, write to the Free Software Foundation,
25  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26  */
27
28 #ifndef ALLOC_H
29 #define ALLOC_H
30
31 #ifdef __cplusplus
32   extern "C" {
33 #endif
34
35 /*----- Required headers --------------------------------------------------*/
36
37 #include <stddef.h>
38
39 /*----- Functions ---------------------------------------------------------*/
40
41 /* --- @xmalloc@ --- *
42  *
43  * Arguments:   @size_t sz@ = size of block to allocate
44  *
45  * Returns:     Pointer to newly allocated block.
46  *
47  * Use:         Returns a block of the requested size, or not at all.
48  */
49
50 extern void *xmalloc(size_t /*sz*/);
51
52 /* --- @xrealloc@ --- *
53  *
54  * Arguments:   @void *p@ = pointer to a block of memory
55  *              @size_t sz@ = size we want it to be
56  *
57  * Returns:     Pointer to resized block
58  *
59  * Use:         Resizes a block.  Returns the resized block, or not at all.
60  */
61
62 extern void *xrealloc(void */*p*/, size_t /*sz*/);
63
64 /* --- @xstrdup@ --- *
65  *
66  * Arguments:   @const char *p@ = pointer to string to copy
67  *
68  * Returns:     Pointer to a copy of the string.
69  *
70  * Use:         Returns a copy of a string, or not at all.
71  */
72
73 extern char *xstrdup(const char */*p*/);
74
75 /*----- That's all, folks -------------------------------------------------*/
76
77 #ifdef __cplusplus
78   }
79 #endif
80
81 #endif