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