annotate man/mlk_alloc_array.3 @ 533:79afc6d5cc7e

doc: fix doxygen
author David Demelier <markand@malikania.fr>
date Sat, 04 Mar 2023 20:38:00 +0100
parents 9c3b3935f0aa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
442
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .Dd $Mdocdate$
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 .Dt MLK_ALLOC_ARRAY 3
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .Os
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .Sh NAME
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .Nm mlk_alloc_array ,
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .Nm mlk_alloc_array0 ,
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .Nm mlk_alloc_rearray ,
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .Nm mlk_alloc_rearray0
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .Nd safe array allocation
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .Sh LIBRARY
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 libmlk-core (-lmlk-core)
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .Sh SYNOPSIS
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .In mlk/core/alloc.h
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .Ft void *
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .Fn mlk_alloc_array "size_t len, size_t elemsize"
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Ft void *
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Fn mlk_alloc_array0 "size_t len, size_t elemsize"
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Ft void *
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .Fn mlk_alloc_rearray "void *ptr, size_t newlen, size_t elemsize"
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Ft void *
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Fn mlk_alloc_rearray0 "void *ptr, size_t oldlen, size_t newlen, size_t elemsize"
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Sh DESCRIPTION
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 These functions are designed to safely allocate arrays. They take an amount of
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 objects to allocate and their individual sizes, the function ensuress that the
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 multiplication does not overflow.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .Pp
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 The
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 .Fn mlk_alloc_array
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 and
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 .Fn mlk_alloc_array0
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 functions allocate an array of
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 .Fa len
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 elements of
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 .Fa elemsize
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 individually.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 The
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 .Fn mlk_alloc_array0
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 variant ensure the data is being zero-initialized.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 .Pp
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 The
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 .Fn mlk_alloc_rearray
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 function reallocates the pointer
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 .Fa ptr
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 (which may be NULL) as an array of
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 .Fa newlen
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 elements of
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 .Fa elemsize
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 individually.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 .Pp
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 The
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 .Fn mlk_alloc_rearray0
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 function is similar to
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 .Fn mlk_alloc_rearray
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 but zero-initialize the memory. It needs the previous length given in
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 .Fa oldlen
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 argument because the function would not know which memory region to zero
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 initialize when increasing the memory.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 .Sh RETURN VALUES
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 All functions return a pointer to the memory according to the current
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 allocation strategy.
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 .Sh SEE ALSO
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 .Xr mlk-alloc 3 ,
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 .Xr mlk_alloc_set 3
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 .Sh AUTHORS
9c3b3935f0aa core: rework allocations
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 .An David Demelier Aq Mt markand@malikania.fr .