diff options
author | Mattias Andrée <maandree@kth.se> | 2018-11-06 23:42:43 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-11-06 23:42:43 +0100 |
commit | b931b9a808d69773aa40a7cad523156f56db70bc (patch) | |
tree | 2a1ba86106a11b6ad4e8117f45caee44a28c8a19 | |
parent | m (diff) | |
download | libsimple-b931b9a808d69773aa40a7cad523156f56db70bc.tar.gz libsimple-b931b9a808d69773aa40a7cad523156f56db70bc.tar.bz2 libsimple-b931b9a808d69773aa40a7cad523156f56db70bc.tar.xz |
Add arrayalloc man page
Signed-off-by: Mattias Andrée <maandree@kth.se>
35 files changed, 261 insertions, 12 deletions
diff --git a/man/libsimple_aligned_allocz.3 b/man/libsimple_aligned_allocz.3 index 7e6fbdc..751cf4f 100644 --- a/man/libsimple_aligned_allocz.3 +++ b/man/libsimple_aligned_allocz.3 @@ -184,4 +184,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR aligned_alloc (3) diff --git a/man/libsimple_arrayalloc.3 b/man/libsimple_arrayalloc.3 new file mode 120000 index 0000000..b191b9c --- /dev/null +++ b/man/libsimple_arrayalloc.3 @@ -0,0 +1 @@ +libsimple_varrayalloc.3
\ No newline at end of file diff --git a/man/libsimple_earrayalloc.3 b/man/libsimple_earrayalloc.3 new file mode 120000 index 0000000..b2f8ab1 --- /dev/null +++ b/man/libsimple_earrayalloc.3 @@ -0,0 +1 @@ +libsimple_evarrayalloc.3
\ No newline at end of file diff --git a/man/libsimple_enaligned_alloc.3 b/man/libsimple_enaligned_alloc.3 index c9fd4d3..1ea36cb 100644 --- a/man/libsimple_enaligned_alloc.3 +++ b/man/libsimple_enaligned_alloc.3 @@ -145,4 +145,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR aligned_alloc (3) diff --git a/man/libsimple_enarrayalloc.3 b/man/libsimple_enarrayalloc.3 new file mode 120000 index 0000000..e51e1df --- /dev/null +++ b/man/libsimple_enarrayalloc.3 @@ -0,0 +1 @@ +libsimple_envarrayalloc.3
\ No newline at end of file diff --git a/man/libsimple_encalloc.3 b/man/libsimple_encalloc.3 index 1490fb0..a8696e6 100644 --- a/man/libsimple_encalloc.3 +++ b/man/libsimple_encalloc.3 @@ -150,4 +150,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR calloc (3) diff --git a/man/libsimple_enmalloc.3 b/man/libsimple_enmalloc.3 index 7a60241..796eafd 100644 --- a/man/libsimple_enmalloc.3 +++ b/man/libsimple_enmalloc.3 @@ -146,4 +146,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR malloc (3) diff --git a/man/libsimple_enposix_memalign.3 b/man/libsimple_enposix_memalign.3 index 7af3c8e..c1157f3 100644 --- a/man/libsimple_enposix_memalign.3 +++ b/man/libsimple_enposix_memalign.3 @@ -149,4 +149,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR posix_memalign (3) diff --git a/man/libsimple_enrealloc.3 b/man/libsimple_enrealloc.3 index f0c6b48..5262193 100644 --- a/man/libsimple_enrealloc.3 +++ b/man/libsimple_enrealloc.3 @@ -157,4 +157,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR realloc (3) diff --git a/man/libsimple_envarrayalloc.3 b/man/libsimple_envarrayalloc.3 new file mode 120000 index 0000000..0e63ff9 --- /dev/null +++ b/man/libsimple_envarrayalloc.3 @@ -0,0 +1 @@ +libsimple_arrayalloc.3
\ No newline at end of file diff --git a/man/libsimple_evarrayalloc.3 b/man/libsimple_evarrayalloc.3 new file mode 120000 index 0000000..e51e1df --- /dev/null +++ b/man/libsimple_evarrayalloc.3 @@ -0,0 +1 @@ +libsimple_envarrayalloc.3
\ No newline at end of file diff --git a/man/libsimple_mallocz.3 b/man/libsimple_mallocz.3 index f2ce37d..86254ec 100644 --- a/man/libsimple_mallocz.3 +++ b/man/libsimple_mallocz.3 @@ -183,5 +183,6 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR malloc (3), .BR calloc (3) diff --git a/man/libsimple_memalign.3 b/man/libsimple_memalign.3 index 732ad45..8df0d50 100644 --- a/man/libsimple_memalign.3 +++ b/man/libsimple_memalign.3 @@ -175,4 +175,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_memalignz.3 b/man/libsimple_memalignz.3 index 36a0a83..11a70d7 100644 --- a/man/libsimple_memalignz.3 +++ b/man/libsimple_memalignz.3 @@ -178,4 +178,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_posix_memalignz.3 b/man/libsimple_posix_memalignz.3 index 5c8a508..3ea4655 100644 --- a/man/libsimple_posix_memalignz.3 +++ b/man/libsimple_posix_memalignz.3 @@ -183,4 +183,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR posix_memalign (3) diff --git a/man/libsimple_pvalloc.3 b/man/libsimple_pvalloc.3 index f2b5f8b..63473b3 100644 --- a/man/libsimple_pvalloc.3 +++ b/man/libsimple_pvalloc.3 @@ -165,4 +165,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_pvallocz.3 b/man/libsimple_pvallocz.3 index 7ae981e..c758fcd 100644 --- a/man/libsimple_pvallocz.3 +++ b/man/libsimple_pvallocz.3 @@ -175,4 +175,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_valigned_allocn.3 b/man/libsimple_valigned_allocn.3 index bdb5515..2600571 100644 --- a/man/libsimple_valigned_allocn.3 +++ b/man/libsimple_valigned_allocn.3 @@ -234,4 +234,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR aligned_alloc (3) diff --git a/man/libsimple_valigned_alloczn.3 b/man/libsimple_valigned_alloczn.3 index 953be02..9f68adb 100644 --- a/man/libsimple_valigned_alloczn.3 +++ b/man/libsimple_valigned_alloczn.3 @@ -237,4 +237,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR aligned_alloc (3) diff --git a/man/libsimple_valloc.3 b/man/libsimple_valloc.3 index 2473fcd..033e5e9 100644 --- a/man/libsimple_valloc.3 +++ b/man/libsimple_valloc.3 @@ -164,4 +164,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vallocz.3 b/man/libsimple_vallocz.3 index 4a291b2..3559a32 100644 --- a/man/libsimple_vallocz.3 +++ b/man/libsimple_vallocz.3 @@ -175,4 +175,5 @@ None. .BR libsimple_valloc (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_varrayalloc.3 b/man/libsimple_varrayalloc.3 new file mode 100644 index 0000000..ceea9f1 --- /dev/null +++ b/man/libsimple_varrayalloc.3 @@ -0,0 +1,215 @@ +.TH LIBSIMPLE_VARRAYALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_varrayalloc \- allocate memory in a flexible manner +.SH SYNOPSIS +.nf +#include <libsimple.h> + +enum libsimple_arrayalloc_option { + /* constants omitted, see \fBDESCRIPTION\fP */ +}; + +void *libsimple_varrayalloc(\fItype\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_envarrayalloc(int \fIstatus\fP, \fItype\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_evarrayalloc(\fItype\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_arrayalloc(\fItype\fP, size_t \fIn\fP, ..., /* LIBSIMPLE_ARRAYALLOC_END */); +void *libsimple_enarrayalloc(int \fIstatus\fP, \fItype\fP, size_t \fIn\fP, ..., /* LIBSIMPLE_ARRAYALLOC_END */); +void *libsimple_earrayalloc(\fItype\fP, size_t \fIn\fP, ..., /* LIBSIMPLE_ARRAYALLOC_END */); +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_varrayalloc (), +.BR libsimple_envarrayalloc (), +.BR libsimple_earrayalloc (), +.BR libsimple_arrayalloc (), +.BR libsimple_enarrayalloc (), +and +.BR libsimple_earrayalloc () +functions are versions of the +.BR libsimple_vmemalloc (), +.BR libsimple_envmemalloc (), +.BR libsimple_ememalloc (), +.BR libsimple_memalloc (), +.BR libsimple_enmemalloc (), +and +.BR libsimple_ememalloc () +functions, respectively, implemented as macros, +and are identical to those functions with the +following excepts: +.TP +* +The namespaces +.B libsimple_arrayalloc +and +.B LIBSIMPLE_ARRAYALLOC +instead of +.B libsimple_memalloc +and +.BR LIBSIMPLE_MEMALLOC . +.TP +* +The constants +.BR LIBSIMPLE_MEMALLOC_ALIGNMENT , +.BR LIBSIMPLE_MEMALLOC_PAGE_ALIGNMENT , +and +.B LIBSIMPLE_MEMALLOC_ELEMENT_SIZE +are not defined. +.TP +* +The additional parameter +.I type +which shall be a type, or an identifier, for which +.I sizeof(type) +and +.I _Alignof(type) +can be evaluated. +.TP +* +.I _Alignof(type) +will be used as the alignment for the returned pointer. +.TP +* +The specified allocatio size will be multiplied by +.IR sizeof(type) . +.SH RETURN VALUE +The +.BR libsimple_varrayalloc (), +.BR libsimple_envarrayalloc (), +.BR libsimple_earrayalloc (), +.BR libsimple_arrayalloc (), +.BR libsimple_enarrayalloc (), +and +.BR libsimple_earrayalloc () +functions return the a pointer to the allocated +memory upon successful completion; otherwise the +.BR libsimple_varrayalloc () +and +.BR libsimple_arrayalloc () +functions return +.B NULL +and set +.I errno +to indicate the error, whereas the +.BR libsimple_envarrayalloc (), +.BR libsimple_earrayalloc (), +.BR libsimple_enarrayalloc (), +and +.BR libsimple_earrayalloc () +functions terminate the process. +.SH ERRORS +The +.BR libsimple_varrayalloc () +and +.BR libsimple_arrayalloc () +functions will fail if +.TP +.B EINVAL +An invalid argument is specified. +.TP +.B EINVAL +An option is specified twice or in +conjunction with a mutually exclusive option. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envarrayalloc (), +.BR libsimple_earrayalloc (), +.BR libsimple_enarrayalloc (), +and +.BR libsimple_earrayalloc () +functions terminate the process on failure. +.SH ATTRIBUTES +For an explanation of the terms used in this section, see +.BR attributes (7). +.TS +allbox; +lb lb lb +l l l. +Interface Attribute Value +T{ +.BR libsimple_varrayalloc (), +.br +.BR libsimple_envarrayalloc (), +.br +.BR libsimple_earrayalloc (), +.br +.BR libsimple_arrayalloc (), +.br +.BR libsimple_enarrayalloc (), +.br +.BR libsimple_earrayalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_varrayalloc (), +.br +.BR libsimple_envarrayalloc (), +.br +.BR libsimple_earrayalloc (), +.br +.BR libsimple_arrayalloc (), +.br +.BR libsimple_enarrayalloc (), +.br +.BR libsimple_earrayalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_varrayalloc (), +.br +.BR libsimple_envarrayalloc (), +.br +.BR libsimple_earrayalloc (), +.br +.BR libsimple_arrayalloc (), +.br +.BR libsimple_enarrayalloc (), +.br +.BR libsimple_earrayalloc () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR libsimple_vmemalloc (3), +.BR libsimple_enmalloc (3), +.BR libsimple_mallocz (3), +.BR libsimple_vmallocn (3), +.BR libsimple_vmalloczn (3), +.BR libsimple_encalloc (3), +.BR libsimple_vcallocn (3), +.BR libsimple_enrealloc (3), +.BR libsimple_vreallocn (3), +.BR libsimple_memalign (3), +.BR libsimple_memalignz (3), +.BR libsimple_vmemalignn (3), +.BR libsimple_vmemalignzn (3), +.BR libsimple_enposix_memalign (3), +.BR libsimple_posix_memalignz (3), +.BR libsimple_vposix_memalignn (3), +.BR libsimple_vposix_memalignzn (3), +.BR libsimple_enaligned_alloc (3), +.BR libsimple_aligned_allocz (3), +.BR libsimple_valigned_allocn (3), +.BR libsimple_valigned_alloczn (3), +.BR libsimple_pvalloc (3), +.BR libsimple_pvallocz (3), +.BR libsimple_vpvallocn (3), +.BR libsimple_vpvalloczn (3), +.BR libsimple_valloc (3), +.BR libsimple_vallocz (3), +.BR libsimple_vvallocn (3), +.BR libsimple_vvalloczn (3) diff --git a/man/libsimple_vcallocn.3 b/man/libsimple_vcallocn.3 index 51429a2..0d1c71d 100644 --- a/man/libsimple_vcallocn.3 +++ b/man/libsimple_vcallocn.3 @@ -226,4 +226,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR calloc (3) diff --git a/man/libsimple_vmallocn.3 b/man/libsimple_vmallocn.3 index a472a05..0aed464 100644 --- a/man/libsimple_vmallocn.3 +++ b/man/libsimple_vmallocn.3 @@ -226,4 +226,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR malloc (3) diff --git a/man/libsimple_vmalloczn.3 b/man/libsimple_vmalloczn.3 index 7b9fa44..8b12b4a 100644 --- a/man/libsimple_vmalloczn.3 +++ b/man/libsimple_vmalloczn.3 @@ -233,5 +233,6 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR malloc (3), .BR calloc (3) diff --git a/man/libsimple_vmemalignn.3 b/man/libsimple_vmemalignn.3 index aacdcf7..8a6c5c1 100644 --- a/man/libsimple_vmemalignn.3 +++ b/man/libsimple_vmemalignn.3 @@ -228,4 +228,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vmemalignzn.3 b/man/libsimple_vmemalignzn.3 index 2d71a6b..f59b3a0 100644 --- a/man/libsimple_vmemalignzn.3 +++ b/man/libsimple_vmemalignzn.3 @@ -231,4 +231,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vmemalloc.3 b/man/libsimple_vmemalloc.3 index e34b010..b661f29 100644 --- a/man/libsimple_vmemalloc.3 +++ b/man/libsimple_vmemalloc.3 @@ -270,6 +270,7 @@ None. .SH BUGS None. .SH SEE ALSO +.BR libsimple_varrayalloc (3), .BR libsimple_enmalloc (3), .BR libsimple_mallocz (3), .BR libsimple_vmallocn (3), diff --git a/man/libsimple_vposix_memalignn.3 b/man/libsimple_vposix_memalignn.3 index c808837..f05ab6b 100644 --- a/man/libsimple_vposix_memalignn.3 +++ b/man/libsimple_vposix_memalignn.3 @@ -231,4 +231,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR posix_memalign (3) diff --git a/man/libsimple_vposix_memalignzn.3 b/man/libsimple_vposix_memalignzn.3 index 6d74a16..481a4b1 100644 --- a/man/libsimple_vposix_memalignzn.3 +++ b/man/libsimple_vposix_memalignzn.3 @@ -234,4 +234,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR posix_memalign (3) diff --git a/man/libsimple_vpvallocn.3 b/man/libsimple_vpvallocn.3 index 77a5e74..4c05134 100644 --- a/man/libsimple_vpvallocn.3 +++ b/man/libsimple_vpvallocn.3 @@ -226,4 +226,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vpvalloczn.3 b/man/libsimple_vpvalloczn.3 index ad37c2a..be9f1c5 100644 --- a/man/libsimple_vpvalloczn.3 +++ b/man/libsimple_vpvalloczn.3 @@ -228,4 +228,5 @@ None. .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vreallocn.3 b/man/libsimple_vreallocn.3 index 6769aa1..2f61307 100644 --- a/man/libsimple_vreallocn.3 +++ b/man/libsimple_vreallocn.3 @@ -239,4 +239,5 @@ None. .BR libsimple_vvallocn (3), .BR libsimple_vvalloczn (3), .BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), .BR malloc (3) diff --git a/man/libsimple_vvallocn.3 b/man/libsimple_vvallocn.3 index 9cad4db..e21d37b 100644 --- a/man/libsimple_vvallocn.3 +++ b/man/libsimple_vvallocn.3 @@ -225,4 +225,5 @@ None. .BR libsimple_valloc (3), .BR libsimple_vallocz (3), .BR libsimple_vvalloczn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man/libsimple_vvalloczn.3 b/man/libsimple_vvalloczn.3 index 109aa4e..1b7a8e0 100644 --- a/man/libsimple_vvalloczn.3 +++ b/man/libsimple_vvalloczn.3 @@ -228,4 +228,5 @@ None. .BR libsimple_valloc (3), .BR libsimple_vallocz (3), .BR libsimple_vvallocn (3), -.BR libsimple_vmemalloc (3) +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) |