diff options
Diffstat (limited to 'man3')
529 files changed, 15752 insertions, 0 deletions
diff --git a/man3/ELEMSOF.3libsimple b/man3/ELEMSOF.3libsimple new file mode 100644 index 0000000..b40d563 --- /dev/null +++ b/man3/ELEMSOF.3libsimple @@ -0,0 +1,34 @@ +.TH ELEMSOF 3 2018-11-05 libsimple +.SH NAME +ELEMSOF \- get the size of an array +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef ELEMSOF +# define ELEMSOF(arr) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR ELEMSOF () +macro assumes +.I arr +is an array (not a pointer) and expands, as +a constant expression. The type of the expression +the macro expands to is +.BR size_t . +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR STRLEN (3libsimple) diff --git a/man3/INTSTRLEN.3libsimple b/man3/INTSTRLEN.3libsimple new file mode 100644 index 0000000..63c1485 --- /dev/null +++ b/man3/INTSTRLEN.3libsimple @@ -0,0 +1,46 @@ +.TH INTSTRLEN 3 2018-11-05 libsimple +.SH NAME +INTSTRLEN \- get the maximum length of an integer string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef INTSTRLEN +# define INTSTRLEN(type) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR INTSTRLEN () +macro assumes +.I type +is an integer type, and expends to a value representing +a number of bytes sufficiently large to store any value +of the specified integer type as a string without leading +zeroes or plus sign, and +.IR "without a terminating NUL byte" , +as a constant expression in the type +.BR size_t ; +however it is not suitable for +.BR #if . +.PP +The resulting value can depend in either the type is +signed or unsigned, and can be slightly larger than +necessary, it can however not be smaller. (For integers +up to 64 bits, the result is only off by one for signed +64-bit integer types.) +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR TYPE_MIN (3libsimple) +.BR TYPE_MAX (3libsimple) diff --git a/man3/LIBSIMPLE_UNLIST.3 b/man3/LIBSIMPLE_UNLIST.3 new file mode 120000 index 0000000..d075ee4 --- /dev/null +++ b/man3/LIBSIMPLE_UNLIST.3 @@ -0,0 +1 @@ +libsimple_unlist.3
\ No newline at end of file diff --git a/man3/MAX.3libsimple b/man3/MAX.3libsimple new file mode 100644 index 0000000..e4a4d62 --- /dev/null +++ b/man3/MAX.3libsimple @@ -0,0 +1,58 @@ +.TH MAX 3 2018-11-05 libsimple +.SH NAME +MAX \- get the greater of two values +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef MAX +# define MAX(a, b) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR MAX () +macro is a function-like macro that +returns the greater of the values +.I a +and +.IR b . +.PP +The +.I a +and +.I b +expressions must not have side-effects. +.PP +If both of the +.I a +and +.I b +parameters are constants expressions, the +return value is also a constant expression. +.SH RETURN VALUE +The +.BR MAX () +macro returns to the greater value. +.SH ERRORS +The +.BR libsimple_close () +function fail for the reasons specified for the +.BR close (3) +function. +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR MIN (3libsimple), +.BR MIN3 (3libsimple), +.BR MAX3 (3libsimple) diff --git a/man3/MAX3.3libsimple b/man3/MAX3.3libsimple new file mode 100644 index 0000000..103169a --- /dev/null +++ b/man3/MAX3.3libsimple @@ -0,0 +1,61 @@ +.TH MAX3 3 2018-11-05 libsimple +.SH NAME +MAX3 \- get the greatest of three values +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef MAX3 +# define MAX3(a, b, c) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR MAX3 () +macro is a function-like macro that +returns the greatest of the values +.IR a , +.IR b , +and +.IR c . +.PP +The +.IR a , +.IR b , +and +.I c +expressions must not have side-effects. +.PP +If all three of the +.IR a , +.IR b , +and +.I c +parameters are constants expressions, the +return value is also a constant expression. +.SH RETURN VALUE +The +.BR MAX3 () +macro returns to the greatest of value. +.SH ERRORS +The +.BR libsimple_close () +function fail for the reasons specified for the +.BR close (3) +function. +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR MIN (3libsimple), +.BR MAX (3libsimple), +.BR MIN3 (3libsimple) diff --git a/man3/MIN.3libsimple b/man3/MIN.3libsimple new file mode 100644 index 0000000..d88216e --- /dev/null +++ b/man3/MIN.3libsimple @@ -0,0 +1,58 @@ +.TH MIN 3 2018-11-05 libsimple +.SH NAME +MIN \- get the lesser of two values +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef MIN +# define MIN(a, b) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR MIN () +macro is a function-like macro that +returns the lesser of the values +.I a +and +.IR b . +.PP +The +.I a +and +.I b +expressions must not have side-effects. +.PP +If both of the +.I a +and +.I b +parameters are constants expressions, the +return value is also a constant expression. +.SH RETURN VALUE +The +.BR MIN () +macro returns to the lesser value. +.SH ERRORS +The +.BR libsimple_close () +function fail for the reasons specified for the +.BR close (3) +function. +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR MAX (3libsimple), +.BR MIN3 (3libsimple), +.BR MAX3 (3libsimple) diff --git a/man3/MIN3.3libsimple b/man3/MIN3.3libsimple new file mode 100644 index 0000000..c915781 --- /dev/null +++ b/man3/MIN3.3libsimple @@ -0,0 +1,61 @@ +.TH MIN3 3 2018-11-05 libsimple +.SH NAME +MIN3 \- get the smallest of three values +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef MIN3 +# define MIN3(a, b, c) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR MIN3 () +macro is a function-like macro that +returns the smallest of the values +.IR a , +.IR b , +and +.IR c . +.PP +The +.IR a , +.IR b , +and +.I c +expressions must not have side-effects. +.PP +If all three of the +.IR a , +.IR b , +and +.I c +parameters are constants expressions, the +return value is also a constant expression. +.SH RETURN VALUE +The +.BR MIN3 () +macro returns to the smallest of value. +.SH ERRORS +The +.BR libsimple_close () +function fail for the reasons specified for the +.BR close (3) +function. +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR MIN (3libsimple), +.BR MAX (3libsimple), +.BR MAX3 (3libsimple) diff --git a/man3/STRLEN.3libsimple b/man3/STRLEN.3libsimple new file mode 100644 index 0000000..06ccecf --- /dev/null +++ b/man3/STRLEN.3libsimple @@ -0,0 +1,41 @@ +.TH STRLEN 3 2018-11-05 libsimple +.SH NAME +STRLEN \- get the length of a string literal +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef STRLEN +# define STRLEN(str) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR STRLEN () +macro assumes +.I str +is string literal +.RB ( char +array type) and expands the value of +.I strlen(str) +as a constant expression, that is, without +calling +.IR strlen ; +however it is not suitable for +.BR #if . +The type of the expression the macro expands to is +.BR size_t . +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR ELEMSOF (3libsimple) diff --git a/man3/TYPE_MAX.3libsimple b/man3/TYPE_MAX.3libsimple new file mode 100644 index 0000000..c132ec9 --- /dev/null +++ b/man3/TYPE_MAX.3libsimple @@ -0,0 +1,77 @@ +.TH TYPE_MAX 3 2018-11-05 libsimple +.SH NAME +TYPE_MAX \- get largest value for an integer type +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef TYPE_MAX +# define TYPE_MAX(type) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR TYPE_MAX () +macro assumes +.I type +is an integer type and expands to the largest value +that can be stored in the +.IR TYPE , +as a constant expression; however it is not suitable for +.BR #if . +.PP +The +.IB <libsimple.h> +heading contains macro constants, using the +.BR TYPE_MAX () +macro, for the maximum value for multiple integer types: +.BR BLKCNT64_MAX , +.BR BLKCNT_MAX , +.BR BLKSIZE_MAX , +.BR CC_MAX , +.BR CLOCKID_MAX , +.BR CLOCK_MAX , +.BR DEV_MAX , +.BR FSBLKCNT64_MAX , +.BR FSBLKCNT_MAX , +.BR FSFILCNT64_MAX , +.BR FSFILCNT_MAX , +.BR GID_MAX , +.BR ID_MAX , +.BR INO64_MAX , +.BR INO_MAX , +.BR KEY_MAX , +.BR LOFF_MAX , +.BR MODE_MAX , +.BR NLINK_MAX , +.BR OFF64_MAX , +.BR OFF_MAX , +.BR PID_MAX , +.BR QUAD_MAX , +.BR REGISTER_MAX , +.BR RLIM64_MAX , +.BR RLIM_MAX , +.BR SOCKLEN_MAX , +.BR SPEED_MAX , +.BR SUSECONDS_MAX , +.BR TCFLAG_MAX , +.BR TIME_MAX , +.BR UID_MAX , +.BR USECONDS_MAX , +and +.BR U_QUAD_MAX . +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR TYPE_MIN (3libsimple) +.BR INTSTRLEN (3libsimple) diff --git a/man3/TYPE_MIN.3libsimple b/man3/TYPE_MIN.3libsimple new file mode 100644 index 0000000..6720465 --- /dev/null +++ b/man3/TYPE_MIN.3libsimple @@ -0,0 +1,77 @@ +.TH TYPE_MIN 3 2018-11-05 libsimple +.SH NAME +TYPE_MIN \- get smallest value for an integer type +.SH SYNOPSIS +.nf +#include <libsimple.h> + +#ifndef TYPE_MIN +# define TYPE_MIN(type) /* implementation omitted */ +#endif +.fi +.SH DESCRIPTION +The +.BR TYPE_MIN () +macro assumes +.I type +is an integer type and expands to the smallest value +that can be stored in the +.IR TYPE , +as a constant expression; however it is not suitable for +.BR #if . +.PP +The +.IB <libsimple.h> +heading contains macro constants, using the +.BR TYPE_MIN () +macro, for the minimum value for multiple integer types: +.BR BLKCNT64_MIN , +.BR BLKCNT_MIN , +.BR BLKSIZE_MIN , +.BR CC_MIN , +.BR CLOCKID_MIN , +.BR CLOCK_MIN , +.BR DEV_MIN , +.BR FSBLKCNT64_MIN , +.BR FSBLKCNT_MIN , +.BR FSFILCNT64_MIN , +.BR FSFILCNT_MIN , +.BR GID_MIN , +.BR ID_MIN , +.BR INO64_MIN , +.BR INO_MIN , +.BR KEY_MIN , +.BR LOFF_MIN , +.BR MODE_MIN , +.BR NLINK_MIN , +.BR OFF64_MIN , +.BR OFF_MIN , +.BR PID_MIN , +.BR QUAD_MIN , +.BR REGISTER_MIN , +.BR RLIM64_MIN , +.BR RLIM_MIN , +.BR SOCKLEN_MIN , +.BR SPEED_MIN , +.BR SUSECONDS_MIN , +.BR TCFLAG_MIN , +.BR TIME_MIN , +.BR UID_MIN , +.BR USECONDS_MIN , +and +.BR U_QUAD_MIN . +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR TYPE_MAX (3libsimple) +.BR INTSTRLEN (3libsimple) diff --git a/man3/UNLIST.3libsimple b/man3/UNLIST.3libsimple new file mode 120000 index 0000000..e424549 --- /dev/null +++ b/man3/UNLIST.3libsimple @@ -0,0 +1 @@ +LIBSIMPLE_UNLIST.3
\ No newline at end of file diff --git a/man3/aligned_allocn.3libsimple b/man3/aligned_allocn.3libsimple new file mode 120000 index 0000000..035b2be --- /dev/null +++ b/man3/aligned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_aligned_allocn.3
\ No newline at end of file diff --git a/man3/aligned_allocz.3libsimple b/man3/aligned_allocz.3libsimple new file mode 120000 index 0000000..f4cc746 --- /dev/null +++ b/man3/aligned_allocz.3libsimple @@ -0,0 +1 @@ +libsimple_aligned_allocz.3
\ No newline at end of file diff --git a/man3/aligned_alloczn.3libsimple b/man3/aligned_alloczn.3libsimple new file mode 120000 index 0000000..376a797 --- /dev/null +++ b/man3/aligned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_aligned_alloczn.3
\ No newline at end of file diff --git a/man3/aligned_memdup.3libsimple b/man3/aligned_memdup.3libsimple new file mode 120000 index 0000000..a9c2fef --- /dev/null +++ b/man3/aligned_memdup.3libsimple @@ -0,0 +1 @@ +libsimple_aligned_memdup.3
\ No newline at end of file diff --git a/man3/aligned_memdupa.3libsimple b/man3/aligned_memdupa.3libsimple new file mode 120000 index 0000000..1a50c24 --- /dev/null +++ b/man3/aligned_memdupa.3libsimple @@ -0,0 +1 @@ +libsimple_aligned_memdupa.3
\ No newline at end of file diff --git a/man3/asprintf.3libsimple b/man3/asprintf.3libsimple new file mode 120000 index 0000000..1d682f8 --- /dev/null +++ b/man3/asprintf.3libsimple @@ -0,0 +1 @@ +libsimple_asprintf.3
\ No newline at end of file diff --git a/man3/asprintfa.3libsimple b/man3/asprintfa.3libsimple new file mode 120000 index 0000000..2fc83bf --- /dev/null +++ b/man3/asprintfa.3libsimple @@ -0,0 +1 @@ +libsimple_asprintfa.3
\ No newline at end of file diff --git a/man3/callocn.3libsimple b/man3/callocn.3libsimple new file mode 120000 index 0000000..77904c3 --- /dev/null +++ b/man3/callocn.3libsimple @@ -0,0 +1 @@ +libsimple_callocn.3
\ No newline at end of file diff --git a/man3/cmptimespec.3libsimple b/man3/cmptimespec.3libsimple new file mode 120000 index 0000000..8199c4e --- /dev/null +++ b/man3/cmptimespec.3libsimple @@ -0,0 +1 @@ +libsimple_cmptimespec.3
\ No newline at end of file diff --git a/man3/cmptimeval.3libsimple b/man3/cmptimeval.3libsimple new file mode 120000 index 0000000..6831169 --- /dev/null +++ b/man3/cmptimeval.3libsimple @@ -0,0 +1 @@ +libsimple_cmptimeval.3
\ No newline at end of file diff --git a/man3/difftimespec.3libsimple b/man3/difftimespec.3libsimple new file mode 120000 index 0000000..b03eae5 --- /dev/null +++ b/man3/difftimespec.3libsimple @@ -0,0 +1 @@ +libsimple_difftimespec.3
\ No newline at end of file diff --git a/man3/difftimeval.3libsimple b/man3/difftimeval.3libsimple new file mode 120000 index 0000000..96c8b98 --- /dev/null +++ b/man3/difftimeval.3libsimple @@ -0,0 +1 @@ +libsimple_difftimeval.3
\ No newline at end of file diff --git a/man3/doubletotimespec.3libsimple b/man3/doubletotimespec.3libsimple new file mode 120000 index 0000000..4158ff1 --- /dev/null +++ b/man3/doubletotimespec.3libsimple @@ -0,0 +1 @@ +libsimple_doubletotimespec.3
\ No newline at end of file diff --git a/man3/doubletotimeval.3libsimple b/man3/doubletotimeval.3libsimple new file mode 120000 index 0000000..c61511a --- /dev/null +++ b/man3/doubletotimeval.3libsimple @@ -0,0 +1 @@ +libsimple_doubletotimeval.3
\ No newline at end of file diff --git a/man3/ealigned_alloc.3libsimple b/man3/ealigned_alloc.3libsimple new file mode 120000 index 0000000..c95284e --- /dev/null +++ b/man3/ealigned_alloc.3libsimple @@ -0,0 +1 @@ +libsimple_ealigned_alloc.3
\ No newline at end of file diff --git a/man3/ealigned_allocn.3libsimple b/man3/ealigned_allocn.3libsimple new file mode 120000 index 0000000..d283147 --- /dev/null +++ b/man3/ealigned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_ealigned_allocn.3
\ No newline at end of file diff --git a/man3/ealigned_allocz.3libsimple b/man3/ealigned_allocz.3libsimple new file mode 120000 index 0000000..40d949e --- /dev/null +++ b/man3/ealigned_allocz.3libsimple @@ -0,0 +1 @@ +libsimple_ealigned_allocz.3
\ No newline at end of file diff --git a/man3/ealigned_alloczn.3libsimple b/man3/ealigned_alloczn.3libsimple new file mode 120000 index 0000000..592cff2 --- /dev/null +++ b/man3/ealigned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_ealigned_alloczn.3
\ No newline at end of file diff --git a/man3/ealigned_memdup.3libsimple b/man3/ealigned_memdup.3libsimple new file mode 120000 index 0000000..f860b87 --- /dev/null +++ b/man3/ealigned_memdup.3libsimple @@ -0,0 +1 @@ +libsimple_ealigned_memdup.3
\ No newline at end of file diff --git a/man3/ecalloc.3libsimple b/man3/ecalloc.3libsimple new file mode 120000 index 0000000..d2ace0f --- /dev/null +++ b/man3/ecalloc.3libsimple @@ -0,0 +1 @@ +libsimple_ecalloc.3
\ No newline at end of file diff --git a/man3/ecallocn.3libsimple b/man3/ecallocn.3libsimple new file mode 120000 index 0000000..146a819 --- /dev/null +++ b/man3/ecallocn.3libsimple @@ -0,0 +1 @@ +libsimple_ecallocn.3
\ No newline at end of file diff --git a/man3/emalloc.3libsimple b/man3/emalloc.3libsimple new file mode 120000 index 0000000..30254ee --- /dev/null +++ b/man3/emalloc.3libsimple @@ -0,0 +1 @@ +libsimple_emalloc.3
\ No newline at end of file diff --git a/man3/emallocn.3libsimple b/man3/emallocn.3libsimple new file mode 120000 index 0000000..bdcff7f --- /dev/null +++ b/man3/emallocn.3libsimple @@ -0,0 +1 @@ +libsimple_emallocn.3
\ No newline at end of file diff --git a/man3/emallocz.3libsimple b/man3/emallocz.3libsimple new file mode 120000 index 0000000..a146d6f --- /dev/null +++ b/man3/emallocz.3libsimple @@ -0,0 +1 @@ +libsimple_emallocz.3
\ No newline at end of file diff --git a/man3/emalloczn.3libsimple b/man3/emalloczn.3libsimple new file mode 120000 index 0000000..83eceec --- /dev/null +++ b/man3/emalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_emalloczn.3
\ No newline at end of file diff --git a/man3/ememalign.3libsimple b/man3/ememalign.3libsimple new file mode 120000 index 0000000..ac40060 --- /dev/null +++ b/man3/ememalign.3libsimple @@ -0,0 +1 @@ +libsimple_ememalign.3
\ No newline at end of file diff --git a/man3/ememalignn.3libsimple b/man3/ememalignn.3libsimple new file mode 120000 index 0000000..c3c1ced --- /dev/null +++ b/man3/ememalignn.3libsimple @@ -0,0 +1 @@ +libsimple_ememalignn.3
\ No newline at end of file diff --git a/man3/ememalignz.3libsimple b/man3/ememalignz.3libsimple new file mode 120000 index 0000000..904ffac --- /dev/null +++ b/man3/ememalignz.3libsimple @@ -0,0 +1 @@ +libsimple_ememalignz.3
\ No newline at end of file diff --git a/man3/ememalignzn.3libsimple b/man3/ememalignzn.3libsimple new file mode 120000 index 0000000..d4ed2d0 --- /dev/null +++ b/man3/ememalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_ememalignzn.3
\ No newline at end of file diff --git a/man3/ememdup.3libsimple b/man3/ememdup.3libsimple new file mode 120000 index 0000000..ea4b242 --- /dev/null +++ b/man3/ememdup.3libsimple @@ -0,0 +1 @@ +libsimple_ememdup.3
\ No newline at end of file diff --git a/man3/enaligned_alloc.3libsimple b/man3/enaligned_alloc.3libsimple new file mode 120000 index 0000000..1737ec8 --- /dev/null +++ b/man3/enaligned_alloc.3libsimple @@ -0,0 +1 @@ +libsimple_enaligned_alloc.3
\ No newline at end of file diff --git a/man3/enaligned_allocn.3libsimple b/man3/enaligned_allocn.3libsimple new file mode 120000 index 0000000..b8399e7 --- /dev/null +++ b/man3/enaligned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_enaligned_allocn.3
\ No newline at end of file diff --git a/man3/enaligned_allocz.3libsimple b/man3/enaligned_allocz.3libsimple new file mode 120000 index 0000000..c6dc93f --- /dev/null +++ b/man3/enaligned_allocz.3libsimple @@ -0,0 +1 @@ +libsimple_enaligned_allocz.3
\ No newline at end of file diff --git a/man3/enaligned_alloczn.3libsimple b/man3/enaligned_alloczn.3libsimple new file mode 120000 index 0000000..7f167e0 --- /dev/null +++ b/man3/enaligned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_enaligned_alloczn.3
\ No newline at end of file diff --git a/man3/enaligned_memdup.3libsimple b/man3/enaligned_memdup.3libsimple new file mode 120000 index 0000000..b6e0dd2 --- /dev/null +++ b/man3/enaligned_memdup.3libsimple @@ -0,0 +1 @@ +libsimple_enaligned_memdup.3
\ No newline at end of file diff --git a/man3/encalloc.3libsimple b/man3/encalloc.3libsimple new file mode 120000 index 0000000..a7bfcfa --- /dev/null +++ b/man3/encalloc.3libsimple @@ -0,0 +1 @@ +libsimple_encalloc.3
\ No newline at end of file diff --git a/man3/encallocn.3libsimple b/man3/encallocn.3libsimple new file mode 120000 index 0000000..a0909c1 --- /dev/null +++ b/man3/encallocn.3libsimple @@ -0,0 +1 @@ +libsimple_encallocn.3
\ No newline at end of file diff --git a/man3/enmalloc.3libsimple b/man3/enmalloc.3libsimple new file mode 120000 index 0000000..26cfa44 --- /dev/null +++ b/man3/enmalloc.3libsimple @@ -0,0 +1 @@ +libsimple_enmalloc.3
\ No newline at end of file diff --git a/man3/enmallocn.3libsimple b/man3/enmallocn.3libsimple new file mode 120000 index 0000000..efb153b --- /dev/null +++ b/man3/enmallocn.3libsimple @@ -0,0 +1 @@ +libsimple_enmallocn.3
\ No newline at end of file diff --git a/man3/enmallocz.3libsimple b/man3/enmallocz.3libsimple new file mode 120000 index 0000000..3b99dc1 --- /dev/null +++ b/man3/enmallocz.3libsimple @@ -0,0 +1 @@ +libsimple_enmallocz.3
\ No newline at end of file diff --git a/man3/enmalloczn.3libsimple b/man3/enmalloczn.3libsimple new file mode 120000 index 0000000..b063712 --- /dev/null +++ b/man3/enmalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_enmalloczn.3
\ No newline at end of file diff --git a/man3/enmemalign.3libsimple b/man3/enmemalign.3libsimple new file mode 120000 index 0000000..ce980d3 --- /dev/null +++ b/man3/enmemalign.3libsimple @@ -0,0 +1 @@ +libsimple_enmemalign.3
\ No newline at end of file diff --git a/man3/enmemalignn.3libsimple b/man3/enmemalignn.3libsimple new file mode 120000 index 0000000..8d62253 --- /dev/null +++ b/man3/enmemalignn.3libsimple @@ -0,0 +1 @@ +libsimple_enmemalignn.3
\ No newline at end of file diff --git a/man3/enmemalignz.3libsimple b/man3/enmemalignz.3libsimple new file mode 120000 index 0000000..2b282d2 --- /dev/null +++ b/man3/enmemalignz.3libsimple @@ -0,0 +1 @@ +libsimple_enmemalignz.3
\ No newline at end of file diff --git a/man3/enmemalignzn.3libsimple b/man3/enmemalignzn.3libsimple new file mode 120000 index 0000000..f3e8942 --- /dev/null +++ b/man3/enmemalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_enmemalignzn.3
\ No newline at end of file diff --git a/man3/enmemdup.3libsimple b/man3/enmemdup.3libsimple new file mode 120000 index 0000000..b7ce69c --- /dev/null +++ b/man3/enmemdup.3libsimple @@ -0,0 +1 @@ +libsimple_enmemdup.3
\ No newline at end of file diff --git a/man3/enposix_memalign.3libsimple b/man3/enposix_memalign.3libsimple new file mode 120000 index 0000000..4276ade --- /dev/null +++ b/man3/enposix_memalign.3libsimple @@ -0,0 +1 @@ +libsimple_enposix_memalign.3
\ No newline at end of file diff --git a/man3/enposix_memalignn.3libsimple b/man3/enposix_memalignn.3libsimple new file mode 120000 index 0000000..363ca79 --- /dev/null +++ b/man3/enposix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_enposix_memalignn.3
\ No newline at end of file diff --git a/man3/enposix_memalignz.3libsimple b/man3/enposix_memalignz.3libsimple new file mode 120000 index 0000000..2aba726 --- /dev/null +++ b/man3/enposix_memalignz.3libsimple @@ -0,0 +1 @@ +libsimple_enposix_memalignz.3
\ No newline at end of file diff --git a/man3/enposix_memalignzn.3libsimple b/man3/enposix_memalignzn.3libsimple new file mode 120000 index 0000000..a6d27c4 --- /dev/null +++ b/man3/enposix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_enposix_memalignzn.3
\ No newline at end of file diff --git a/man3/enprintf.3libsimple b/man3/enprintf.3libsimple new file mode 120000 index 0000000..3d2d430 --- /dev/null +++ b/man3/enprintf.3libsimple @@ -0,0 +1 @@ +libsimple_enprintf.3
\ No newline at end of file diff --git a/man3/enputenvf.3libsimple b/man3/enputenvf.3libsimple new file mode 120000 index 0000000..640377b --- /dev/null +++ b/man3/enputenvf.3libsimple @@ -0,0 +1 @@ +libsimple_enputenvf.3
\ No newline at end of file diff --git a/man3/enpvalloc.3libsimple b/man3/enpvalloc.3libsimple new file mode 120000 index 0000000..1c3b2df --- /dev/null +++ b/man3/enpvalloc.3libsimple @@ -0,0 +1 @@ +libsimple_enpvalloc.3
\ No newline at end of file diff --git a/man3/enpvallocn.3libsimple b/man3/enpvallocn.3libsimple new file mode 120000 index 0000000..ed1f5b5 --- /dev/null +++ b/man3/enpvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_enpvallocn.3
\ No newline at end of file diff --git a/man3/enpvallocz.3libsimple b/man3/enpvallocz.3libsimple new file mode 120000 index 0000000..e8601bd --- /dev/null +++ b/man3/enpvallocz.3libsimple @@ -0,0 +1 @@ +libsimple_enpvallocz.3
\ No newline at end of file diff --git a/man3/enpvalloczn.3libsimple b/man3/enpvalloczn.3libsimple new file mode 120000 index 0000000..1623378 --- /dev/null +++ b/man3/enpvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_enpvalloczn.3
\ No newline at end of file diff --git a/man3/enrealloc.3libsimple b/man3/enrealloc.3libsimple new file mode 120000 index 0000000..cbe7b4b --- /dev/null +++ b/man3/enrealloc.3libsimple @@ -0,0 +1 @@ +libsimple_enrealloc.3
\ No newline at end of file diff --git a/man3/enreallocn.3libsimple b/man3/enreallocn.3libsimple new file mode 120000 index 0000000..a27d46a --- /dev/null +++ b/man3/enreallocn.3libsimple @@ -0,0 +1 @@ +libsimple_enreallocn.3
\ No newline at end of file diff --git a/man3/enstrdup.3libsimple b/man3/enstrdup.3libsimple new file mode 120000 index 0000000..e8f7b76 --- /dev/null +++ b/man3/enstrdup.3libsimple @@ -0,0 +1 @@ +libsimple_enstrdup.3
\ No newline at end of file diff --git a/man3/enstrndup.3libsimple b/man3/enstrndup.3libsimple new file mode 120000 index 0000000..e2011e0 --- /dev/null +++ b/man3/enstrndup.3libsimple @@ -0,0 +1 @@ +libsimple_enstrndup.3
\ No newline at end of file diff --git a/man3/envaligned_allocn.3libsimple b/man3/envaligned_allocn.3libsimple new file mode 120000 index 0000000..0d90fb2 --- /dev/null +++ b/man3/envaligned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_envaligned_allocn.3
\ No newline at end of file diff --git a/man3/envaligned_alloczn.3libsimple b/man3/envaligned_alloczn.3libsimple new file mode 120000 index 0000000..267b5dc --- /dev/null +++ b/man3/envaligned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_envaligned_alloczn.3
\ No newline at end of file diff --git a/man3/envalloc.3libsimple b/man3/envalloc.3libsimple new file mode 120000 index 0000000..191ecac --- /dev/null +++ b/man3/envalloc.3libsimple @@ -0,0 +1 @@ +libsimple_envalloc.3
\ No newline at end of file diff --git a/man3/envallocn.3libsimple b/man3/envallocn.3libsimple new file mode 120000 index 0000000..ec6733a --- /dev/null +++ b/man3/envallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envallocn.3
\ No newline at end of file diff --git a/man3/envallocz.3libsimple b/man3/envallocz.3libsimple new file mode 120000 index 0000000..34cfcb2 --- /dev/null +++ b/man3/envallocz.3libsimple @@ -0,0 +1 @@ +libsimple_envallocz.3
\ No newline at end of file diff --git a/man3/envalloczn.3libsimple b/man3/envalloczn.3libsimple new file mode 120000 index 0000000..a9ee8b5 --- /dev/null +++ b/man3/envalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_envalloczn.3
\ No newline at end of file diff --git a/man3/envcallocn.3libsimple b/man3/envcallocn.3libsimple new file mode 120000 index 0000000..83dd452 --- /dev/null +++ b/man3/envcallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envcallocn.3
\ No newline at end of file diff --git a/man3/envmallocn.3libsimple b/man3/envmallocn.3libsimple new file mode 120000 index 0000000..3448d63 --- /dev/null +++ b/man3/envmallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envmallocn.3
\ No newline at end of file diff --git a/man3/envmalloczn.3libsimple b/man3/envmalloczn.3libsimple new file mode 120000 index 0000000..bc3e9fd --- /dev/null +++ b/man3/envmalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_envmalloczn.3
\ No newline at end of file diff --git a/man3/envmemalignn.3libsimple b/man3/envmemalignn.3libsimple new file mode 120000 index 0000000..7589a73 --- /dev/null +++ b/man3/envmemalignn.3libsimple @@ -0,0 +1 @@ +libsimple_envmemalignn.3
\ No newline at end of file diff --git a/man3/envmemalignzn.3libsimple b/man3/envmemalignzn.3libsimple new file mode 120000 index 0000000..da91395 --- /dev/null +++ b/man3/envmemalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_envmemalignzn.3
\ No newline at end of file diff --git a/man3/envposix_memalignn.3libsimple b/man3/envposix_memalignn.3libsimple new file mode 120000 index 0000000..70b88c2 --- /dev/null +++ b/man3/envposix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_envposix_memalignn.3
\ No newline at end of file diff --git a/man3/envposix_memalignzn.3libsimple b/man3/envposix_memalignzn.3libsimple new file mode 120000 index 0000000..e42eac6 --- /dev/null +++ b/man3/envposix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_envposix_memalignzn.3
\ No newline at end of file diff --git a/man3/envputenvf.3libsimple b/man3/envputenvf.3libsimple new file mode 120000 index 0000000..1b96365 --- /dev/null +++ b/man3/envputenvf.3libsimple @@ -0,0 +1 @@ +libsimple_envputenvf.3
\ No newline at end of file diff --git a/man3/envpvallocn.3libsimple b/man3/envpvallocn.3libsimple new file mode 120000 index 0000000..0c26fb6 --- /dev/null +++ b/man3/envpvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envpvallocn.3
\ No newline at end of file diff --git a/man3/envpvalloczn.3libsimple b/man3/envpvalloczn.3libsimple new file mode 120000 index 0000000..8b5142a --- /dev/null +++ b/man3/envpvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_envpvalloczn.3
\ No newline at end of file diff --git a/man3/envreallocn.3libsimple b/man3/envreallocn.3libsimple new file mode 120000 index 0000000..a97bab1 --- /dev/null +++ b/man3/envreallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envreallocn.3
\ No newline at end of file diff --git a/man3/envvallocn.3libsimple b/man3/envvallocn.3libsimple new file mode 120000 index 0000000..31f4783 --- /dev/null +++ b/man3/envvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_envvallocn.3
\ No newline at end of file diff --git a/man3/envvalloczn.3libsimple b/man3/envvalloczn.3libsimple new file mode 120000 index 0000000..07cd4f3 --- /dev/null +++ b/man3/envvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_envvalloczn.3
\ No newline at end of file diff --git a/man3/eposix_memalign.3libsimple b/man3/eposix_memalign.3libsimple new file mode 120000 index 0000000..7f0725e --- /dev/null +++ b/man3/eposix_memalign.3libsimple @@ -0,0 +1 @@ +libsimple_eposix_memalign.3
\ No newline at end of file diff --git a/man3/eposix_memalignn.3libsimple b/man3/eposix_memalignn.3libsimple new file mode 120000 index 0000000..a6cbfa1 --- /dev/null +++ b/man3/eposix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_eposix_memalignn.3
\ No newline at end of file diff --git a/man3/eposix_memalignz.3libsimple b/man3/eposix_memalignz.3libsimple new file mode 120000 index 0000000..beded2e --- /dev/null +++ b/man3/eposix_memalignz.3libsimple @@ -0,0 +1 @@ +libsimple_eposix_memalignz.3
\ No newline at end of file diff --git a/man3/eposix_memalignzn.3libsimple b/man3/eposix_memalignzn.3libsimple new file mode 120000 index 0000000..749b1e7 --- /dev/null +++ b/man3/eposix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_eposix_memalignzn.3
\ No newline at end of file diff --git a/man3/eprintf.3libsimple b/man3/eprintf.3libsimple new file mode 120000 index 0000000..07276cb --- /dev/null +++ b/man3/eprintf.3libsimple @@ -0,0 +1 @@ +libsimple_eprintf.3
\ No newline at end of file diff --git a/man3/eputenvf.3libsimple b/man3/eputenvf.3libsimple new file mode 120000 index 0000000..f1831a3 --- /dev/null +++ b/man3/eputenvf.3libsimple @@ -0,0 +1 @@ +libsimple_eputenvf.3
\ No newline at end of file diff --git a/man3/epvalloc.3libsimple b/man3/epvalloc.3libsimple new file mode 120000 index 0000000..a768ca7 --- /dev/null +++ b/man3/epvalloc.3libsimple @@ -0,0 +1 @@ +libsimple_epvalloc.3
\ No newline at end of file diff --git a/man3/epvallocn.3libsimple b/man3/epvallocn.3libsimple new file mode 120000 index 0000000..793d73c --- /dev/null +++ b/man3/epvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_epvallocn.3
\ No newline at end of file diff --git a/man3/epvallocz.3libsimple b/man3/epvallocz.3libsimple new file mode 120000 index 0000000..88a7fa0 --- /dev/null +++ b/man3/epvallocz.3libsimple @@ -0,0 +1 @@ +libsimple_epvallocz.3
\ No newline at end of file diff --git a/man3/epvalloczn.3libsimple b/man3/epvalloczn.3libsimple new file mode 120000 index 0000000..8a8b791 --- /dev/null +++ b/man3/epvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_epvalloczn.3
\ No newline at end of file diff --git a/man3/erealloc.3libsimple b/man3/erealloc.3libsimple new file mode 120000 index 0000000..e5aafb6 --- /dev/null +++ b/man3/erealloc.3libsimple @@ -0,0 +1 @@ +libsimple_erealloc.3
\ No newline at end of file diff --git a/man3/ereallocn.3libsimple b/man3/ereallocn.3libsimple new file mode 120000 index 0000000..4f77337 --- /dev/null +++ b/man3/ereallocn.3libsimple @@ -0,0 +1 @@ +libsimple_ereallocn.3
\ No newline at end of file diff --git a/man3/estrdup.3libsimple b/man3/estrdup.3libsimple new file mode 120000 index 0000000..df20a38 --- /dev/null +++ b/man3/estrdup.3libsimple @@ -0,0 +1 @@ +libsimple_estrdup.3
\ No newline at end of file diff --git a/man3/estrndup.3libsimple b/man3/estrndup.3libsimple new file mode 120000 index 0000000..5c08b65 --- /dev/null +++ b/man3/estrndup.3libsimple @@ -0,0 +1 @@ +libsimple_estrndup.3
\ No newline at end of file diff --git a/man3/evaligned_allocn.3libsimple b/man3/evaligned_allocn.3libsimple new file mode 120000 index 0000000..e2b8dcf --- /dev/null +++ b/man3/evaligned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_evaligned_allocn.3
\ No newline at end of file diff --git a/man3/evaligned_alloczn.3libsimple b/man3/evaligned_alloczn.3libsimple new file mode 120000 index 0000000..5a6ce94 --- /dev/null +++ b/man3/evaligned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_evaligned_alloczn.3
\ No newline at end of file diff --git a/man3/evalloc.3libsimple b/man3/evalloc.3libsimple new file mode 120000 index 0000000..95361b1 --- /dev/null +++ b/man3/evalloc.3libsimple @@ -0,0 +1 @@ +libsimple_evalloc.3
\ No newline at end of file diff --git a/man3/evallocn.3libsimple b/man3/evallocn.3libsimple new file mode 120000 index 0000000..f07f56b --- /dev/null +++ b/man3/evallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evallocn.3
\ No newline at end of file diff --git a/man3/evallocz.3libsimple b/man3/evallocz.3libsimple new file mode 120000 index 0000000..3773f02 --- /dev/null +++ b/man3/evallocz.3libsimple @@ -0,0 +1 @@ +libsimple_evallocz.3
\ No newline at end of file diff --git a/man3/evalloczn.3libsimple b/man3/evalloczn.3libsimple new file mode 120000 index 0000000..8898d88 --- /dev/null +++ b/man3/evalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_evalloczn.3
\ No newline at end of file diff --git a/man3/evcallocn.3libsimple b/man3/evcallocn.3libsimple new file mode 120000 index 0000000..f2b7394 --- /dev/null +++ b/man3/evcallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evcallocn.3
\ No newline at end of file diff --git a/man3/evmallocn.3libsimple b/man3/evmallocn.3libsimple new file mode 120000 index 0000000..00acaa0 --- /dev/null +++ b/man3/evmallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evmallocn.3
\ No newline at end of file diff --git a/man3/evmalloczn.3libsimple b/man3/evmalloczn.3libsimple new file mode 120000 index 0000000..a7edb67 --- /dev/null +++ b/man3/evmalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_evmalloczn.3
\ No newline at end of file diff --git a/man3/evmemalignn.3libsimple b/man3/evmemalignn.3libsimple new file mode 120000 index 0000000..b71c4de --- /dev/null +++ b/man3/evmemalignn.3libsimple @@ -0,0 +1 @@ +libsimple_evmemalignn.3
\ No newline at end of file diff --git a/man3/evmemalignzn.3libsimple b/man3/evmemalignzn.3libsimple new file mode 120000 index 0000000..7926570 --- /dev/null +++ b/man3/evmemalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_evmemalignzn.3
\ No newline at end of file diff --git a/man3/evposix_memalignn.3libsimple b/man3/evposix_memalignn.3libsimple new file mode 120000 index 0000000..3f2f644 --- /dev/null +++ b/man3/evposix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_evposix_memalignn.3
\ No newline at end of file diff --git a/man3/evposix_memalignzn.3libsimple b/man3/evposix_memalignzn.3libsimple new file mode 120000 index 0000000..e4589a6 --- /dev/null +++ b/man3/evposix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_evposix_memalignzn.3
\ No newline at end of file diff --git a/man3/evputenvf.3libsimple b/man3/evputenvf.3libsimple new file mode 120000 index 0000000..9982fa0 --- /dev/null +++ b/man3/evputenvf.3libsimple @@ -0,0 +1 @@ +libsimple_evputenvf.3
\ No newline at end of file diff --git a/man3/evpvallocn.3libsimple b/man3/evpvallocn.3libsimple new file mode 120000 index 0000000..c9d4fad --- /dev/null +++ b/man3/evpvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evpvallocn.3
\ No newline at end of file diff --git a/man3/evpvalloczn.3libsimple b/man3/evpvalloczn.3libsimple new file mode 120000 index 0000000..4cfbb54 --- /dev/null +++ b/man3/evpvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_evpvalloczn.3
\ No newline at end of file diff --git a/man3/evreallocn.3libsimple b/man3/evreallocn.3libsimple new file mode 120000 index 0000000..1a0e01b --- /dev/null +++ b/man3/evreallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evreallocn.3
\ No newline at end of file diff --git a/man3/evvallocn.3libsimple b/man3/evvallocn.3libsimple new file mode 120000 index 0000000..d32cebd --- /dev/null +++ b/man3/evvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_evvallocn.3
\ No newline at end of file diff --git a/man3/evvalloczn.3libsimple b/man3/evvalloczn.3libsimple new file mode 120000 index 0000000..9a33472 --- /dev/null +++ b/man3/evvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_evvalloczn.3
\ No newline at end of file diff --git a/man3/getenv_e.3libsimple b/man3/getenv_e.3libsimple new file mode 120000 index 0000000..8e09a17 --- /dev/null +++ b/man3/getenv_e.3libsimple @@ -0,0 +1 @@ +libsimple_getenv_e.3
\ No newline at end of file diff --git a/man3/getenv_ne.3libsimple b/man3/getenv_ne.3libsimple new file mode 120000 index 0000000..457043f --- /dev/null +++ b/man3/getenv_ne.3libsimple @@ -0,0 +1 @@ +libsimple_getenv_ne.3
\ No newline at end of file diff --git a/man3/inchrcaseset.3libsimple b/man3/inchrcaseset.3libsimple new file mode 120000 index 0000000..b1f18ca --- /dev/null +++ b/man3/inchrcaseset.3libsimple @@ -0,0 +1 @@ +libsimple_inchrcaseset.3
\ No newline at end of file diff --git a/man3/inchrset.3libsimple b/man3/inchrset.3libsimple new file mode 120000 index 0000000..50838ca --- /dev/null +++ b/man3/inchrset.3libsimple @@ -0,0 +1 @@ +libsimple_inchrset.3
\ No newline at end of file diff --git a/man3/libsimple_aligned_allocn.3 b/man3/libsimple_aligned_allocn.3 new file mode 120000 index 0000000..d552701 --- /dev/null +++ b/man3/libsimple_aligned_allocn.3 @@ -0,0 +1 @@ +libsimple_valigned_allocn.3
\ No newline at end of file diff --git a/man3/libsimple_aligned_allocz.3 b/man3/libsimple_aligned_allocz.3 new file mode 100644 index 0000000..751cf4f --- /dev/null +++ b/man3/libsimple_aligned_allocz.3 @@ -0,0 +1,188 @@ +.TH LIBSIMPLE_ALIGNED_ALLOCZ 3 2018-11-03 libsimple +.SH NAME +libsimple_aligned_allocz \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_aligned_allocz(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +void *libsimple_enaligned_allocz(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_ealigned_allocz(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef aligned_allocz +# define aligned_allocz libsimple_aligned_allocz +#endif +#ifndef enaligned_allocz +# define enaligned_allocz libsimple_enaligned_allocz +#endif +#ifndef ealigned_allocz +# define ealigned_allocz libsimple_ealigned_allocz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_aligned_allocz (), +.BR libsimple_enaligned_allocz (), +and +.BR libsimple_ealigned_allocz () +functions allocate +.I n +bytes to the heap and return a pointer with an +alignment of +.I alignment +bytes to the allocated memory. The memory will be +initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enaligned_allocz () +and +.BR libsimple_ealigned_allocz () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enaligned_allocz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ealigned_allocz () +function is used. +.PP +The +.BR libsimple_enaligned_allocz () +and +.BR libsimple_ealigned_allocz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_aligned_allocz (), +.BR libsimple_enaligned_allocz (), +and +.BR libsimple_ealigned_allocz () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_aligned_allocz () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enaligned_allocz () +and +.BR libsimple_ealigned_allocz () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_aligned_allocz () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I n +is not a multiple of +.IR alignment . +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enaligned_allocz () +and +.BR libsimple_ealigned_allocz () +functions will 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_aligned_allocz (), +.br +.BR libsimple_enaligned_allocz (), +.br +.BR libsimple_ealigned_allocz () +T} Thread safety MT-Safe +T{ +.BR libsimple_aligned_allocz (), +.br +.BR libsimple_enaligned_allocz (), +.br +.BR libsimple_ealigned_allocz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_aligned_allocz (), +.br +.BR libsimple_enaligned_allocz (), +.br +.BR libsimple_ealigned_allocz () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR aligned_alloc (3) diff --git a/man3/libsimple_aligned_alloczn.3 b/man3/libsimple_aligned_alloczn.3 new file mode 120000 index 0000000..aac058b --- /dev/null +++ b/man3/libsimple_aligned_alloczn.3 @@ -0,0 +1 @@ +libsimple_valigned_alloczn.3
\ No newline at end of file diff --git a/man3/libsimple_aligned_memdup.3 b/man3/libsimple_aligned_memdup.3 new file mode 100644 index 0000000..6cd287a --- /dev/null +++ b/man3/libsimple_aligned_memdup.3 @@ -0,0 +1,152 @@ +.TH LIBSIMPLE_ALIGNED_MEMDUP 3 2018-10-27 libsimple +.SH NAME +libsimple_aligned_memdup, libsimple_aligned_memdupa \- duplicate bytes in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_aligned_memdupa(const void *\fIs\fP, size_t \fIalignment\fP, size_t \fIn\fP); +void *libsimple_aligned_memdup(const void *\fIs\fP, size_t \fIalignment\fP, size_t \fIn\fP); +void *libsimple_enaligned_memdup(int \fIstatus\fP, const void *\fIs\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_ealigned_memdup(const void *\fIs\fP, size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef aligned_memdupa +# define aligned_memdupa libsimple_aligned_memdupa +#endif +#ifndef aligned_memdup +# define aligned_memdup libsimple_aligned_memdup +#endif +#ifndef enaligned_memdup +# define enaligned_memdup libsimple_enaligned_memdup +#endif +#ifndef ealigned_memdup +# define ealigned_memdup libsimple_ealigned_memdup +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_aligned_memdup () +function constructs allocates memory with the alignment +specified in the +.I alignment +parameter and copies +.I n +first bytes from +.I s +into the new allocation. +.PP +The +.BR libsimple_enaligned_memdup () +and +.BR libsimple_ealigned_memdup () +functions are versions of the +.BR libsimple_aligned_memdup () +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf (3) +for more information. +.PP +The +.BR libsimple_memdupa () +function is implemented as a macro and is a version +of the +.BR libsimple_memdup () +function that uses allocates the memory on the stack +rather than on the heap, causing the return pointer +to become invalid when the calling function returns. +It is only available when compling with GCC or Clang. +.SH RETURN VALUE +Upon successful completion, the +.BR libsimple_aligned_memdupa (), +.BR libsimple_aligned_memdup (), +.BR libsimple_enaligned_memdup (), +and +.BR libsimple_ealigned_memdup () +functions return a non-null pointer, on failure the +.BR libsimple_aligned_memdup () +function returns +.B NULL +and set +.I errno +to indicate the error, and the +.BR libsimple_enaligned_memdup (), +and +.BR libsimple_ealigned_memdup () +functions exit the process. The +.BR libsimple_aligned_memdupa () +function cannot fail, however the kernel +can kill the thread, and possibly the process, with a +.B SIGSEGV +signal if the memory cannot be allocated. +.PP +The returned pointer should be deallocated when it +is no longer needed, except for the pointer returned +by the +.BR libsimple_aligned_memdupa () +function, it is automatically deallocated when the +calling function returns. +.SH ERRORS +The +.BR libsimple_aligned_memdup () +function may fail for any reason specified for the +.BR aligned_alloc (3) +function. +.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_aligned_memdupa (), +.br +.BR libsimple_aligned_memdup (), +.br +.BR libsimple_enaligned_memdup (), +.br +.BR libsimple_ealigned_memdup (), +T} Thread safety MT-Safe +T{ +.BR libsimple_aligned_memdupa (), +.br +.BR libsimple_aligned_memdup (), +.br +.BR libsimple_enaligned_memdup (), +.br +.BR libsimple_ealigned_memdup (), +T} Async-signal safety AS-Safe +T{ +.BR libsimple_aligned_memdupa (), +.br +.BR libsimple_aligned_memdup (), +.br +.BR libsimple_enaligned_memdup (), +.br +.BR libsimple_ealigned_memdup (), +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_memdup (3), +.BR libsimple_enstrndup (3), +.BR libsimple_enstrdup (3), +.BR strndup (3), +.BR strdup (3) diff --git a/man3/libsimple_aligned_memdupa.3 b/man3/libsimple_aligned_memdupa.3 new file mode 120000 index 0000000..a9c2fef --- /dev/null +++ b/man3/libsimple_aligned_memdupa.3 @@ -0,0 +1 @@ +libsimple_aligned_memdup.3
\ No newline at end of file diff --git a/man3/libsimple_arrayalloc.3 b/man3/libsimple_arrayalloc.3 new file mode 120000 index 0000000..b191b9c --- /dev/null +++ b/man3/libsimple_arrayalloc.3 @@ -0,0 +1 @@ +libsimple_varrayalloc.3
\ No newline at end of file diff --git a/man3/libsimple_asprintf.3 b/man3/libsimple_asprintf.3 new file mode 120000 index 0000000..9456f72 --- /dev/null +++ b/man3/libsimple_asprintf.3 @@ -0,0 +1 @@ +libsimple_vasprintf.3
\ No newline at end of file diff --git a/man3/libsimple_asprintfa.3 b/man3/libsimple_asprintfa.3 new file mode 120000 index 0000000..e792d7d --- /dev/null +++ b/man3/libsimple_asprintfa.3 @@ -0,0 +1 @@ +libsimple_vasprintfa.3
\ No newline at end of file diff --git a/man3/libsimple_callocn.3 b/man3/libsimple_callocn.3 new file mode 120000 index 0000000..bcc02ee --- /dev/null +++ b/man3/libsimple_callocn.3 @@ -0,0 +1 @@ +libsimple_vcallocn.3
\ No newline at end of file diff --git a/man3/libsimple_close.3 b/man3/libsimple_close.3 new file mode 100644 index 0000000..d5e18c6 --- /dev/null +++ b/man3/libsimple_close.3 @@ -0,0 +1,49 @@ +.TH LIBSIMPLE_CLOSE 3 2018-11-05 libsimple +.SH NAME +libsimple_close \- close file descriptor and mark it as closed +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_close(int *\fIfdp\fP); +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_close () +function calls +.I close(*fdp) +and sets +.I *fdp +to +.IR \-1 . +However if +.IR *fdp<0 , +does not except return 0. +.SH RETURN VALUE +The +.BR libsimple_close () +function returns 0 upon successful completion; +otherwise \-1 is returned. +.SH ERRORS +The +.BR libsimple_close () +function fail for the reasons specified for the +.BR close (3) +function. +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +None. +.SH BUGS +None. +.SH SEE ALSO +.BR close (3) diff --git a/man3/libsimple_cmptimespec.3 b/man3/libsimple_cmptimespec.3 new file mode 100644 index 0000000..14873ea --- /dev/null +++ b/man3/libsimple_cmptimespec.3 @@ -0,0 +1,95 @@ +.TH LIBSIMPLE_CMPTIMESPEC 3 2018-10-29 libsimple +.SH NAME +libsimple_cmptimespec, libsimple_cmptimeval \- calculate the sum of two durations +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_cmptimespec(const struct timespec *\fIa\fP, const struct timespec *\fIb\fP); +static inline int libsimple_cmptimeval(const struct timeval *\fIa\fP, const struct timeval *\fIb\fP); + +#ifndef cmptimespec +# define cmptimespec libsimple_cmptimespec +#endif +#ifndef cmptimeval +# define cmptimeval libsimple_cmptimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_cmptimespec () +and +.BR libsimple_cmptimeval () +functions compares the values of +.I a +and +.IR b , +returning a value indicating which is larger, if any. +.SH RETURN VALUE +The +.BR libsimple_cmptimespec () +and +.BR libsimple_cmptimeval () +functions return \-1 if +.I a +is less than +.IR b , ++1 if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_cmptimespec () +and +.BR libsimple_cmptimeval () +functions cannot fail. +.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_cmptimespec () +.br +.BR libsimple_cmptimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_cmptimespec () +.br +.BR libsimple_cmptimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_cmptimespec () +.br +.BR libsimple_cmptimeval () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_cmptimeval.3 b/man3/libsimple_cmptimeval.3 new file mode 120000 index 0000000..8199c4e --- /dev/null +++ b/man3/libsimple_cmptimeval.3 @@ -0,0 +1 @@ +libsimple_cmptimespec.3
\ No newline at end of file diff --git a/man3/libsimple_default_failure_exit.3 b/man3/libsimple_default_failure_exit.3 new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/libsimple_default_failure_exit.3 @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/libsimple_difftimespec.3 b/man3/libsimple_difftimespec.3 new file mode 100644 index 0000000..49d4faa --- /dev/null +++ b/man3/libsimple_difftimespec.3 @@ -0,0 +1,118 @@ +.TH LIBSIMPLE_DIFFTIMESPEC 3 2018-10-29 libsimple +.SH NAME +libsimple_difftimespec, libsimple_difftimeval \- calculate the difference of two durations +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_difftimespec(struct timespec *\fIdiff\fP, const struct timespec *\fIminuend\fP, const struct timespec *\fIsubtrahend\fP); +int libsimple_difftimeval(struct timeval *\fIdiff\fP, const struct timeval *\fIminuend\fP, const struct timeval *\fIsubtrahend\fP); + +#ifndef difftimespec +# define difftimespec libsimple_difftimespec +#endif +#ifndef difftimeval +# define difftimeval libsimple_difftimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_difftimespec () +and +.BR libsimple_difftimeval () +functions calculates the diffence of +.I minuend +and +.I subtrahend +.RI ( minuend +is subtracted by +.IR subtrahend ) +and stores the result in +.IR diff . +.SH RETURN VALUE +The +.BR libsimple_difftimespec () +and +.BR libsimple_difftimeval () +functions return 0 on successful completion; +otherwise, \-1 is returned and +.I errno +is set to indicate the error. +.SH ERRORS +The +.BR libsimple_difftimespec () +and +.BR libsimple_difftimeval () +functions fail if: +.TP +.B ERANGE +The result is too large or too small to be stored; if the +result is too large +.I *diff +will be set to +.I {.tv_sec=TIME_MAX,.tv_nsec=999999999L} +for the +.BR libsimple_difftimespec () +function and to +.I {.tv_sec=TIME_MAX,.tv_usec=999999L} +for the +.BR libsimple_difftimeval () +function, if the result is too small +.I *diff +will be set to +.I {.tv_sec=TIME_MIN,.tv_nsec=0} +for the +.BR libsimple_difftimespec () +function and to +.I {.tv_sec=TIME_MIN,.tv_usec=0} +for the +.BR libsimple_difftimeval () +function. +.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_difftimespec () +.br +.BR libsimple_difftimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_difftimespec () +.br +.BR libsimple_difftimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_difftimespec () +.br +.BR libsimple_difftimeval () +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_sumtimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_difftimeval.3 b/man3/libsimple_difftimeval.3 new file mode 120000 index 0000000..b03eae5 --- /dev/null +++ b/man3/libsimple_difftimeval.3 @@ -0,0 +1 @@ +libsimple_difftimespec.3
\ No newline at end of file diff --git a/man3/libsimple_doubletotimespec.3 b/man3/libsimple_doubletotimespec.3 new file mode 100644 index 0000000..1d8790c --- /dev/null +++ b/man3/libsimple_doubletotimespec.3 @@ -0,0 +1,88 @@ +.TH LIBSIMPLE_DOUBLETOTIMESPEC 3 2018-10-30 libsimple +.SH NAME +libsimple_doubletotimespec, libsimple_doubletotimeval \- convert a double to a duration data structure +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void libsimple_doubletotimespec(struct timespec *\fIts\fP, double \fId\fP); +void libsimple_doubletotimeval(struct timeval *\fItv\fP, double \fId\fP); + +#ifndef doubletotimespec +# define doubletotimespec libsimple_doubletotimespec +#endif +#ifndef doubletotimeval +# define doubletotimeval libsimple_doubletotimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_doubletotimespec () +function converts the real value +.I d +to a +.B struct timespec +and stores the result in +.IR ts . +The +.BR libsimple_doubletotimeval () +function converts the real value +.I d +to a +.B struct timeval +and stores the result in +.IR tv . +.PP +Neither of these functions perform an overflow check. +.SH RETURN VALUE +None. +.SH ERRORS +No error checks are made. +.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_doubletotimespec () +.br +.BR libsimple_doubletotimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_doubletotimespec () +.br +.BR libsimple_doubletotimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_doubletotimespec () +.br +.BR libsimple_doubletotimeval () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_doubletotimeval.3 b/man3/libsimple_doubletotimeval.3 new file mode 120000 index 0000000..4158ff1 --- /dev/null +++ b/man3/libsimple_doubletotimeval.3 @@ -0,0 +1 @@ +libsimple_doubletotimespec.3
\ No newline at end of file diff --git a/man3/libsimple_ealigned_alloc.3 b/man3/libsimple_ealigned_alloc.3 new file mode 120000 index 0000000..1737ec8 --- /dev/null +++ b/man3/libsimple_ealigned_alloc.3 @@ -0,0 +1 @@ +libsimple_enaligned_alloc.3
\ No newline at end of file diff --git a/man3/libsimple_ealigned_allocn.3 b/man3/libsimple_ealigned_allocn.3 new file mode 120000 index 0000000..b8399e7 --- /dev/null +++ b/man3/libsimple_ealigned_allocn.3 @@ -0,0 +1 @@ +libsimple_enaligned_allocn.3
\ No newline at end of file diff --git a/man3/libsimple_ealigned_allocz.3 b/man3/libsimple_ealigned_allocz.3 new file mode 120000 index 0000000..c6dc93f --- /dev/null +++ b/man3/libsimple_ealigned_allocz.3 @@ -0,0 +1 @@ +libsimple_enaligned_allocz.3
\ No newline at end of file diff --git a/man3/libsimple_ealigned_alloczn.3 b/man3/libsimple_ealigned_alloczn.3 new file mode 120000 index 0000000..7f167e0 --- /dev/null +++ b/man3/libsimple_ealigned_alloczn.3 @@ -0,0 +1 @@ +libsimple_enaligned_alloczn.3
\ No newline at end of file diff --git a/man3/libsimple_ealigned_memdup.3 b/man3/libsimple_ealigned_memdup.3 new file mode 120000 index 0000000..b6e0dd2 --- /dev/null +++ b/man3/libsimple_ealigned_memdup.3 @@ -0,0 +1 @@ +libsimple_enaligned_memdup.3
\ No newline at end of file diff --git a/man3/libsimple_earrayalloc.3 b/man3/libsimple_earrayalloc.3 new file mode 120000 index 0000000..b2f8ab1 --- /dev/null +++ b/man3/libsimple_earrayalloc.3 @@ -0,0 +1 @@ +libsimple_evarrayalloc.3
\ No newline at end of file diff --git a/man3/libsimple_ecalloc.3 b/man3/libsimple_ecalloc.3 new file mode 120000 index 0000000..a7bfcfa --- /dev/null +++ b/man3/libsimple_ecalloc.3 @@ -0,0 +1 @@ +libsimple_encalloc.3
\ No newline at end of file diff --git a/man3/libsimple_ecallocn.3 b/man3/libsimple_ecallocn.3 new file mode 120000 index 0000000..a0909c1 --- /dev/null +++ b/man3/libsimple_ecallocn.3 @@ -0,0 +1 @@ +libsimple_encallocn.3
\ No newline at end of file diff --git a/man3/libsimple_emalloc.3 b/man3/libsimple_emalloc.3 new file mode 120000 index 0000000..26cfa44 --- /dev/null +++ b/man3/libsimple_emalloc.3 @@ -0,0 +1 @@ +libsimple_enmalloc.3
\ No newline at end of file diff --git a/man3/libsimple_emallocn.3 b/man3/libsimple_emallocn.3 new file mode 120000 index 0000000..efb153b --- /dev/null +++ b/man3/libsimple_emallocn.3 @@ -0,0 +1 @@ +libsimple_enmallocn.3
\ No newline at end of file diff --git a/man3/libsimple_emallocz.3 b/man3/libsimple_emallocz.3 new file mode 120000 index 0000000..3b99dc1 --- /dev/null +++ b/man3/libsimple_emallocz.3 @@ -0,0 +1 @@ +libsimple_enmallocz.3
\ No newline at end of file diff --git a/man3/libsimple_emalloczn.3 b/man3/libsimple_emalloczn.3 new file mode 120000 index 0000000..b063712 --- /dev/null +++ b/man3/libsimple_emalloczn.3 @@ -0,0 +1 @@ +libsimple_enmalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_ememalign.3 b/man3/libsimple_ememalign.3 new file mode 120000 index 0000000..ce980d3 --- /dev/null +++ b/man3/libsimple_ememalign.3 @@ -0,0 +1 @@ +libsimple_enmemalign.3
\ No newline at end of file diff --git a/man3/libsimple_ememalignn.3 b/man3/libsimple_ememalignn.3 new file mode 120000 index 0000000..8d62253 --- /dev/null +++ b/man3/libsimple_ememalignn.3 @@ -0,0 +1 @@ +libsimple_enmemalignn.3
\ No newline at end of file diff --git a/man3/libsimple_ememalignz.3 b/man3/libsimple_ememalignz.3 new file mode 120000 index 0000000..2b282d2 --- /dev/null +++ b/man3/libsimple_ememalignz.3 @@ -0,0 +1 @@ +libsimple_enmemalignz.3
\ No newline at end of file diff --git a/man3/libsimple_ememalignzn.3 b/man3/libsimple_ememalignzn.3 new file mode 120000 index 0000000..f3e8942 --- /dev/null +++ b/man3/libsimple_ememalignzn.3 @@ -0,0 +1 @@ +libsimple_enmemalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_ememalloc.3 b/man3/libsimple_ememalloc.3 new file mode 120000 index 0000000..ac23478 --- /dev/null +++ b/man3/libsimple_ememalloc.3 @@ -0,0 +1 @@ +libsimple_evmemalloc.3
\ No newline at end of file diff --git a/man3/libsimple_ememdup.3 b/man3/libsimple_ememdup.3 new file mode 120000 index 0000000..b7ce69c --- /dev/null +++ b/man3/libsimple_ememdup.3 @@ -0,0 +1 @@ +libsimple_enmemdup.3
\ No newline at end of file diff --git a/man3/libsimple_enaligned_alloc.3 b/man3/libsimple_enaligned_alloc.3 new file mode 100644 index 0000000..1ea36cb --- /dev/null +++ b/man3/libsimple_enaligned_alloc.3 @@ -0,0 +1,149 @@ +.TH LIBSIMPLE_ENALIGNED_ALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_enaligned_alloc \- allocate memory with custom alignment or die +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_enaligned_alloc(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_ealigned_alloc(size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef enaligned_alloc +# define enaligned_alloc libsimple_enaligned_alloc +#endif +#ifndef ealigned_alloc +# define ealigned_alloc libsimple_ealigned_alloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enaligned_alloc () +and +.BR libsimple_ealigned_alloc () +functions allocate +.I n +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignment +bytes to the allocated memory. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enaligned_alloc () +and +.BR libsimple_ealigned_alloc () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enaligned_alloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ealigned_alloc () +function is used. Failure include, +.I alignment +not being a power of two, or +.I n +not being a multiple of +.IR alignment . +.PP +The +.BR libsimple_enaligned_alloc () +and +.BR libsimple_ealigned_alloc () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_enaligned_alloc () +and +.BR libsimple_ealigned_alloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the process is +terminated. +.SH ERRORS +The +.BR libsimple_enaligned_alloc () +and +.BR libsimple_ealigned_alloc () +functions will 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_enaligned_alloc (), +.br +.BR libsimple_ealigned_alloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_enaligned_alloc (), +.br +.BR libsimple_ealigned_alloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_enaligned_alloc (), +.br +.BR libsimple_ealigned_alloc () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR aligned_alloc (3) diff --git a/man3/libsimple_enaligned_allocn.3 b/man3/libsimple_enaligned_allocn.3 new file mode 120000 index 0000000..035b2be --- /dev/null +++ b/man3/libsimple_enaligned_allocn.3 @@ -0,0 +1 @@ +libsimple_aligned_allocn.3
\ No newline at end of file diff --git a/man3/libsimple_enaligned_allocz.3 b/man3/libsimple_enaligned_allocz.3 new file mode 120000 index 0000000..f4cc746 --- /dev/null +++ b/man3/libsimple_enaligned_allocz.3 @@ -0,0 +1 @@ +libsimple_aligned_allocz.3
\ No newline at end of file diff --git a/man3/libsimple_enaligned_alloczn.3 b/man3/libsimple_enaligned_alloczn.3 new file mode 120000 index 0000000..376a797 --- /dev/null +++ b/man3/libsimple_enaligned_alloczn.3 @@ -0,0 +1 @@ +libsimple_aligned_alloczn.3
\ No newline at end of file diff --git a/man3/libsimple_enaligned_memdup.3 b/man3/libsimple_enaligned_memdup.3 new file mode 120000 index 0000000..a9c2fef --- /dev/null +++ b/man3/libsimple_enaligned_memdup.3 @@ -0,0 +1 @@ +libsimple_aligned_memdup.3
\ No newline at end of file diff --git a/man3/libsimple_enarrayalloc.3 b/man3/libsimple_enarrayalloc.3 new file mode 120000 index 0000000..e51e1df --- /dev/null +++ b/man3/libsimple_enarrayalloc.3 @@ -0,0 +1 @@ +libsimple_envarrayalloc.3
\ No newline at end of file diff --git a/man3/libsimple_encalloc.3 b/man3/libsimple_encalloc.3 new file mode 100644 index 0000000..a8696e6 --- /dev/null +++ b/man3/libsimple_encalloc.3 @@ -0,0 +1,154 @@ +.TH LIBSIMPLE_ENCALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_encalloc \- allocate initialised memory or die +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_encalloc(int \fIstatus\fP, size_t \fIn\fP, size_t \fIm\fP); +static inline void *libsimple_ecalloc(size_t \fIn\fP, size_t \fIm\fP); + +#ifndef encalloc +# define encalloc libsimple_encalloc +#endif +#ifndef ecalloc +# define ecalloc libsimple_ecalloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_encalloc () +and +.BR libsimple_ecalloc () +functions are wrappers for the +.BR calloc (3) +function, they allocate +.I n*m +zero-initialised bytes to the heap and return a +pointer with an alignment of +.I alignof(max_align_t) +to the allocated memory. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_encalloc () +and +.BR libsimple_ecalloc () +functions will terminate the process if the memory +cannot be allocated (or if +.I n +or +.I m +is 0 and +.BR calloc (3) +returns +.B NULL +when it is used to allocate 0 bytes), by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_encalloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ecalloc () +function is used. +.PP +The +.BR libsimple_encalloc () +and +.BR libsimple_ecalloc () +functions behaviour is unspecified if +.I n +or +.I m +is 0. +.SH RETURN VALUE +The +.BR libsimple_encalloc () +and +.BR libsimple_ecalloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the process is terminated. +.SH ERRORS +The +.BR libsimple_encalloc () +and +.BR libsimple_ecalloc () +functions will 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_encalloc (), +.br +.BR libsimple_ecalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_encalloc (), +.br +.BR libsimple_ecalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_encalloc (), +.br +.BR libsimple_ecalloc () +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_enmalloc (3), +.BR libsimple_mallocz (3), +.BR libsimple_vmallocn (3), +.BR libsimple_vmalloczn (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR calloc (3) diff --git a/man3/libsimple_encallocn.3 b/man3/libsimple_encallocn.3 new file mode 120000 index 0000000..77904c3 --- /dev/null +++ b/man3/libsimple_encallocn.3 @@ -0,0 +1 @@ +libsimple_callocn.3
\ No newline at end of file diff --git a/man3/libsimple_enmalloc.3 b/man3/libsimple_enmalloc.3 new file mode 100644 index 0000000..796eafd --- /dev/null +++ b/man3/libsimple_enmalloc.3 @@ -0,0 +1,150 @@ +.TH LIBSIMPLE_ENMALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_enmalloc \- allocate memory or die +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_enmalloc(int \fIstatus\fP, size_t \fIn\fP); +static inline void *libsimple_emalloc(size_t \fIn\fP); + +#ifndef enmalloc +# define enmalloc libsimple_enmalloc +#endif +#ifndef emalloc +# define emalloc libsimple_emalloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enmalloc () +and +.BR libsimple_emalloc () +functions are wrappers for the +.BR malloc (3) +function, they allocate +.I n +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignof(max_align_t) +to the allocated memory. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmalloc () +and +.BR libsimple_emalloc () +functions will terminate the process if the memory +cannot be allocated (or if +.I n +is 0 and +.BR malloc (3) +returns +.B NULL +when it is used to allocate 0 bytes), by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmalloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_emalloc () +function is used. +.PP +The +.BR libsimple_enmalloc () +and +.BR libsimple_emalloc () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_enmalloc () +and +.BR libsimple_emalloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the process is terminated. +.SH ERRORS +The +.BR libsimple_enmalloc () +and +.BR libsimple_emalloc () +functions will 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_enmalloc (), +.br +.BR libsimple_emalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_enmalloc (), +.br +.BR libsimple_emalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_enmalloc (), +.br +.BR libsimple_emalloc () +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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR malloc (3) diff --git a/man3/libsimple_enmallocn.3 b/man3/libsimple_enmallocn.3 new file mode 120000 index 0000000..23348f2 --- /dev/null +++ b/man3/libsimple_enmallocn.3 @@ -0,0 +1 @@ +libsimple_mallocn.3
\ No newline at end of file diff --git a/man3/libsimple_enmallocz.3 b/man3/libsimple_enmallocz.3 new file mode 120000 index 0000000..cfa0ffc --- /dev/null +++ b/man3/libsimple_enmallocz.3 @@ -0,0 +1 @@ +libsimple_mallocz.3
\ No newline at end of file diff --git a/man3/libsimple_enmalloczn.3 b/man3/libsimple_enmalloczn.3 new file mode 120000 index 0000000..eb274c9 --- /dev/null +++ b/man3/libsimple_enmalloczn.3 @@ -0,0 +1 @@ +libsimple_malloczn.3
\ No newline at end of file diff --git a/man3/libsimple_enmemalign.3 b/man3/libsimple_enmemalign.3 new file mode 120000 index 0000000..e56731a --- /dev/null +++ b/man3/libsimple_enmemalign.3 @@ -0,0 +1 @@ +libsimple_memalign.3
\ No newline at end of file diff --git a/man3/libsimple_enmemalignn.3 b/man3/libsimple_enmemalignn.3 new file mode 120000 index 0000000..411c2eb --- /dev/null +++ b/man3/libsimple_enmemalignn.3 @@ -0,0 +1 @@ +libsimple_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_enmemalignz.3 b/man3/libsimple_enmemalignz.3 new file mode 120000 index 0000000..e468464 --- /dev/null +++ b/man3/libsimple_enmemalignz.3 @@ -0,0 +1 @@ +libsimple_memalignz.3
\ No newline at end of file diff --git a/man3/libsimple_enmemalignzn.3 b/man3/libsimple_enmemalignzn.3 new file mode 120000 index 0000000..24dc74d --- /dev/null +++ b/man3/libsimple_enmemalignzn.3 @@ -0,0 +1 @@ +libsimple_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_enmemalloc.3 b/man3/libsimple_enmemalloc.3 new file mode 120000 index 0000000..14d676f --- /dev/null +++ b/man3/libsimple_enmemalloc.3 @@ -0,0 +1 @@ +libsimple_envmemalloc.3
\ No newline at end of file diff --git a/man3/libsimple_enmemdup.3 b/man3/libsimple_enmemdup.3 new file mode 120000 index 0000000..ff9fc97 --- /dev/null +++ b/man3/libsimple_enmemdup.3 @@ -0,0 +1 @@ +libsimple_memdup.3
\ No newline at end of file diff --git a/man3/libsimple_enposix_memalign.3 b/man3/libsimple_enposix_memalign.3 new file mode 100644 index 0000000..c1157f3 --- /dev/null +++ b/man3/libsimple_enposix_memalign.3 @@ -0,0 +1,153 @@ +.TH LIBSIMPLE_ENPOSIX_MEMALIGN 3 2018-11-03 libsimple +.SH NAME +libsimple_enposix_memalign \- allocate memory with custom alignment or die +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void libsimple_enposix_memalign(int \fIstatus\fP, void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void libsimple_eposix_memalign(void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef enposix_memalign +# define enposix_memalign libsimple_enposix_memalign +#endif +#ifndef eposix_memalign +# define eposix_memalign libsimple_eposix_memalign +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enposix_memalign () +and +.BR libsimple_eposix_memalign () +functions allocate +.I n +uninitialised bytes to the heap and store a +pointer with an alignment of +.I alignment +bytes to the allocated memory in +.IR memptr . +The function +.BR free (3) +shall be called with the pointer stored in +.I memptr +as input when the allocated memory is no longer needed. +.I *memptr +remains unmodified on failure. +.PP +The +.BR libsimple_enposix_memalign () +and +.BR libsimple_eposix_memalign () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enposix_memalign () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_eposix_memalign () +function is used. Failure include, +.I alignment +not being a power of two, or +.I alignment +not being a multiple of +.IR "sizeof(void *)" . +.PP +The +.BR libsimple_enposix_memalign () +and +.BR libsimple_eposix_memalign () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_enposix_memalign () +and +.BR libsimple_eposix_memalign () +functions do not return a value, but +terminated the process on failure. +.SH ERRORS +The +.BR libsimple_enposix_memalign () +and +.BR libsimple_eposix_memalign () +functions will 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_enposix_memalign (), +.br +.BR libsimple_eposix_memalign () +T} Thread safety MT-Safe +T{ +.BR libsimple_enposix_memalign (), +.br +.BR libsimple_eposix_memalign () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_enposix_memalign (), +.br +.BR libsimple_eposix_memalign () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR posix_memalign (3) diff --git a/man3/libsimple_enposix_memalignn.3 b/man3/libsimple_enposix_memalignn.3 new file mode 120000 index 0000000..6ec64f0 --- /dev/null +++ b/man3/libsimple_enposix_memalignn.3 @@ -0,0 +1 @@ +libsimple_posix_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_enposix_memalignz.3 b/man3/libsimple_enposix_memalignz.3 new file mode 120000 index 0000000..a8aecf3 --- /dev/null +++ b/man3/libsimple_enposix_memalignz.3 @@ -0,0 +1 @@ +libsimple_posix_memalignz.3
\ No newline at end of file diff --git a/man3/libsimple_enposix_memalignzn.3 b/man3/libsimple_enposix_memalignzn.3 new file mode 120000 index 0000000..fbe1b5e --- /dev/null +++ b/man3/libsimple_enposix_memalignzn.3 @@ -0,0 +1 @@ +libsimple_posix_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_enprintf.3 b/man3/libsimple_enprintf.3 new file mode 120000 index 0000000..574bdd9 --- /dev/null +++ b/man3/libsimple_enprintf.3 @@ -0,0 +1 @@ +libsimple_venprintf.3
\ No newline at end of file diff --git a/man3/libsimple_enputenvf.3 b/man3/libsimple_enputenvf.3 new file mode 120000 index 0000000..1b96365 --- /dev/null +++ b/man3/libsimple_enputenvf.3 @@ -0,0 +1 @@ +libsimple_envputenvf.3
\ No newline at end of file diff --git a/man3/libsimple_enpvalloc.3 b/man3/libsimple_enpvalloc.3 new file mode 120000 index 0000000..d49ae25 --- /dev/null +++ b/man3/libsimple_enpvalloc.3 @@ -0,0 +1 @@ +libsimple_pvalloc.3
\ No newline at end of file diff --git a/man3/libsimple_enpvallocn.3 b/man3/libsimple_enpvallocn.3 new file mode 120000 index 0000000..645a366 --- /dev/null +++ b/man3/libsimple_enpvallocn.3 @@ -0,0 +1 @@ +libsimple_pvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_enpvallocz.3 b/man3/libsimple_enpvallocz.3 new file mode 120000 index 0000000..e3c72f0 --- /dev/null +++ b/man3/libsimple_enpvallocz.3 @@ -0,0 +1 @@ +libsimple_pvallocz.3
\ No newline at end of file diff --git a/man3/libsimple_enpvalloczn.3 b/man3/libsimple_enpvalloczn.3 new file mode 120000 index 0000000..e94e13c --- /dev/null +++ b/man3/libsimple_enpvalloczn.3 @@ -0,0 +1 @@ +libsimple_pvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_enrealloc.3 b/man3/libsimple_enrealloc.3 new file mode 100644 index 0000000..5262193 --- /dev/null +++ b/man3/libsimple_enrealloc.3 @@ -0,0 +1,161 @@ +.TH LIBSIMPLE_ENREALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_enrealloc \- reallocate memory or die +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_enrealloc(int \fIstatus\fP, void *\fIptr\fP, size_t \fIn\fP); +static inline void *libsimple_erealloc(void *\fIptr\fP, size_t \fIn\fP); + +#ifndef enrealloc +# define enrealloc libsimple_enrealloc +#endif +#ifndef erealloc +# define erealloc libsimple_erealloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enrealloc () +and +.BR libsimple_erealloc () +functions are wrappers for the +.BR realloc (3) +function, they reallocate memory allocated on the +heap and return the old pointer or a new pointer +with an alignment of +.I alignof(max_align_t) +to the allocated memory of +.I n +bytes. The returned pointer will contain the +same content as +.IR ptr , +but truncated to +.I n +bytes if it is smaller or with the new bytes +uninitialised if it is larger. If a new pointer +is returned, rather than +.IR ptr , +.I ptr +is deallocated. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enrealloc () +and +.BR libsimple_erealloc () +functions will terminate the process if the memory +cannot be allocated (or if +.I n +is 0 and +.BR realloc (3) +returns +.B NULL +when it is used to allocate 0 bytes), by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enrealloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_erealloc () +function is used. +.PP +The +.BR libsimple_enrealloc () +and +.BR libsimple_erealloc () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_enrealloc () +and +.BR libsimple_erealloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the process is terminated. +.SH ERRORS +The +.BR libsimple_enrealloc () +and +.BR libsimple_erealloc () +functions will 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_enrealloc (), +.br +.BR libsimple_erealloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_enrealloc (), +.br +.BR libsimple_erealloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_enrealloc (), +.br +.BR libsimple_erealloc () +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_enmalloc (3), +.BR libsimple_mallocz (3), +.BR libsimple_vmallocn (3), +.BR libsimple_vmalloczn (3), +.BR libsimple_encalloc (3), +.BR libsimple_vcallocn (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR realloc (3) diff --git a/man3/libsimple_enreallocn.3 b/man3/libsimple_enreallocn.3 new file mode 120000 index 0000000..d80e531 --- /dev/null +++ b/man3/libsimple_enreallocn.3 @@ -0,0 +1 @@ +libsimple_reallocn.3
\ No newline at end of file diff --git a/man3/libsimple_enstrdup.3 b/man3/libsimple_enstrdup.3 new file mode 100644 index 0000000..4a2aa4f --- /dev/null +++ b/man3/libsimple_enstrdup.3 @@ -0,0 +1,120 @@ +.TH LIBSIMPLE_ENSTRDUP 3 2018-10-27 libsimple +.SH NAME +libsimple_enstrdup, libsimple_strdupa \- duplicate a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strdupa(const char *\fIs\fP); +char *libsimple_enstrdup(int \fIstatus\fP, const char *\fIs\fP); +static inline char *libsimple_estrdup(const char *\fIs\fP); + +#ifndef strdupa +# define strdupa libsimple_strdupa +#endif +#ifndef enstrdup +# define enstrdup libsimple_enstrdup +#endif +#ifndef estrdup +# define estrdup libsimple_estrdup +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enstrdup () +and +.BR libsimple_estrdup () +functions are versions of the +.BR strdup (3) +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf (3) +for more information. +.PP +The +.BR libsimple_strdupa () +function is implemented as a macro and is a version +of the +.BR strdup (3) +function that uses allocates the memory on the stack +rather than on the heap, causing the return pointer +to become invalid when the calling function returns. +It is only available when compling with GCC or Clang. +.SH RETURN VALUE +Upon successful completion, the +.BR libsimple_strdupa (), +.BR libsimple_enstrdup (), +and +.BR libsimple_estrdup () +functions return a non-null pointer, on failure the +.BR libsimple_enstrdup (), +and +.BR libsimple_estrdup () +functions exit the process. The +.BR libsimple_strdupa () +function cannot fail, however the kernel +can kill the thread, and possibly the process, with a +.B SIGSEGV +signal if the memory cannot be allocated. +.PP +The returned pointer should be deallocated when it +is no longer needed, except for the pointer returned +by the +.BR libsimple_strdupa () +function, it is automatically deallocated when the +calling function returns. +.SH ERRORS +None. +.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_strdupa (), +.br +.BR libsimple_enstrdup (), +.br +.BR libsimple_estrdup (), +T} Thread safety MT-Safe +T{ +.BR libsimple_strdupa (), +.br +.BR libsimple_enstrdup (), +.br +.BR libsimple_estrdup (), +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strdupa (), +.br +.BR libsimple_enstrdup (), +.br +.BR libsimple_estrdup (), +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_enstrndup (3), +.BR libsimple_memdup (3), +.BR libsimple_aligned_memdup (3), +.BR strndup (3), +.BR strdup (3) diff --git a/man3/libsimple_enstrndup.3 b/man3/libsimple_enstrndup.3 new file mode 100644 index 0000000..66272b0 --- /dev/null +++ b/man3/libsimple_enstrndup.3 @@ -0,0 +1,120 @@ +.TH LIBSIMPLE_ENSTRNDUP 3 2018-10-27 libsimple +.SH NAME +libsimple_enstrndup, libsimple_strndupa \- duplicate the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strndupa(const char *\fIs\fP, size_t \fIn\fP); +char *libsimple_enstrndup(int \fIstatus\fP, const char *\fIs\fP, size_t \fIn\fP); +static inline char *libsimple_estrndup(const char *\fIs\fP, size_t \fIn\fP); + +#ifndef strndupa +# define strndupa libsimple_strndupa +#endif +#ifndef enstrndup +# define enstrndup libsimple_enstrndup +#endif +#ifndef estrndup +# define estrndup libsimple_estrndup +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_enstrndup () +and +.BR libsimple_estrndup () +functions are versions of the +.BR strndup (3) +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf (3) +for more information. +.PP +The +.BR libsimple_strndupa () +function is implemented as a macro and is a version +of the +.BR strndup (3) +function that uses allocates the memory on the stack +rather than on the heap, causing the return pointer +to become invalid when the calling function returns. +It is only available when compling with GCC or Clang. +.SH RETURN VALUE +Upon successful completion, the +.BR libsimple_strndupa (), +.BR libsimple_enstrndup (), +and +.BR libsimple_estrndup () +functions return a non-null pointer, on failure the +.BR libsimple_enstrndup (), +and +.BR libsimple_estrndup () +functions exit the process. The +.BR libsimple_strndupa () +function cannot fail, however the kernel +can kill the thread, and possibly the process, with a +.B SIGSEGV +signal if the memory cannot be allocated. +.PP +The returned pointer should be deallocated when it +is no longer needed, except for the pointer returned +by the +.BR libsimple_strndupa () +function, it is automatically deallocated when the +calling function returns. +.SH ERRORS +None. +.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_strndupa (), +.br +.BR libsimple_enstrndup (), +.br +.BR libsimple_estrndup (), +T} Thread safety MT-Safe +T{ +.BR libsimple_strndupa (), +.br +.BR libsimple_enstrndup (), +.br +.BR libsimple_estrndup (), +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strndupa (), +.br +.BR libsimple_enstrndup (), +.br +.BR libsimple_estrndup (), +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_enstrdup (3), +.BR libsimple_memdup (3), +.BR libsimple_aligned_memdup (3), +.BR strndup (3), +.BR strdup (3) diff --git a/man3/libsimple_envaligned_allocn.3 b/man3/libsimple_envaligned_allocn.3 new file mode 120000 index 0000000..d552701 --- /dev/null +++ b/man3/libsimple_envaligned_allocn.3 @@ -0,0 +1 @@ +libsimple_valigned_allocn.3
\ No newline at end of file diff --git a/man3/libsimple_envaligned_alloczn.3 b/man3/libsimple_envaligned_alloczn.3 new file mode 120000 index 0000000..aac058b --- /dev/null +++ b/man3/libsimple_envaligned_alloczn.3 @@ -0,0 +1 @@ +libsimple_valigned_alloczn.3
\ No newline at end of file diff --git a/man3/libsimple_envalloc.3 b/man3/libsimple_envalloc.3 new file mode 120000 index 0000000..5879c71 --- /dev/null +++ b/man3/libsimple_envalloc.3 @@ -0,0 +1 @@ +libsimple_valloc.3
\ No newline at end of file diff --git a/man3/libsimple_envallocn.3 b/man3/libsimple_envallocn.3 new file mode 120000 index 0000000..56a5822 --- /dev/null +++ b/man3/libsimple_envallocn.3 @@ -0,0 +1 @@ +libsimple_vallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envallocz.3 b/man3/libsimple_envallocz.3 new file mode 120000 index 0000000..3a2dc96 --- /dev/null +++ b/man3/libsimple_envallocz.3 @@ -0,0 +1 @@ +libsimple_vallocz.3
\ No newline at end of file diff --git a/man3/libsimple_envalloczn.3 b/man3/libsimple_envalloczn.3 new file mode 120000 index 0000000..acae7d5 --- /dev/null +++ b/man3/libsimple_envalloczn.3 @@ -0,0 +1 @@ +libsimple_valloczn.3
\ No newline at end of file diff --git a/man3/libsimple_envarrayalloc.3 b/man3/libsimple_envarrayalloc.3 new file mode 120000 index 0000000..0e63ff9 --- /dev/null +++ b/man3/libsimple_envarrayalloc.3 @@ -0,0 +1 @@ +libsimple_arrayalloc.3
\ No newline at end of file diff --git a/man3/libsimple_envcallocn.3 b/man3/libsimple_envcallocn.3 new file mode 120000 index 0000000..bcc02ee --- /dev/null +++ b/man3/libsimple_envcallocn.3 @@ -0,0 +1 @@ +libsimple_vcallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envmallocn.3 b/man3/libsimple_envmallocn.3 new file mode 120000 index 0000000..6410741 --- /dev/null +++ b/man3/libsimple_envmallocn.3 @@ -0,0 +1 @@ +libsimple_vmallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envmalloczn.3 b/man3/libsimple_envmalloczn.3 new file mode 120000 index 0000000..5a271e0 --- /dev/null +++ b/man3/libsimple_envmalloczn.3 @@ -0,0 +1 @@ +libsimple_vmalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_envmemalignn.3 b/man3/libsimple_envmemalignn.3 new file mode 120000 index 0000000..d9dcdfd --- /dev/null +++ b/man3/libsimple_envmemalignn.3 @@ -0,0 +1 @@ +libsimple_vmemalignn.3
\ No newline at end of file diff --git a/man3/libsimple_envmemalignzn.3 b/man3/libsimple_envmemalignzn.3 new file mode 120000 index 0000000..2faeae6 --- /dev/null +++ b/man3/libsimple_envmemalignzn.3 @@ -0,0 +1 @@ +libsimple_vmemalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_envmemalloc.3 b/man3/libsimple_envmemalloc.3 new file mode 120000 index 0000000..f578d57 --- /dev/null +++ b/man3/libsimple_envmemalloc.3 @@ -0,0 +1 @@ +libsimple_vmemalloc.3
\ No newline at end of file diff --git a/man3/libsimple_envposix_memalignn.3 b/man3/libsimple_envposix_memalignn.3 new file mode 120000 index 0000000..7402678 --- /dev/null +++ b/man3/libsimple_envposix_memalignn.3 @@ -0,0 +1 @@ +libsimple_vposix_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_envposix_memalignzn.3 b/man3/libsimple_envposix_memalignzn.3 new file mode 120000 index 0000000..e47154f --- /dev/null +++ b/man3/libsimple_envposix_memalignzn.3 @@ -0,0 +1 @@ +libsimple_vposix_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_envputenvf.3 b/man3/libsimple_envputenvf.3 new file mode 120000 index 0000000..ce0929f --- /dev/null +++ b/man3/libsimple_envputenvf.3 @@ -0,0 +1 @@ +libsimple_vputenvf.3
\ No newline at end of file diff --git a/man3/libsimple_envpvallocn.3 b/man3/libsimple_envpvallocn.3 new file mode 120000 index 0000000..a659d76 --- /dev/null +++ b/man3/libsimple_envpvallocn.3 @@ -0,0 +1 @@ +libsimple_vpvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envpvalloczn.3 b/man3/libsimple_envpvalloczn.3 new file mode 120000 index 0000000..c93e0ed --- /dev/null +++ b/man3/libsimple_envpvalloczn.3 @@ -0,0 +1 @@ +libsimple_vpvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_envreallocn.3 b/man3/libsimple_envreallocn.3 new file mode 120000 index 0000000..18a590e --- /dev/null +++ b/man3/libsimple_envreallocn.3 @@ -0,0 +1 @@ +libsimple_vreallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envvallocn.3 b/man3/libsimple_envvallocn.3 new file mode 120000 index 0000000..b0804fe --- /dev/null +++ b/man3/libsimple_envvallocn.3 @@ -0,0 +1 @@ +libsimple_vvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_envvalloczn.3 b/man3/libsimple_envvalloczn.3 new file mode 120000 index 0000000..10be3d5 --- /dev/null +++ b/man3/libsimple_envvalloczn.3 @@ -0,0 +1 @@ +libsimple_vvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_eposix_memalign.3 b/man3/libsimple_eposix_memalign.3 new file mode 120000 index 0000000..4276ade --- /dev/null +++ b/man3/libsimple_eposix_memalign.3 @@ -0,0 +1 @@ +libsimple_enposix_memalign.3
\ No newline at end of file diff --git a/man3/libsimple_eposix_memalignn.3 b/man3/libsimple_eposix_memalignn.3 new file mode 120000 index 0000000..363ca79 --- /dev/null +++ b/man3/libsimple_eposix_memalignn.3 @@ -0,0 +1 @@ +libsimple_enposix_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_eposix_memalignz.3 b/man3/libsimple_eposix_memalignz.3 new file mode 120000 index 0000000..2aba726 --- /dev/null +++ b/man3/libsimple_eposix_memalignz.3 @@ -0,0 +1 @@ +libsimple_enposix_memalignz.3
\ No newline at end of file diff --git a/man3/libsimple_eposix_memalignzn.3 b/man3/libsimple_eposix_memalignzn.3 new file mode 120000 index 0000000..a6d27c4 --- /dev/null +++ b/man3/libsimple_eposix_memalignzn.3 @@ -0,0 +1 @@ +libsimple_enposix_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_eprintf.3 b/man3/libsimple_eprintf.3 new file mode 120000 index 0000000..3a87c2d --- /dev/null +++ b/man3/libsimple_eprintf.3 @@ -0,0 +1 @@ +libsimple_veprintf.3
\ No newline at end of file diff --git a/man3/libsimple_eprintf_postprint.3 b/man3/libsimple_eprintf_postprint.3 new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/libsimple_eprintf_postprint.3 @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/libsimple_eprintf_preprint.3 b/man3/libsimple_eprintf_preprint.3 new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/libsimple_eprintf_preprint.3 @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/libsimple_eputenvf.3 b/man3/libsimple_eputenvf.3 new file mode 120000 index 0000000..9982fa0 --- /dev/null +++ b/man3/libsimple_eputenvf.3 @@ -0,0 +1 @@ +libsimple_evputenvf.3
\ No newline at end of file diff --git a/man3/libsimple_epvalloc.3 b/man3/libsimple_epvalloc.3 new file mode 120000 index 0000000..1c3b2df --- /dev/null +++ b/man3/libsimple_epvalloc.3 @@ -0,0 +1 @@ +libsimple_enpvalloc.3
\ No newline at end of file diff --git a/man3/libsimple_epvallocn.3 b/man3/libsimple_epvallocn.3 new file mode 120000 index 0000000..ed1f5b5 --- /dev/null +++ b/man3/libsimple_epvallocn.3 @@ -0,0 +1 @@ +libsimple_enpvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_epvallocz.3 b/man3/libsimple_epvallocz.3 new file mode 120000 index 0000000..e8601bd --- /dev/null +++ b/man3/libsimple_epvallocz.3 @@ -0,0 +1 @@ +libsimple_enpvallocz.3
\ No newline at end of file diff --git a/man3/libsimple_epvalloczn.3 b/man3/libsimple_epvalloczn.3 new file mode 120000 index 0000000..1623378 --- /dev/null +++ b/man3/libsimple_epvalloczn.3 @@ -0,0 +1 @@ +libsimple_enpvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_erealloc.3 b/man3/libsimple_erealloc.3 new file mode 120000 index 0000000..cbe7b4b --- /dev/null +++ b/man3/libsimple_erealloc.3 @@ -0,0 +1 @@ +libsimple_enrealloc.3
\ No newline at end of file diff --git a/man3/libsimple_ereallocn.3 b/man3/libsimple_ereallocn.3 new file mode 120000 index 0000000..a27d46a --- /dev/null +++ b/man3/libsimple_ereallocn.3 @@ -0,0 +1 @@ +libsimple_enreallocn.3
\ No newline at end of file diff --git a/man3/libsimple_estrdup.3 b/man3/libsimple_estrdup.3 new file mode 120000 index 0000000..e8f7b76 --- /dev/null +++ b/man3/libsimple_estrdup.3 @@ -0,0 +1 @@ +libsimple_enstrdup.3
\ No newline at end of file diff --git a/man3/libsimple_estrndup.3 b/man3/libsimple_estrndup.3 new file mode 120000 index 0000000..e2011e0 --- /dev/null +++ b/man3/libsimple_estrndup.3 @@ -0,0 +1 @@ +libsimple_enstrndup.3
\ No newline at end of file diff --git a/man3/libsimple_evaligned_allocn.3 b/man3/libsimple_evaligned_allocn.3 new file mode 120000 index 0000000..0d90fb2 --- /dev/null +++ b/man3/libsimple_evaligned_allocn.3 @@ -0,0 +1 @@ +libsimple_envaligned_allocn.3
\ No newline at end of file diff --git a/man3/libsimple_evaligned_alloczn.3 b/man3/libsimple_evaligned_alloczn.3 new file mode 120000 index 0000000..267b5dc --- /dev/null +++ b/man3/libsimple_evaligned_alloczn.3 @@ -0,0 +1 @@ +libsimple_envaligned_alloczn.3
\ No newline at end of file diff --git a/man3/libsimple_evalloc.3 b/man3/libsimple_evalloc.3 new file mode 120000 index 0000000..191ecac --- /dev/null +++ b/man3/libsimple_evalloc.3 @@ -0,0 +1 @@ +libsimple_envalloc.3
\ No newline at end of file diff --git a/man3/libsimple_evallocn.3 b/man3/libsimple_evallocn.3 new file mode 120000 index 0000000..ec6733a --- /dev/null +++ b/man3/libsimple_evallocn.3 @@ -0,0 +1 @@ +libsimple_envallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evallocz.3 b/man3/libsimple_evallocz.3 new file mode 120000 index 0000000..34cfcb2 --- /dev/null +++ b/man3/libsimple_evallocz.3 @@ -0,0 +1 @@ +libsimple_envallocz.3
\ No newline at end of file diff --git a/man3/libsimple_evalloczn.3 b/man3/libsimple_evalloczn.3 new file mode 120000 index 0000000..a9ee8b5 --- /dev/null +++ b/man3/libsimple_evalloczn.3 @@ -0,0 +1 @@ +libsimple_envalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_evarrayalloc.3 b/man3/libsimple_evarrayalloc.3 new file mode 120000 index 0000000..e51e1df --- /dev/null +++ b/man3/libsimple_evarrayalloc.3 @@ -0,0 +1 @@ +libsimple_envarrayalloc.3
\ No newline at end of file diff --git a/man3/libsimple_evcallocn.3 b/man3/libsimple_evcallocn.3 new file mode 120000 index 0000000..83dd452 --- /dev/null +++ b/man3/libsimple_evcallocn.3 @@ -0,0 +1 @@ +libsimple_envcallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evmallocn.3 b/man3/libsimple_evmallocn.3 new file mode 120000 index 0000000..3448d63 --- /dev/null +++ b/man3/libsimple_evmallocn.3 @@ -0,0 +1 @@ +libsimple_envmallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evmalloczn.3 b/man3/libsimple_evmalloczn.3 new file mode 120000 index 0000000..bc3e9fd --- /dev/null +++ b/man3/libsimple_evmalloczn.3 @@ -0,0 +1 @@ +libsimple_envmalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_evmemalignn.3 b/man3/libsimple_evmemalignn.3 new file mode 120000 index 0000000..7589a73 --- /dev/null +++ b/man3/libsimple_evmemalignn.3 @@ -0,0 +1 @@ +libsimple_envmemalignn.3
\ No newline at end of file diff --git a/man3/libsimple_evmemalignzn.3 b/man3/libsimple_evmemalignzn.3 new file mode 120000 index 0000000..da91395 --- /dev/null +++ b/man3/libsimple_evmemalignzn.3 @@ -0,0 +1 @@ +libsimple_envmemalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_evmemalloc.3 b/man3/libsimple_evmemalloc.3 new file mode 120000 index 0000000..14d676f --- /dev/null +++ b/man3/libsimple_evmemalloc.3 @@ -0,0 +1 @@ +libsimple_envmemalloc.3
\ No newline at end of file diff --git a/man3/libsimple_evposix_memalignn.3 b/man3/libsimple_evposix_memalignn.3 new file mode 120000 index 0000000..70b88c2 --- /dev/null +++ b/man3/libsimple_evposix_memalignn.3 @@ -0,0 +1 @@ +libsimple_envposix_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_evposix_memalignzn.3 b/man3/libsimple_evposix_memalignzn.3 new file mode 120000 index 0000000..e42eac6 --- /dev/null +++ b/man3/libsimple_evposix_memalignzn.3 @@ -0,0 +1 @@ +libsimple_envposix_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_evputenvf.3 b/man3/libsimple_evputenvf.3 new file mode 120000 index 0000000..1b96365 --- /dev/null +++ b/man3/libsimple_evputenvf.3 @@ -0,0 +1 @@ +libsimple_envputenvf.3
\ No newline at end of file diff --git a/man3/libsimple_evpvallocn.3 b/man3/libsimple_evpvallocn.3 new file mode 120000 index 0000000..0c26fb6 --- /dev/null +++ b/man3/libsimple_evpvallocn.3 @@ -0,0 +1 @@ +libsimple_envpvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evpvalloczn.3 b/man3/libsimple_evpvalloczn.3 new file mode 120000 index 0000000..8b5142a --- /dev/null +++ b/man3/libsimple_evpvalloczn.3 @@ -0,0 +1 @@ +libsimple_envpvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_evreallocn.3 b/man3/libsimple_evreallocn.3 new file mode 120000 index 0000000..a97bab1 --- /dev/null +++ b/man3/libsimple_evreallocn.3 @@ -0,0 +1 @@ +libsimple_envreallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evvallocn.3 b/man3/libsimple_evvallocn.3 new file mode 120000 index 0000000..31f4783 --- /dev/null +++ b/man3/libsimple_evvallocn.3 @@ -0,0 +1 @@ +libsimple_envvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_evvalloczn.3 b/man3/libsimple_evvalloczn.3 new file mode 120000 index 0000000..07cd4f3 --- /dev/null +++ b/man3/libsimple_evvalloczn.3 @@ -0,0 +1 @@ +libsimple_envvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_getenv_e.3 b/man3/libsimple_getenv_e.3 new file mode 100644 index 0000000..7e3a3ca --- /dev/null +++ b/man3/libsimple_getenv_e.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_GETENV_E 3 2018-10-20 libsimple +.SH NAME +libsimple_getenv_e \- get value of an environment variable or the empty string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline const char *libsimple_getenv_e(const char *\fIname\fP); + +#ifndef getenv_e +# define getenv_e libsimple_getenv_e +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_getenv_e () +function searches the environment of the calling +process for the environment variable +.IR name . +If it exists, its value is returned. If it does +not exist, the empty string is returned. +.PP +Modifications to the environment variable made from +within the process, its parent, or other ancestor, +that have not be come visible to other process via +replacement of the process image, are visible to the +.BR libsimple_getenv_e () +function. +.SH RETURN VALUE +If the environment variable +.I name +is defined, its value is returned, otherwise the +empty string is returned. +.SH ERRORS +The +.BR libsimple_getenv_e () +function cannot fail. +.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_getenv_e () +T} Thread safety MT-Safe env +T{ +.BR libsimple_getenv_e () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_getenv_e () +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_getenv_ne (3), +.BR getenv (3) diff --git a/man3/libsimple_getenv_ne.3 b/man3/libsimple_getenv_ne.3 new file mode 100644 index 0000000..cd788d3 --- /dev/null +++ b/man3/libsimple_getenv_ne.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_GETENV_NE 3 2018-10-20 libsimple +.SH NAME +libsimple_getenv_ne \- get non-empty value of an environment variable +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline char *libsimple_getenv_ne(const char *\fIname\fP); + +#ifndef getenv_ne +# define getenv_ne libsimple_getenv_ne +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_getenv_ne () +function searches the environment of the calling +process for the environment variable +.IR name . +If it exists, its value is returned unless the value +is the empty string. +.PP +Modifications to the environment variable made from +within the process, its parent, or other ancestor, +that have not be come visible to other process via +replacement of the process image, are visible to the +.BR libsimple_getenv_ne () +function. +.SH RETURN VALUE +If the environment variable +.I name +is defined with a non-empty value, its value +is returned, otherwise +.B NULL +is returned. +.PP +The returned pointer must not be deallocated and +its content should not be modified. The returned +pointer becomes invalid when the environment variable +.I name +is unset or modified. +.SH ERRORS +The +.BR libsimple_getenv_ne () +function cannot fail. +.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_getenv_ne () +T} Thread safety MT-Safe env +T{ +.BR libsimple_getenv_ne () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_getenv_ne () +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_getenv_e (3), +.BR getenv (3) diff --git a/man3/libsimple_inchrcaseset.3 b/man3/libsimple_inchrcaseset.3 new file mode 120000 index 0000000..50838ca --- /dev/null +++ b/man3/libsimple_inchrcaseset.3 @@ -0,0 +1 @@ +libsimple_inchrset.3
\ No newline at end of file diff --git a/man3/libsimple_inchrset.3 b/man3/libsimple_inchrset.3 new file mode 100644 index 0000000..f07263c --- /dev/null +++ b/man3/libsimple_inchrset.3 @@ -0,0 +1,96 @@ +.TH LIBSIMPLE_INCHRSET 3 2018-11-05 libsimple +.SH NAME +libsimple_inchrset, libsimple_inchrcaseset \- the whether a character belongs to a set +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_inchrset(int \fIc\fP, const char *\fIs\fP); +static inline int libsimple_inchrcaseset(int \fIc\fP, const char *\fIs\fP); + +#ifndef inchrset +# define inchrset libsimple_inchrset +#endif +#ifndef inchrcaseset +# define inchrcaseset libsimple_inchrcaseset +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_inchrset () +and +.BR libsimple_inchrcaseset () +functions scans the string +.I s +for an occurence of the character +.I c +(it is converted to a +.BR char ), +and returns a value indicating whether it exists in the string, +the scan will always fail if +.I c +is the NUL byte. +.PP +The comparison is case-sensitive for the +.BR libsimple_inchrset () +function, and case-insensitive for the +.BR libsimple_inchrcaseset () +function. +.SH RETURN VALUE +The +.BR libsimple_inchrset () +and +.BR libsimple_inchrcaseset () +functions returns 1 if +.I c +is not the NUL byte but can be found in +.IR s ; +otherwise 0 is returned. +.SH ERRORS +The +.BR libsimple_inchrset () +and +.BR libsimple_inchrcaseset () +functions cannot fail. +.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_inchrset (), +.br +.BR libsimple_inchrcaseset () +T} Thread safety MT-Safe +T{ +.BR libsimple_inchrset (), +.br +.BR libsimple_strchrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_inchrset (), +.br +.BR libsimple_strchrnul () +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_strcasechr (3), +.BR strchr (3) diff --git a/man3/libsimple_mallocn.3 b/man3/libsimple_mallocn.3 new file mode 120000 index 0000000..6410741 --- /dev/null +++ b/man3/libsimple_mallocn.3 @@ -0,0 +1 @@ +libsimple_vmallocn.3
\ No newline at end of file diff --git a/man3/libsimple_mallocz.3 b/man3/libsimple_mallocz.3 new file mode 100644 index 0000000..86254ec --- /dev/null +++ b/man3/libsimple_mallocz.3 @@ -0,0 +1,188 @@ +.TH LIBSIMPLE_MALLOCZ 3 2018-11-03 libsimple +.SH NAME +libsimple_mallocz \- allocate optionally initialised memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_mallocz(int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_enmallocz(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_emallocz(int \fIclear\fP, size_t \fIn\fP); + +#ifndef mallocz +# define mallocz libsimple_mallocz +#endif +#ifndef enmallocz +# define enmallocz libsimple_enmallocz +#endif +#ifndef emallocz +# define emallocz libsimple_emallocz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_mallocz (), +.BR libsimple_enmallocz (), +and +.BR libsimple_emallocz () +functions are wrappers for the +.BR malloc (3) +and +.BR calloc (3) +functions, they allocate +.I n +bytes to the heap and return a pointer with an +alignment of +.I alignof(max_align_t) +to the allocated memory. The memory will be +initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmallocz () +and +.BR libsimple_emallocz () +functions will terminate the process if the memory +cannot be allocated (or if +.I n +is 0 and +.BR malloc (3) +and +.BR calloc (3) +returns +.B NULL +when it is used to allocate 0 bytes), by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmallocz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_emallocz () +function is used. +.PP +The +.BR libsimple_enmallocz () +and +.BR libsimple_emallocz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_mallocz (), +.BR libsimple_enmallocz (), +and +.BR libsimple_emallocz () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_mallocz () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enmallocz () +and +.BR libsimple_emallocz () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_mallocz () +function will fail for the reasons specified for the +.BR malloc (3) +and +.BR calloc (3) +functions. +.PP +The +.BR libsimple_enmallocz () +and +.BR libsimple_emallocz () +functions will 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_mallocz (), +.br +.BR libsimple_enmallocz (), +.br +.BR libsimple_emallocz () +T} Thread safety MT-Safe +T{ +.BR libsimple_mallocz (), +.br +.BR libsimple_enmallocz (), +.br +.BR libsimple_emallocz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_mallocz (), +.br +.BR libsimple_enmallocz (), +.br +.BR libsimple_emallocz () +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_enmalloc (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR malloc (3), +.BR calloc (3) diff --git a/man3/libsimple_malloczn.3 b/man3/libsimple_malloczn.3 new file mode 120000 index 0000000..5a271e0 --- /dev/null +++ b/man3/libsimple_malloczn.3 @@ -0,0 +1 @@ +libsimple_vmalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_memalign.3 b/man3/libsimple_memalign.3 new file mode 100644 index 0000000..8df0d50 --- /dev/null +++ b/man3/libsimple_memalign.3 @@ -0,0 +1,179 @@ +.TH LIBSIMPLE_MEMALIGN 3 2018-11-03 libsimple +.SH NAME +libsimple_memalign \- allocate memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_memalign(size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_enmemalign(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_ememalign(size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef memalign +# define memalign libsimple_memalign +#endif +#ifndef enmemalign +# define enmemalign libsimple_enmemalign +#endif +#ifndef ememalign +# define ememalign libsimple_ememalign +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memalign (), +.BR libsimple_enmemalign (), +and +.BR libsimple_ememalign () +functions allocate +.I n +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignment +bytes to the allocated memory. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmemalign () +and +.BR libsimple_ememalign () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmemalign () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ememalign () +function is used. +.PP +The +.BR libsimple_enmemalign () +and +.BR libsimple_ememalign () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_memalign (), +.BR libsimple_enmemalign (), +and +.BR libsimple_ememalign () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_memalign () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enmemalign () +and +.BR libsimple_ememalign () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_memalign () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enmemalign () +and +.BR libsimple_ememalign () +functions will 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_memalign (), +.br +.BR libsimple_enmemalign (), +.br +.BR libsimple_ememalign () +T} Thread safety MT-Safe +T{ +.BR libsimple_memalign (), +.br +.BR libsimple_enmemalign (), +.br +.BR libsimple_ememalign () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memalign (), +.br +.BR libsimple_enmemalign (), +.br +.BR libsimple_ememalign () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_memalignn.3 b/man3/libsimple_memalignn.3 new file mode 120000 index 0000000..d9dcdfd --- /dev/null +++ b/man3/libsimple_memalignn.3 @@ -0,0 +1 @@ +libsimple_vmemalignn.3
\ No newline at end of file diff --git a/man3/libsimple_memalignz.3 b/man3/libsimple_memalignz.3 new file mode 100644 index 0000000..11a70d7 --- /dev/null +++ b/man3/libsimple_memalignz.3 @@ -0,0 +1,182 @@ +.TH LIBSIMPLE_MEMALIGNZ 3 2018-11-03 libsimple +.SH NAME +libsimple_memalignz \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_memalignz(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_enmemalignz(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void *libsimple_ememalignz(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef memalignz +# define memalignz libsimple_memalignz +#endif +#ifndef enmemalignz +# define enmemalignz libsimple_enmemalignz +#endif +#ifndef ememalignz +# define ememalignz libsimple_ememalignz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memalignz (), +.BR libsimple_enmemalignz (), +and +.BR libsimple_ememalignz () +functions allocate +.I n +bytes to the heap and return a pointer with an +alignment of +.I alignment +bytes to the allocated memory. The memory will be +initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmemalignz () +and +.BR libsimple_ememalignz () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmemalignz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ememalignz () +function is used. +.PP +The +.BR libsimple_enmemalignz () +and +.BR libsimple_ememalignz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_memalignz (), +.BR libsimple_enmemalignz (), +and +.BR libsimple_ememalignz () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_memalignz () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enmemalignz () +and +.BR libsimple_ememalignz () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_memalignz () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enmemalignz () +and +.BR libsimple_ememalignz () +functions will 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_memalignz (), +.br +.BR libsimple_enmemalignz (), +.br +.BR libsimple_ememalignz () +T} Thread safety MT-Safe +T{ +.BR libsimple_memalignz (), +.br +.BR libsimple_enmemalignz (), +.br +.BR libsimple_ememalignz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memalignz (), +.br +.BR libsimple_enmemalignz (), +.br +.BR libsimple_ememalignz () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_memalignzn.3 b/man3/libsimple_memalignzn.3 new file mode 120000 index 0000000..2faeae6 --- /dev/null +++ b/man3/libsimple_memalignzn.3 @@ -0,0 +1 @@ +libsimple_vmemalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_memalloc.3 b/man3/libsimple_memalloc.3 new file mode 120000 index 0000000..f578d57 --- /dev/null +++ b/man3/libsimple_memalloc.3 @@ -0,0 +1 @@ +libsimple_vmemalloc.3
\ No newline at end of file diff --git a/man3/libsimple_memcasechr.3 b/man3/libsimple_memcasechr.3 new file mode 100644 index 0000000..3934598 --- /dev/null +++ b/man3/libsimple_memcasechr.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_memcasechr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memcasechr(const void *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef memcasechr +# define memcasechr libsimple_memcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcasechr () +function scans the memory segment +.IR s , +with the size +.IR n , +for the first occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcasechr () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memcasechr () +function cannot fail. +.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_memcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcasechr () +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_memrcasechr (3), +.BR libsimple_rawmemcasechr (3), +.BR libsimple_memcasemem (3), +.BR libsimple_strncasechr (3), +.BR libsimple_strcasechr (3), +.BR memchr (3) diff --git a/man3/libsimple_memcasecmp.3 b/man3/libsimple_memcasecmp.3 new file mode 100644 index 0000000..63e0e27 --- /dev/null +++ b/man3/libsimple_memcasecmp.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_MEMCASECMP 3 2018-10-21 libsimple +.SH NAME +libsimple_memcasecmp \- compare two memory segments +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_memcasecmp(const void *\fIa\fP, const void *\fIb\fP, size_t \fIn\fP); + +#ifndef memcasecmp +# define memcasecmp libsimple_memcasecmp +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcasecmp () +function compares the first +.I n +bytes of +.I a +and +.IR b . +.PP +The comparison is case-insensitive and made as +if the strings were converted to lowercase and as +.BR "unsigned char *" s. +.SH RETURN VALUE +The +.BR libsimple_memcasecmp () +function returns a negative value if +.I a +is less than +.IR b , +a positive value if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_memcasecmp () +function cannot fail. +.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_memcasecmp () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcasecmp () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcasecmp () +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_memcaseeq (3), +.BR libsimple_memcaseeqlen (3), +.BR memcmp (3) diff --git a/man3/libsimple_memcaseends.3 b/man3/libsimple_memcaseends.3 new file mode 100644 index 0000000..6605f79 --- /dev/null +++ b/man3/libsimple_memcaseends.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMCASEENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_memcaseends \- checks end of memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_memcaseends(const void *\fIs\fP, size_t \fIn\fP, const void *\fIt\fP, size_t \fIm\fP); + +#ifndef memcaseends +# define memcaseends libsimple_memcaseends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcaseends () +function checks whether the +.I n +is at least as great as +.I m +and that the +.I m +last bytes of +.IR s , +with the size +.IR n , +is the same as the +.I m +first bytes of +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcaseends () +function returns 1 if +.I s +ends with +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memcaseends () +function cannot fail. +.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_memcaseends () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcaseends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcaseends () +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_memends (3), +.BR libsimple_memcasestarts (3), +.BR libsimple_memrcasemem (3), +.BR libsimple_strncaseends (3), +.BR libsimple_strcaseends (3) diff --git a/man3/libsimple_memcaseeq.3 b/man3/libsimple_memcaseeq.3 new file mode 100644 index 0000000..6e30970 --- /dev/null +++ b/man3/libsimple_memcaseeq.3 @@ -0,0 +1,77 @@ +.TH LIBSIMPLE_MEMCASEEQ 3 2018-10-23 libsimple +.SH NAME +libsimple_memcaseeq \- check two memory segments for equality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_memcaseeq(const void *\fIa\fP, const void *\fIb\fP, size_t \fIn\fP); + +#ifndef memcaseeq +# define memcaseeq libsimple_memcaseeq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcaseeq () +function checks whether the first +.I n +bytes of +.I a +and +.I b +are equal. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcaseeq () +function returns 1 one if +.I a +and +.I b +are equal, with the possible exception if +their case, otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memcaseeq () +function cannot fail. +.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_memcaseeq () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcaseeq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcaseeq () +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_memeq (3), +.BR libsimple_memcaseeqlen (3), +.BR libsimple_memcasecmp (3), +.BR libsimple_strncaseeq (3), +.BR libsimple_strcaseeq (3) diff --git a/man3/libsimple_memcaseeqlen.3 b/man3/libsimple_memcaseeqlen.3 new file mode 100644 index 0000000..f8779c8 --- /dev/null +++ b/man3/libsimple_memcaseeqlen.3 @@ -0,0 +1,78 @@ +.TH LIBSIMPLE_MEMCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_memcaseeqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_memcaseeqlen(const void *\fIa\fP, size_t \fIn\fP, const void *\fIb\fP, size_t \fIm\fP); + +#ifndef memcaseeqlen +# define memcaseeqlen libsimple_memcaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcaseeqlen () +function scans the number of bytes the byte array +.IR a , +with size +.IR n , +have in common the byte array +.IR b , +with size +.IR m , +at their beginnings. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcaseeqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_memcaseeqlen () +function cannot fail. +.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_memcaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcaseeqlen () +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_memcaseeq (3), +.BR libsimple_memeqlen (3), +.BR libsimple_memrcaseeqlen (3), +.BR libsimple_strncaseeqlen (3), +.BR libsimple_strcaseeqlen (3) diff --git a/man3/libsimple_memcasemem.3 b/man3/libsimple_memcasemem.3 new file mode 100644 index 0000000..37c6cda --- /dev/null +++ b/man3/libsimple_memcasemem.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_MEMCASEMEM 3 2018-10-23 libsimple +.SH NAME +libsimple_memcasemem \- find byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memcasemem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memcasemem +# define memcasemem libsimple_memcasemem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcasemem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack , +for the first occurence of the byte string +.I needle +with the size +.IR nneedle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcasemem () +function returns the pointer +.I s +with a minimal offset such that +.IR !memcasecmp(r,needle,nneedle) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memcasemem () +function cannot fail. +.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_memcasemem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcasemem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcasemem () +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_memmem (3), +.BR libsimple_memrcasemem (3), +.BR libsimple_memcasechr (3), +.BR libsimple_strncasestr (3), +.BR libsimple_strcasestr (3) diff --git a/man3/libsimple_memcasestarts.3 b/man3/libsimple_memcasestarts.3 new file mode 100644 index 0000000..d8a7259 --- /dev/null +++ b/man3/libsimple_memcasestarts.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_MEMCASESTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_memcasestarts \- checks beginning of memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_memcasestarts(const void *\fIs\fP, size_t \fIn\fP, const void *\fIt\fP, size_t \fIm\fP); + +#ifndef memcasestarts +# define memcasestarts libsimple_memcasestarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memcasestarts () +function checks whether the +.I n +is at least as great as +.I m +and that the +.I m +first bytes of +.I s +is the same as the +.I m +first bytes of +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memcasestarts () +function returns 1 if +.I s +begins with +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memcasestarts () +function cannot fail. +.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_memcasestarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_memcasestarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memcasestarts () +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_memstarts (3), +.BR libsimple_memcaseends (3), +.BR libsimple_memcasemem (3), +.BR libsimple_strncasestarts (3), +.BR libsimple_strcasestarts (3) diff --git a/man3/libsimple_memdup.3 b/man3/libsimple_memdup.3 new file mode 100644 index 0000000..e111574 --- /dev/null +++ b/man3/libsimple_memdup.3 @@ -0,0 +1,149 @@ +.TH LIBSIMPLE_MEMDUP 3 2018-10-27 libsimple +.SH NAME +libsimple_memdup \- duplicate bytes in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memdupa(const void *\fIs\fP, size_t \fIn\fP); +void *libsimple_memdup(const void *\fIs\fP, size_t \fIn\fP); +void *libsimple_enmemdup(int \fIstatus\fP, const void *\fIs\fP, size_t \fIn\fP); +static inline void *libsimple_ememdup(const void *\fIs\fP, size_t \fIn\fP); + +#ifndef memdupa +# define memdupa libsimple_memdupa +#endif +#ifndef memdup +# define memdup libsimple_memdup +#endif +#ifndef enmemdup +# define enmemdup libsimple_enmemdup +#endif +#ifndef ememdup +# define ememdup libsimple_ememdup +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memdup () +function constructs allocates memory and copies +.I n +first bytes from +.I s +into the new allocation. +.PP +The +.BR libsimple_enmemdup () +and +.BR libsimple_ememdup () +functions are versions of the +.BR libsimple_memdup () +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf (3) +for more information. +.PP +The +.BR libsimple_memdupa () +function is implemented as a macro and is a version +of the +.BR libsimple_memdup () +function that uses allocates the memory on the stack +rather than on the heap, causing the return pointer +to become invalid when the calling function returns. +It is only available when compling with GCC or Clang. +.SH RETURN VALUE +Upon successful completion, the +.BR libsimple_memdupa (), +.BR libsimple_memdup (), +.BR libsimple_enmemdup (), +and +.BR libsimple_ememdup () +functions return a non-null pointer, on failure the +.BR libsimple_memdup () +function returns +.B NULL +and set +.I errno +to indicate the error, and the +.BR libsimple_enmemdup (), +and +.BR libsimple_ememdup () +functions exit the process. The +.BR libsimple_memdupa () +function cannot fail, however the kernel +can kill the thread, and possibly the process, with a +.B SIGSEGV +signal if the memory cannot be allocated. +.PP +The returned pointer should be deallocated when it +is no longer needed, except for the pointer returned +by the +.BR libsimple_memdupa () +function, it is automatically deallocated when the +calling function returns. +.SH ERRORS +The +.BR libsimple_memdup () +function may fail for any reason specified for the +.BR alloc (3) +function. +.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_memdupa (), +.br +.BR libsimple_memdup (), +.br +.BR libsimple_enmemdup (), +.br +.BR libsimple_ememdup (), +T} Thread safety MT-Safe +T{ +.BR libsimple_memdupa (), +.br +.BR libsimple_memdup (), +.br +.BR libsimple_enmemdup (), +.br +.BR libsimple_ememdup (), +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memdupa (), +.br +.BR libsimple_memdup (), +.br +.BR libsimple_enmemdup (), +.br +.BR libsimple_ememdup (), +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_aligned_memdup (3), +.BR libsimple_enstrndup (3), +.BR libsimple_enstrdup (3), +.BR strndup (3), +.BR strdup (3) diff --git a/man3/libsimple_memdupa.3 b/man3/libsimple_memdupa.3 new file mode 120000 index 0000000..ff9fc97 --- /dev/null +++ b/man3/libsimple_memdupa.3 @@ -0,0 +1 @@ +libsimple_memdup.3
\ No newline at end of file diff --git a/man3/libsimple_memelem.3 b/man3/libsimple_memelem.3 new file mode 100644 index 0000000..833e246 --- /dev/null +++ b/man3/libsimple_memelem.3 @@ -0,0 +1,84 @@ +.TH LIBSIMPLE_MEMELEM 3 2018-10-20 libsimple +.SH NAME +libsimple_memelem \- find aligned byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memelem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memelem +# define memelem libsimple_memelem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memelem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack*nneedle , +for the first occurence of the byte string +.I needle +with the size +.IR nneedle , +and with an offset equivalent to zero modulo +.IR nneedle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memelem () +function returns the pointer +.I s +with a minimal offset such that +.IR !memcmp(r,needle,nneedle) , +where +.I r +is the returned pointer, and such that +the offset is equivalent to zero modulo +.IR nneedle . +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memelem () +function cannot fail. +.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_memelem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memelem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memelem () +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_memrelem (3), +.BR libsimple_memmem (3), +.BR memchr (3) diff --git a/man3/libsimple_memends.3 b/man3/libsimple_memends.3 new file mode 100644 index 0000000..34db568 --- /dev/null +++ b/man3/libsimple_memends.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_memends \- checks end of memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_memends(const void *\fIs\fP, size_t \fIn\fP, const void *\fIt\fP, size_t \fIm\fP); + +#ifndef memends +# define memends libsimple_memends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memends () +function checks whether the +.I n +is at least as great as +.I m +and that the +.I m +last bytes of +.IR s , +with the size +.IR n , +is the same as the +.I m +first bytes of +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memends () +function returns 1 if +.I s +ends with +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memends () +function cannot fail. +.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_memends () +T} Thread safety MT-Safe +T{ +.BR libsimple_memends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memends () +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_memcaseends (3), +.BR libsimple_memstarts (3), +.BR libsimple_memrmem (3), +.BR libsimple_strnends (3), +.BR libsimple_strends (3) diff --git a/man3/libsimple_memeq.3 b/man3/libsimple_memeq.3 new file mode 100644 index 0000000..6631328 --- /dev/null +++ b/man3/libsimple_memeq.3 @@ -0,0 +1,76 @@ +.TH LIBSIMPLE_MEMEQ 3 2018-10-23 libsimple +.SH NAME +libsimple_memeq \- check two memory segments for equality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_memeq(const void *\fIa\fP, const void *\fIb\fP, size_t \fIn\fP); + +#ifndef memeq +# define memeq libsimple_memeq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memeq () +function checks whether the first +.I n +bytes of +.I a +and +.I b +are equal. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memeq () +function returns 1 one if +.I a +and +.I b +are equal, otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memeq () +function cannot fail. +.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_memeq () +T} Thread safety MT-Safe +T{ +.BR libsimple_memeq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memeq () +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_memcaseeq (3), +.BR libsimple_memeqlen (3), +.BR libsimple_strneq (3), +.BR libsimple_streq (3), +.BR memcmp (3) diff --git a/man3/libsimple_memeqlen.3 b/man3/libsimple_memeqlen.3 new file mode 100644 index 0000000..6a03808 --- /dev/null +++ b/man3/libsimple_memeqlen.3 @@ -0,0 +1,78 @@ +.TH LIBSIMPLE_MEMEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_memeqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_memeqlen(const void *\fIa\fP, size_t \fIn\fP, const void *\fIb\fP, size_t \fIm\fP); + +#ifndef memeqlen +# define memeqlen libsimple_memeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memeqlen () +function scans the number of bytes the byte array +.IR a , +with size +.IR n , +have in common the byte array +.IR b , +with size +.IR m , +at their beginnings. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memeqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_memeqlen () +function cannot fail. +.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_memeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_memeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memeqlen () +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_memeq (3), +.BR libsimple_memcaseeqlen (3), +.BR libsimple_memreqlen (3), +.BR libsimple_strneqlen (3), +.BR libsimple_streqlen (3) diff --git a/man3/libsimple_memmem.3 b/man3/libsimple_memmem.3 new file mode 100644 index 0000000..30dea44 --- /dev/null +++ b/man3/libsimple_memmem.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMMEM 3 2018-10-23 libsimple +.SH NAME +libsimple_memmem \- find byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memmem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memmem +# define memmem libsimple_memmem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memmem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack , +for the first occurence of the byte string +.I needle +with the size +.IR nneedle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memmem () +function returns the pointer +.I s +with a minimal offset such that +.IR !memcmp(r,needle,nneedle) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memmem () +function cannot fail. +.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_memmem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memmem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memmem () +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_memrcasemem (3), +.BR libsimple_memrmem (3), +.BR libsimple_memelem (3), +.BR libsimple_strnstr (3), +.BR strstr (3), +.BR memchr (3) diff --git a/man3/libsimple_mempcpy.3 b/man3/libsimple_mempcpy.3 new file mode 100644 index 0000000..bf9e6bc --- /dev/null +++ b/man3/libsimple_mempcpy.3 @@ -0,0 +1,72 @@ +.TH LIBSIMPLE_MEMPCPY 3 2018-10-23 libsimple +.SH NAME +libsimple_mempcpy \- copy an array of bytes into another +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_mempcpy(void *\fIdest\fP, const void *\fIsrc\fP, size_t \fIn\fP); + +#ifndef mempcpy +# define mempcpy libsimple_mempcpy +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_mempcpy () +function copies the first +.I n +bytes of +.I src +into +.IR dest . +.SH RETURN VALUE +The +.BR libsimple_mempcpy () +function returns the pointer +.I dest +with the offset +.I n +(the byte where the copy stopped). +.SH ERRORS +The +.BR libsimple_mempcpy () +function cannot fail. +.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_mempcpy () +T} Thread safety MT-Safe +T{ +.BR libsimple_mempcpy () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_mempcpy () +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_mempset (3), +.BR memcpy (3), +.BR stpncpy (3), +.BR stpcpy (3) diff --git a/man3/libsimple_mempset.3 b/man3/libsimple_mempset.3 new file mode 100644 index 0000000..c88257b --- /dev/null +++ b/man3/libsimple_mempset.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_MEMPSET 3 2018-10-20 libsimple +.SH NAME +libsimple_mempset \- fill an array of bytes +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_mempset(void *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef mempset +# define mempset libsimple_mempset +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_mempset () +function fills the first +.I n +bytes of +.I s +with the value +.I c +coverted to a +.BR char . +.SH RETURN VALUE +The +.BR libsimple_mempset () +function returns the pointer +.I s +with the offset +.I n +(the byte where the copy stopped). +.SH ERRORS +The +.BR libsimple_mempset () +function cannot fail. +.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_mempset () +T} Thread safety MT-Safe +T{ +.BR libsimple_mempset () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_mempset () +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_mempsetelem (3), +.BR libsimple_mempcpy (3), +.BR memset (3) diff --git a/man3/libsimple_mempsetelem.3 b/man3/libsimple_mempsetelem.3 new file mode 100644 index 0000000..0b32228 --- /dev/null +++ b/man3/libsimple_mempsetelem.3 @@ -0,0 +1,72 @@ +.TH LIBSIMPLE_MEMPSETELEM 3 2018-10-20 libsimple +.SH NAME +libsimple_mempsetelem \- fill an array with a value +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_mempsetelem(void *\fIbuf\fP, const void *\fIitem\fP, size_t \fIsize\fP, size_t \fInitems\fP); + +#ifndef mempsetelem +# define mempsetelem libsimple_mempsetelem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_mempsetelem () +function fills the beginning of +.I buf +with +.I nitems +copies of the element +.I item +with the size +.IR size . +.SH RETURN VALUE +The +.BR libsimple_mempsetelem () +function returns the pointer +.I buf +with the offset +.I nitems*size +(the byte where the copy stopped). +.SH ERRORS +The +.BR libsimple_mempsetelem () +function cannot fail. +.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_mempsetelem () +T} Thread safety MT-Safe +T{ +.BR libsimple_mempsetelem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_mempsetelem () +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_memsetelem (3), +.BR libsimple_mempset (3) diff --git a/man3/libsimple_memrcasechr.3 b/man3/libsimple_memrcasechr.3 new file mode 100644 index 0000000..100f938 --- /dev/null +++ b/man3/libsimple_memrcasechr.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMRCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_memrcasechr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memrcasechr(const void *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef memrcasechr +# define memrcasechr libsimple_memrcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrcasechr () +function scans the memory segment +.IR s , +with the size +.IR n , +for the last occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memrcasechr () +function returns the pointer +.I s +with a maximal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memrcasechr () +function cannot fail. +.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_memrcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrcasechr () +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_memcasechr (3), +.BR libsimple_memrchr (3), +.BR libsimple_rawmemrcasechr (3), +.BR libsimple_memrcasemem (3), +.BR libsimple_strrncasechr (3), +.BR libsimple_strrcasechr (3) diff --git a/man3/libsimple_memrcaseeqlen.3 b/man3/libsimple_memrcaseeqlen.3 new file mode 100644 index 0000000..9991e05 --- /dev/null +++ b/man3/libsimple_memrcaseeqlen.3 @@ -0,0 +1,77 @@ +.TH LIBSIMPLE_MEMRCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_memrcaseeqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_memrcaseeqlen(const void *\fIa\fP, size_t \fIn\fP, const void *\fIb\fP, size_t \fIm\fP); + +#ifndef memrcaseeqlen +# define memrcaseeqlen libsimple_memrcaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrcaseeqlen () +function scans the number of bytes the byte array +.IR a , +with size +.IR n , +have in common the byte array +.IR b , +with size +.IR m , +at their ends. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memrcaseeqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their ends. +.SH ERRORS +The +.BR libsimple_memrcaseeqlen () +function cannot fail. +.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_memrcaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrcaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrcaseeqlen () +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_memreqlen (3), +.BR libsimple_memcaseeqlen (3), +.BR libsimple_strrncaseeqlen (3), +.BR libsimple_strrcaseeqlen (3) diff --git a/man3/libsimple_memrcasemem.3 b/man3/libsimple_memrcasemem.3 new file mode 100644 index 0000000..76b6ea5 --- /dev/null +++ b/man3/libsimple_memrcasemem.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_MEMRCASEMEM 3 2018-10-23 libsimple +.SH NAME +libsimple_memrcasemem \- find byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memrcasemem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memrcasemem +# define memrcasemem libsimple_memrcasemem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrcasemem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack , +for the last occurence of the byte string +.I needle +with the size +.IR nneedle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_memrcasemem () +function returns the pointer +.I s +with a maximal offset such that +.IR !memcasecmp(r,needle,nneedle) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memrcasemem () +function cannot fail. +.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_memrcasemem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrcasemem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrcasemem () +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_memrmem (3), +.BR libsimple_memcasemem (3), +.BR libsimple_memrcasechr (3), +.BR libsimple_strrncasestr (3), +.BR libsimple_strrcasestr (3) diff --git a/man3/libsimple_memrchr.3 b/man3/libsimple_memrchr.3 new file mode 100644 index 0000000..362c8ba --- /dev/null +++ b/man3/libsimple_memrchr.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMRCHR 3 2018-10-23 libsimple +.SH NAME +libsimple_memrchr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memrchr(const void *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef memrchr +# define memrchr libsimple_memrchr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrchr () +function scans the memory segment +.IR s , +with the size +.IR n , +for the last occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memrchr () +function returns the pointer +.I s +with a maximal offset such that +.IR *r==c , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memrchr () +function cannot fail. +.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_memrchr () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrchr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrchr () +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_memrcasechr (3), +.BR libsimple_rawmemrchr (3), +.BR libsimple_memrmem (3), +.BR libsimple_strrnchr (3), +.BR memchr (3) +.BR strrchr (3) diff --git a/man3/libsimple_memrelem.3 b/man3/libsimple_memrelem.3 new file mode 100644 index 0000000..203ffee --- /dev/null +++ b/man3/libsimple_memrelem.3 @@ -0,0 +1,84 @@ +.TH LIBSIMPLE_MEMRELEM 3 2018-10-20 libsimple +.SH NAME +libsimple_memrelem \- find aligned byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memrelem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memrelem +# define memrelem libsimple_memrelem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrelem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack*nneedle , +for the last occurence of the byte string +.I needle +with the size +.IR nneedle , +and with an offset equivalent to zero modulo +.IR nneedle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memrelem () +function returns the pointer +.I s +with a maximal offset such that +.IR !memcmp(r,needle,nneedle) , +where +.I r +is the returned pointer, and such that +the offset is equivalent to zero modulo +.IR nneedle . +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memrelem () +function cannot fail. +.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_memrelem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrelem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrelem () +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_memelem (3), +.BR libsimple_memrmem (3), +.BR libsimple_memrchr (3) diff --git a/man3/libsimple_memreqlen.3 b/man3/libsimple_memreqlen.3 new file mode 100644 index 0000000..93b49b4 --- /dev/null +++ b/man3/libsimple_memreqlen.3 @@ -0,0 +1,77 @@ +.TH LIBSIMPLE_MEMREQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_memreqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_memreqlen(const void *\fIa\fP, size_t \fIn\fP, const void *\fIb\fP, size_t \fIm\fP); + +#ifndef memreqlen +# define memreqlen libsimple_memreqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memreqlen () +function scans the number of bytes the byte array +.IR a , +with size +.IR n , +have in common the byte array +.IR b , +with size +.IR m , +at their ends. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memreqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their ends. +.SH ERRORS +The +.BR libsimple_memreqlen () +function cannot fail. +.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_memreqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_memreqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memreqlen () +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_memrcaseeqlen (3), +.BR libsimple_memeqlen (3), +.BR libsimple_strrneqlen (3), +.BR libsimple_strreqlen (3) diff --git a/man3/libsimple_memrmem.3 b/man3/libsimple_memrmem.3 new file mode 100644 index 0000000..706fc03 --- /dev/null +++ b/man3/libsimple_memrmem.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_MEMRMEM 3 2018-10-23 libsimple +.SH NAME +libsimple_memrmem \- find byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memrmem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memrmem +# define memrmem libsimple_memrmem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memrmem () +function scans the memory segment +.IR haystack , +with the size +.IR nhaystack , +for the last occurence of the byte string +.I needle +with the size +.IR nneedle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memrmem () +function returns the pointer +.I s +with a maximal offset such that +.IR !memcmp(r,needle,nneedle) , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_memrmem () +function cannot fail. +.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_memrmem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memrmem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memrmem () +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_memcasemem (3), +.BR libsimple_memmem (3), +.BR libsimple_memrelem (3), +.BR libsimple_memrchr (3), +.BR libsimple_strrnstr (3), +.BR libsimple_strrstr (3) diff --git a/man3/libsimple_memsetelem.3 b/man3/libsimple_memsetelem.3 new file mode 100644 index 0000000..516a20b --- /dev/null +++ b/man3/libsimple_memsetelem.3 @@ -0,0 +1,69 @@ +.TH LIBSIMPLE_MEMSETELEM 3 2018-10-20 libsimple +.SH NAME +libsimple_memsetelem \- fill an array with a value +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_memsetelem(void *\fIbuf\fP, const void *\fIitem\fP, size_t \fIsize\fP, size_t \fInitems\fP); + +#ifndef memsetelem +# define memsetelem libsimple_memsetelem +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memsetelem () +function fills the beginning of +.I buf +with +.I nitems +copies of the element +.I item +with the size +.IR size . +.SH RETURN VALUE +The +.BR libsimple_memsetelem () +function returns the pointer +.IR buf . +.SH ERRORS +The +.BR libsimple_memsetelem () +function cannot fail. +.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_memsetelem () +T} Thread safety MT-Safe +T{ +.BR libsimple_memsetelem () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memsetelem () +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_mempsetelem (3), +.BR memset (3) diff --git a/man3/libsimple_memstarts.3 b/man3/libsimple_memstarts.3 new file mode 100644 index 0000000..527397b --- /dev/null +++ b/man3/libsimple_memstarts.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_MEMSTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_memstarts \- checks beginning of memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_memstarts(const void *\fIs\fP, size_t \fIn\fP, const void *\fIt\fP, size_t \fIm\fP); + +#ifndef memstarts +# define memstarts libsimple_memstarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memstarts () +function checks whether the +.I n +is at least as great as +.I m +and that the +.I m +first bytes of +.I s +is the same as the +.I m +first bytes of +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memstarts () +function returns 1 if +.I s +begins with +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_memstarts () +function cannot fail. +.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_memstarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_memstarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memstarts () +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_memcasestarts (3), +.BR libsimple_memends (3), +.BR libsimple_memmem (3), +.BR libsimple_strnstarts (3), +.BR libsimple_strstarts (3) diff --git a/man3/libsimple_minimise_number_string.3 b/man3/libsimple_minimise_number_string.3 new file mode 100644 index 0000000..310b725 --- /dev/null +++ b/man3/libsimple_minimise_number_string.3 @@ -0,0 +1,64 @@ +.TH LIBSIMPLE_MINIMISE_NUMBER_STRING 3 2018-10-31 libsimple +.SH NAME +libsimple_minimise_number_string \- ninimise a numerical string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_minimise_number_string(char *\fIs\fP); + +#ifndef minimise_number_string +# define minimise_number_string libsimple_minimise_number_string +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_minimise_number_string () +function minimises a string representing a real value with +the assumption that the string is on the format +.B [+-]\e?[0-9]*\e(\e.[0-9]*\e)\e? +(repeating decimals are not supported). +.SH RETURN VALUE +The +.BR libsimple_minimise_number_string () +function returns the pointer +.IR s . +.SH ERRORS +The +.BR libsimple_minimise_number_string () +function cannot fail. +.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_minimise_number_string () +T} Thread safety MT-Safe +T{ +.BR libsimple_minimise_number_string () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_minimise_number_string () +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_timespectostr (3) diff --git a/man3/libsimple_multimespec.3 b/man3/libsimple_multimespec.3 new file mode 100644 index 0000000..a55b7a2 --- /dev/null +++ b/man3/libsimple_multimespec.3 @@ -0,0 +1,115 @@ +.TH LIBSIMPLE_MULTIMESPEC 3 2018-10-29 libsimple +.SH NAME +libsimple_multimespec, libsimple_multimeval \- multiply a duration with an integer +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_multimespec(struct timespec *\fIprod\fP, const struct timespec *\fImultiplicand\fP, int \fImultiplier\fP); +int libsimple_multimeval(struct timeval *\fIprod\fP, const struct timeval *\fImultiplicand\fP, int \fImultiplier\fP); + +#ifndef multimespec +# define multimespec libsimple_multimespec +#endif +#ifndef multimeval +# define multimeval libsimple_multimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_multimespec () +and +.BR libsimple_multimeval () +functions calculates the product of +.I multiplicand +and +.I multiplier +and stores the result in +.IR prod . +.SH RETURN VALUE +The +.BR libsimple_multimespec () +and +.BR libsimple_multimeval () +functions return 0 on successful completion; +otherwise, \-1 is returned and +.I errno +is set to indicate the error. +.SH ERRORS +The +.BR libsimple_multimespec () +and +.BR libsimple_multimeval () +functions fail if: +.TP +.B ERANGE +The result is too large or too small to be stored; if the +result is too large +.I *diff +will be set to +.I {.tv_sec=TIME_MAX,.tv_nsec=999999999L} +for the +.BR libsimple_multimespec () +function and to +.I {.tv_sec=TIME_MAX,.tv_usec=999999L} +for the +.BR libsimple_multimeval () +function, if the result is too small +.I *diff +will be set to +.I {.tv_sec=TIME_MIN,.tv_nsec=0} +for the +.BR libsimple_multimespec () +function and to +.I {.tv_sec=TIME_MIN,.tv_usec=0} +for the +.BR libsimple_multimeval () +function. +.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_multimespec () +.br +.BR libsimple_multimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_multimespec () +.br +.BR libsimple_multimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_multimespec () +.br +.BR libsimple_multimeval () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_multimeval.3 b/man3/libsimple_multimeval.3 new file mode 120000 index 0000000..f5d0d9d --- /dev/null +++ b/man3/libsimple_multimeval.3 @@ -0,0 +1 @@ +libsimple_multimespec.3
\ No newline at end of file diff --git a/man3/libsimple_posix_memalignn.3 b/man3/libsimple_posix_memalignn.3 new file mode 120000 index 0000000..7402678 --- /dev/null +++ b/man3/libsimple_posix_memalignn.3 @@ -0,0 +1 @@ +libsimple_vposix_memalignn.3
\ No newline at end of file diff --git a/man3/libsimple_posix_memalignz.3 b/man3/libsimple_posix_memalignz.3 new file mode 100644 index 0000000..3ea4655 --- /dev/null +++ b/man3/libsimple_posix_memalignz.3 @@ -0,0 +1,187 @@ +.TH LIBSIMPLE_POSIX_MEMALIGNZ 3 2018-11-03 libsimple +.SH NAME +libsimple_posix_memalignz \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_posix_memalignz(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +void libsimple_enposix_memalignz(int \fIstatus\fP, void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); +static inline void libsimple_eposix_memalignz(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP); + +#ifndef posix_memalignz +# define posix_memalignz libsimple_posix_memalignz +#endif +#ifndef enposix_memalignz +# define enposix_memalignz libsimple_enposix_memalignz +#endif +#ifndef eposix_memalignz +# define eposix_memalignz libsimple_eposix_memalignz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_posix_memalignz (), +.BR libsimple_enposix_memalignz (), +and +.BR libsimple_eposix_memalignz () +functions allocate +.I n +bytes to the heap and store a pointer with an +alignment of +.I alignment +bytes to the allocated memory in +.IR memptr . +The memory will be initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the pointer stored in +.I memptr +as input when the allocated memory is no longer needed. +.I *memptr +remains unmodified on failure. +.PP +The +.BR libsimple_enposix_memalignz () +and +.BR libsimple_eposix_memalignz () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enposix_memalignz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_eposix_memalignz () +function is used. +.PP +The +.BR libsimple_enposix_memalignz () +and +.BR libsimple_eposix_memalignz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_posix_memalignz () +function returns 0 upon successful completion; +otherwise an error code is returned to indicate +the error. +.PP +The +.BR libsimple_enposix_memalignz () +and +.BR libsimple_eposix_memalignz () +functions do not return a value, but +terminated the process on failure. +.SH ERRORS +The +.BR libsimple_posix_memalignz () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B EINVAL +.I alignment +is not a multiple of +.IR "sizeof(void *)" . +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enposix_memalignz () +and +.BR libsimple_eposix_memalignz () +functions will 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_posix_memalignz (), +.br +.BR libsimple_enposix_memalignz (), +.br +.BR libsimple_eposix_memalignz () +T} Thread safety MT-Safe +T{ +.BR libsimple_posix_memalignz (), +.br +.BR libsimple_enposix_memalignz (), +.br +.BR libsimple_eposix_memalignz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_posix_memalignz (), +.br +.BR libsimple_enposix_memalignz (), +.br +.BR libsimple_eposix_memalignz () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR posix_memalign (3) diff --git a/man3/libsimple_posix_memalignzn.3 b/man3/libsimple_posix_memalignzn.3 new file mode 120000 index 0000000..e47154f --- /dev/null +++ b/man3/libsimple_posix_memalignzn.3 @@ -0,0 +1 @@ +libsimple_vposix_memalignzn.3
\ No newline at end of file diff --git a/man3/libsimple_putenvf.3 b/man3/libsimple_putenvf.3 new file mode 120000 index 0000000..ce0929f --- /dev/null +++ b/man3/libsimple_putenvf.3 @@ -0,0 +1 @@ +libsimple_vputenvf.3
\ No newline at end of file diff --git a/man3/libsimple_pvalloc.3 b/man3/libsimple_pvalloc.3 new file mode 100644 index 0000000..63473b3 --- /dev/null +++ b/man3/libsimple_pvalloc.3 @@ -0,0 +1,169 @@ +.TH LIBSIMPLE_PVALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_pvalloc \- allocate memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_pvalloc(size_t \fIn\fP); +static inline void *libsimple_enpvalloc(int \fIstatus\fP, size_t \fIn\fP); +static inline void *libsimple_epvalloc(size_t \fIn\fP); + +#ifndef pvalloc +# define pvalloc libsimple_pvalloc +#endif +#ifndef enpvalloc +# define enpvalloc libsimple_enpvalloc +#endif +#ifndef epvalloc +# define epvalloc libsimple_epvalloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_pvalloc (), +.BR libsimple_enpvalloc (), +and +.BR libsimple_epvalloc () +functions allocate +.I n +uninitialised bytes, rounded up to the next multiple of +the page size, to the heap and return a pointer with an +alignment of the page size to the allocated memory. +The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enpvalloc () +and +.BR libsimple_epvalloc () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enpvalloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_epvalloc () +function is used. +.SH RETURN VALUE +The +.BR libsimple_pvalloc (), +.BR libsimple_enpvalloc (), +and +.BR libsimple_epvalloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_pvalloc () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enpvalloc () +and +.BR libsimple_epvalloc () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_pvalloc () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enpvalloc () +and +.BR libsimple_epvalloc () +functions will 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_pvalloc (), +.br +.BR libsimple_enpvalloc (), +.br +.BR libsimple_epvalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_pvalloc (), +.br +.BR libsimple_enpvalloc (), +.br +.BR libsimple_epvalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_pvalloc (), +.br +.BR libsimple_enpvalloc (), +.br +.BR libsimple_epvalloc () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR pvalloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_pvallocn.3 b/man3/libsimple_pvallocn.3 new file mode 120000 index 0000000..a659d76 --- /dev/null +++ b/man3/libsimple_pvallocn.3 @@ -0,0 +1 @@ +libsimple_vpvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_pvallocz.3 b/man3/libsimple_pvallocz.3 new file mode 100644 index 0000000..c758fcd --- /dev/null +++ b/man3/libsimple_pvallocz.3 @@ -0,0 +1,179 @@ +.TH LIBSIMPLE_PVALLOCZ 3 2018-11-03 libsimple +.SH NAME +libsimple_pvallocz \- allocate optionally initialised memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_pvallocz(int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_enpvallocz(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_epvallocz(int \fIclear\fP, size_t \fIn\fP); + +#ifndef pvallocz +# define pvallocz libsimple_pvallocz +#endif +#ifndef enpvallocz +# define enpvallocz libsimple_enpvallocz +#endif +#ifndef epvallocz +# define epvallocz libsimple_epvallocz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_pvallocz (), +.BR libsimple_enpvallocz (), +and +.BR libsimple_epvallocz () +functions allocate +.I n +bytes, rounded up to the next multiple of the page size, +to the heap and return a pointer with an alignment of +the page size to the allocated memory. The memory will be +initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enpvallocz () +and +.BR libsimple_epvallocz () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enpvallocz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_epvallocz () +function is used. +.PP +The +.BR libsimple_enpvallocz () +and +.BR libsimple_epvallocz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_pvallocz (), +.BR libsimple_enpvallocz (), +and +.BR libsimple_epvallocz () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_pvallocz () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_enpvallocz () +and +.BR libsimple_epvallocz () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_pvallocz () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_enpvallocz () +and +.BR libsimple_epvallocz () +functions will 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_pvallocz (), +.br +.BR libsimple_enpvallocz (), +.br +.BR libsimple_epvallocz () +T} Thread safety MT-Safe +T{ +.BR libsimple_pvallocz (), +.br +.BR libsimple_enpvallocz (), +.br +.BR libsimple_epvallocz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_pvallocz (), +.br +.BR libsimple_enpvallocz (), +.br +.BR libsimple_epvallocz () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR pvalloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vpvallocn (3), +.BR libsimple_vpvalloczn (3), +.BR libsimple_valloc (3), +.BR libsimple_vallocz (3), +.BR libsimple_vvallocn (3), +.BR libsimple_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_pvalloczn.3 b/man3/libsimple_pvalloczn.3 new file mode 120000 index 0000000..c93e0ed --- /dev/null +++ b/man3/libsimple_pvalloczn.3 @@ -0,0 +1 @@ +libsimple_vpvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_rawmemcasechr.3 b/man3/libsimple_rawmemcasechr.3 new file mode 100644 index 0000000..2e06898 --- /dev/null +++ b/man3/libsimple_rawmemcasechr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_RAWMEMCASECHR 3 2018-10-21 libsimple +.SH NAME +libsimple_rawmemcasechr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_rawmemcasechr(const void *\fIs\fP, int \fIc\fP); + +#ifndef rawmemcasechr +# define rawmemcasechr libsimple_rawmemcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_rawmemcasechr () +function scans the memory segment +.I s +for the first occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The +.BR libsimple_rawmemcasechr () +function assumes there is at least one +occurence, its behaviour is undefined +if this is not the case. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_rawmemcasechr () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_rawmemcasechr () +function cannot fail. +.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_rawmemcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_rawmemcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_rawmemcasechr () +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_memcasechr (3), +.BR libsimple_rawmemchr (3), +.BR libsimple_rawmemrcasechr (3), +.BR libsimple_memcasechr (3) diff --git a/man3/libsimple_rawmemchr.3 b/man3/libsimple_rawmemchr.3 new file mode 100644 index 0000000..79b480e --- /dev/null +++ b/man3/libsimple_rawmemchr.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_RAWMEMCHR 3 2018-10-21 libsimple +.SH NAME +libsimple_rawmemchr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_rawmemchr(const void *\fIs\fP, int \fIc\fP); + +#ifndef rawmemchr +# define rawmemchr libsimple_rawmemchr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_rawmemchr () +function scans the memory segment +.I s +for the first occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The +.BR libsimple_rawmemchr () +function assumes there is at least one +occurence, its behaviour is undefined +if this is not the case. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_rawmemchr () +function returns the pointer +.I s +with a minimal offset such that +.IR *r==c , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_rawmemchr () +function cannot fail. +.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_rawmemchr () +T} Thread safety MT-Safe +T{ +.BR libsimple_rawmemchr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_rawmemchr () +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_rawmemcasechr (3), +.BR libsimple_rawmemrchr (3), +.BR memchr (3) diff --git a/man3/libsimple_rawmemrcasechr.3 b/man3/libsimple_rawmemrcasechr.3 new file mode 100644 index 0000000..389b332 --- /dev/null +++ b/man3/libsimple_rawmemrcasechr.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_RAWMEMRCASECHR 3 2018-10-21 libsimple +.SH NAME +libsimple_rawmemrcasechr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_rawmemrcasechr(const void *s, int c, size_t n); + +#ifndef rawmemrcasechr +# define rawmemrcasechr libsimple_rawmemrcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_rawmemrcasechr () +function scans the memory segment +.IR s , +with the size +.IR n , +for the last occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The +.BR libsimple_rawmemrcasechr () +function assumes there is at least one +occurence, its behaviour is undefined +if this is not the case. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_rawmemrcasechr () +function returns the pointer +.I s +with a maximal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_rawmemrcasechr () +function cannot fail. +.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_rawmemrcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_rawmemrcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_rawmemrcasechr () +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_rawmemrchr (3), +.BR libsimple_memrcasechr (3), +.BR libsimple_rawmemcasechr (3) diff --git a/man3/libsimple_rawmemrchr.3 b/man3/libsimple_rawmemrchr.3 new file mode 100644 index 0000000..f4ae624 --- /dev/null +++ b/man3/libsimple_rawmemrchr.3 @@ -0,0 +1,83 @@ +.TH LIBSIMPLE_RAWMEMRCHR 3 2018-10-21 libsimple +.SH NAME +libsimple_rawmemrchr \- find byte in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_rawmemrchr(const void *s, int c, size_t n); + +#ifndef rawmemrchr +# define rawmemrchr libsimple_rawmemrchr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_rawmemrchr () +function scans the memory segment +.IR s , +with the size +.IR n , +for the last occurence of the byte +.I c +(it is converted to a +.BR char ). +.PP +The +.BR libsimple_rawmemrchr () +function assumes there is at least one +occurence, its behaviour is undefined +if this is not the case. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_rawmemrchr () +function returns the pointer +.I s +with a maximal offset such that +.IR *r==c , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_rawmemrchr () +function cannot fail. +.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_rawmemrchr () +T} Thread safety MT-Safe +T{ +.BR libsimple_rawmemrchr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_rawmemrchr () +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_rawmemrcasechr (3), +.BR libsimple_memrchr (3), +.BR libsimple_rawmemchr (3) diff --git a/man3/libsimple_reallocn.3 b/man3/libsimple_reallocn.3 new file mode 120000 index 0000000..18a590e --- /dev/null +++ b/man3/libsimple_reallocn.3 @@ -0,0 +1 @@ +libsimple_vreallocn.3
\ No newline at end of file diff --git a/man3/libsimple_strcasechr.3 b/man3/libsimple_strcasechr.3 new file mode 100644 index 0000000..8d644a1 --- /dev/null +++ b/man3/libsimple_strcasechr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strcasechr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strcasechr(const char *\fIs\fP, int \fIc\fP); + +#ifndef strcasechr +# define strcasechr libsimple_strcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcasechr () +function scans the string +.I s +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcasechr () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer, if no such +offset exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strcasechr () +function cannot fail. +.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_strcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcasechr () +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_strcasechrnul (3), +.BR libsimple_strrcasechr (3), +.BR libsimple_strncasechr (3), +.BR libsimple_memcasechr (3), +.BR libsimple_inchrcaseset (3), +.BR strchr (3) diff --git a/man3/libsimple_strcasechrnul.3 b/man3/libsimple_strcasechrnul.3 new file mode 100644 index 0000000..d2098bb --- /dev/null +++ b/man3/libsimple_strcasechrnul.3 @@ -0,0 +1,78 @@ +.TH LIBSIMPLE_STRCASECHRNUL 3 2018-10-21 libsimple +.SH NAME +libsimple_strcasechrnul \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strcasechrnul(const char *\fIs\fP, int \fIc\fP); + +#ifndef strcasechrnul +# define strcasechrnul libsimple_strcasechrnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcasechrnul () +function scans the string +.I s +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcasechrnul () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c)||!*r , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_strcasechrnul () +function cannot fail. +.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_strcasechrnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcasechrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcasechrnul () +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_strcasechr (3), +.BR libsimple_strchrnul (3), +.BR libsimple_strncasechrnul (3), +.BR libsimple_inchrcaseset (3) diff --git a/man3/libsimple_strcasecmpnul.3 b/man3/libsimple_strcasecmpnul.3 new file mode 100644 index 0000000..2b0afe6 --- /dev/null +++ b/man3/libsimple_strcasecmpnul.3 @@ -0,0 +1,85 @@ +.TH LIBSIMPLE_STRCASECMPNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strcasecmpnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strcasecmpnul(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strcasecmpnul +# define strcasecmpnul libsimple_strcasecmpnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcasecmpnul () +function compares the strings +.I a +and +.IR b , +both of which may be +.BR NULL , +which is treated as less than the empty string. +.PP +If one of the strings begins with the other string +but is longer, the longer string is treated as +greater than the shorter string. +.PP +The comparison is case-insensitive and made as +if the strings were converted to lowercase and as +.BR "unsigned char *" s. +.SH RETURN VALUE +The +.BR libsimple_strcasecmpnul () +function returns a negative value if +.I a +is less than +.IR b , +a positive value if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_strcasecmpnul () +function cannot fail. +.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_strcasecmpnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcasecmpnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcasecmpnul () +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_strcmpnul (3), +.BR libsimple_strcaseeqnul (3), +.BR libsimple_strncasecmpnul (3), +.BR strcasecmp (3) diff --git a/man3/libsimple_strcaseends.3 b/man3/libsimple_strcaseends.3 new file mode 100644 index 0000000..f658699 --- /dev/null +++ b/man3/libsimple_strcaseends.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STRCASEENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_strcaseends \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strcaseends(const char *\fIs\fP, const char *\fIt\fP); + +#ifndef strcaseends +# define strcaseends libsimple_strcaseends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcaseends () +function checks whether the string +.I s +ends with the string +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcaseends () +function returns 1 if the string +.I s +ends with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strcaseends () +function cannot fail. +.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_strcaseends () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcaseends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcaseends () +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_strends (3), +.BR libsimple_strcasestarts (3), +.BR libsimple_strrcasestr (3), +.BR libsimple_strncaseends (3), +.BR libsimple_memcaseends (3) diff --git a/man3/libsimple_strcaseeq.3 b/man3/libsimple_strcaseeq.3 new file mode 100644 index 0000000..b1a25bd --- /dev/null +++ b/man3/libsimple_strcaseeq.3 @@ -0,0 +1,74 @@ +.TH LIBSIMPLE_STRCASEEQ 3 2018-10-23 libsimple +.SH NAME +libsimple_strcaseeq \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strcaseeq(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strcaseeq +# define strcaseeq libsimple_strcaseeq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcaseeq () +function compares the strings +.I a +and +.IR b , +neither of which may be +.BR NULL . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcaseeq () +function returns 1 if the strings are equals, +with the possible exception of the case, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strcaseeq () +function cannot fail. +.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_strcaseeq () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcaseeq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcaseeq () +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_strcaseeqnul (3), +.BR libsimple_streq (3), +.BR libsimple_strcaseeqlen (3), +.BR libsimple_strncaseeq (3), +.BR libsimple_memcaseeq (3), +.BR strcasecmp (3) diff --git a/man3/libsimple_strcaseeqlen.3 b/man3/libsimple_strcaseeqlen.3 new file mode 100644 index 0000000..6adba9c --- /dev/null +++ b/man3/libsimple_strcaseeqlen.3 @@ -0,0 +1,74 @@ +.TH LIBSIMPLE_STRCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strcaseeqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_strcaseeqlen(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strcaseeqlen +# define strcaseeqlen libsimple_strcaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcaseeqlen () +function scans the number of bytes the string +.I a +have in common the string +.I b +at their beginnings. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcaseeqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_strcaseeqlen () +function cannot fail. +.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_strcaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcaseeqlen () +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_strcaseeq (3), +.BR libsimple_streqlen (3), +.BR libsimple_strrcaseeqlen (3), +.BR libsimple_strncaseeqlen (3), +.BR libsimple_memcaseeqlen (3) diff --git a/man3/libsimple_strcaseeqnul.3 b/man3/libsimple_strcaseeqnul.3 new file mode 100644 index 0000000..fa26a17 --- /dev/null +++ b/man3/libsimple_strcaseeqnul.3 @@ -0,0 +1,74 @@ +.TH LIBSIMPLE_STRCASEEQNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strcaseeqnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strcaseeqnul(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strcaseeqnul +# define strcaseeqnul libsimple_strcaseeqnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcaseeqnul () +function compares the strings +.I a +and +.IR b , +both of which may be +.BR NULL . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcaseeqnul () +function returns 1 if the strings are equals, +with the possible exception of the case, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strcaseeqnul () +function cannot fail. +.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_strcaseeqnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcaseeqnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcaseeqnul () +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_strcaseeq (3), +.BR libsimple_streqnul (3), +.BR libsimple_strcasecmpnul (3), +.BR libsimple_strncaseeqnul (3), +.BR libsimple_memcaseeq (3), +.BR strcasecmp (3) diff --git a/man3/libsimple_strcasestarts.3 b/man3/libsimple_strcasestarts.3 new file mode 100644 index 0000000..0f9d689 --- /dev/null +++ b/man3/libsimple_strcasestarts.3 @@ -0,0 +1,75 @@ +.TH LIBSIMPLE_STRCASESTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_strcasestarts \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strcasestarts(const char *\fIs\fP, const char *\fIt\fP); + +#ifndef strcasestarts +# define strcasestarts libsimple_strcasestarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcasestarts () +function checks whether the string +.I s +starts with the string +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcasestarts () +function returns 1 if the string +.I s +begins with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strcasestarts () +function cannot fail. +.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_strcasestarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcasestarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcasestarts () +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_strstarts (3), +.BR libsimple_strcaseends (3), +.BR libsimple_strcasestr (3), +.BR libsimple_strncasestarts (3), +.BR libsimple_memcasestarts (3), +.BR strcasecmp (3), +.BR strncasecmp (3) diff --git a/man3/libsimple_strcasestr.3 b/man3/libsimple_strcasestr.3 new file mode 100644 index 0000000..8ee2c45 --- /dev/null +++ b/man3/libsimple_strcasestr.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRCASESTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strcasestr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strcasestr(const char *\fIhaystack\fP, const char *\fIneedle\fP); + +#ifndef strcasestr +# define strcasestr libsimple_strcasestr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcasestr () +function scans the string +.I haystack +the first occurrence of the substring +.IR needle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strcasestr () +function returns the pointer +.I haystack +with a minimal offset such that +.I !*r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strcasestr () +function cannot fail. +.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_strcasestr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcasestr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcasestr () +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_strrcasestr (3), +.BR libsimple_strncasestr (3), +.BR libsimple_memcasemem (3), +.BR strstr (3) diff --git a/man3/libsimple_strchrnul.3 b/man3/libsimple_strchrnul.3 new file mode 100644 index 0000000..2196933 --- /dev/null +++ b/man3/libsimple_strchrnul.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRCHRNUL 3 2018-10-21 libsimple +.SH NAME +libsimple_strchrnul \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strchrnul(const char *\fIs\fP, int \fIc\fP); + +#ifndef strchrnul +# define strchrnul libsimple_strchrnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strchrnul () +function scans the string +.I s +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strchrnul () +function returns the pointer +.I s +with a minimal offset such that +.IR *r==c||!*r , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_strchrnul () +function cannot fail. +.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_strchrnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strchrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strchrnul () +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_strcasechrnul (3), +.BR libsimple_strend (3), +.BR libsimple_strnchrnul (3), +.BR libsimple_inchrset (3), +.BR strchr (3) diff --git a/man3/libsimple_strcmpnul.3 b/man3/libsimple_strcmpnul.3 new file mode 100644 index 0000000..9f6ec47 --- /dev/null +++ b/man3/libsimple_strcmpnul.3 @@ -0,0 +1,85 @@ +.TH LIBSIMPLE_STRCMPNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strcmpnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strcmpnul(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strcmpnul +# define strcmpnul libsimple_strcmpnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strcmpnul () +function compares the strings +.I a +and +.IR b , +both of which may be +.BR NULL , +which is treated as less than the empty string. +.PP +If one of the strings begins with the other string +but is longer, the longer string is treated as +greater than the shorter string. +.PP +The comparison is case-sensitive and made as if +the strings were +.IR "unsigned char *" s. +.SH RETURN VALUE +The +.BR libsimple_strcmpnul () +function returns a negative value if +.I a +is less than +.IR b , +a positive value if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_strcmpnul () +function cannot fail. +.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_strcmpnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strcmpnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strcmpnul () +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_strcasecmpnul (3), +.BR libsimple_streqnul (3), +.BR libsimple_strncmpnul (3), +.BR strcmp (3) diff --git a/man3/libsimple_strdupa.3 b/man3/libsimple_strdupa.3 new file mode 120000 index 0000000..e8f7b76 --- /dev/null +++ b/man3/libsimple_strdupa.3 @@ -0,0 +1 @@ +libsimple_enstrdup.3
\ No newline at end of file diff --git a/man3/libsimple_strend.3 b/man3/libsimple_strend.3 new file mode 100644 index 0000000..adfdf6f --- /dev/null +++ b/man3/libsimple_strend.3 @@ -0,0 +1,70 @@ +.TH LIBSIMPLE_STREND 3 2018-10-23 libsimple +.SH NAME +libsimple_strend \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline char *libsimple_strend(const char *\fIs\fP); + +#ifndef strend +# define strend libsimple_strend +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strend () +function scans the string +.I s +for its end. +.SH RETURN VALUE +The +.BR libsimple_strend () +function returns the pointer +.I s +with an offset such that +.IR !*r , +where +.I r +is the returned pointer. +.SH ERRORS +The +.BR libsimple_strend () +function cannot fail. +.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_strend () +T} Thread safety MT-Safe +T{ +.BR libsimple_strend () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strend () +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_strchrnul (3), +.BR libsimple_strnend (3), +.BR strchr (3) diff --git a/man3/libsimple_strends.3 b/man3/libsimple_strends.3 new file mode 100644 index 0000000..9ab8b45 --- /dev/null +++ b/man3/libsimple_strends.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STRENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_strends \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strends(const char *\fIs\fP, const char *\fIt\fP); + +#ifndef strends +# define strends libsimple_strends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strends () +function checks whether the string +.I s +ends with the string +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strends () +function returns 1 if the string +.I s +ends with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strends () +function cannot fail. +.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_strends () +T} Thread safety MT-Safe +T{ +.BR libsimple_strends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strends () +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_strcaseends (3), +.BR libsimple_strstarts (3), +.BR libsimple_strrstr (3), +.BR libsimple_strnends (3), +.BR libsimple_memends (3) diff --git a/man3/libsimple_streq.3 b/man3/libsimple_streq.3 new file mode 100644 index 0000000..76c1779 --- /dev/null +++ b/man3/libsimple_streq.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STREQ 3 2018-10-23 libsimple +.SH NAME +libsimple_streq \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_streq(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef streq +# define streq libsimple_streq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_streq () +function compares the strings +.I a +and +.IR b , +neither of which may be +.BR NULL . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_streq () +function returns 1 if the strings are equals, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_streq () +function cannot fail. +.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_streq () +T} Thread safety MT-Safe +T{ +.BR libsimple_streq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_streq () +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_streqnul (3), +.BR libsimple_strcaseeq (3), +.BR libsimple_streqlen (3), +.BR libsimple_strneq (3), +.BR libsimple_memeq (3), +.BR strcmp (3) diff --git a/man3/libsimple_streqlen.3 b/man3/libsimple_streqlen.3 new file mode 100644 index 0000000..cb92bc6 --- /dev/null +++ b/man3/libsimple_streqlen.3 @@ -0,0 +1,74 @@ +.TH LIBSIMPLE_STREQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_streqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_streqlen(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef streqlen +# define streqlen libsimple_streqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_streqlen () +function scans the number of bytes the string +.I a +have in common the string +.I b +at their beginnings. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_streqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_streqlen () +function cannot fail. +.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_streqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_streqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_streqlen () +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_streq (3), +.BR libsimple_strreqlen (3), +.BR libsimple_strcaseeqlen (3), +.BR libsimple_strneqlen (3), +.BR libsimple_memeqlen (3) diff --git a/man3/libsimple_streqnul.3 b/man3/libsimple_streqnul.3 new file mode 100644 index 0000000..84ccf88 --- /dev/null +++ b/man3/libsimple_streqnul.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STREQNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_streqnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_streqnul(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef streqnul +# define streqnul libsimple_streqnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_streqnul () +function compares the strings +.I a +and +.IR b , +both of which may be +.BR NULL . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_streqnul () +function returns 1 if the strings are equals, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_streqnul () +function cannot fail. +.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_streqnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_streqnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_streqnul () +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_streq (3), +.BR libsimple_strcaseeqnul (3), +.BR libsimple_strcmpnul (3), +.BR libsimple_strneqnul (3), +.BR libsimple_memeq (3), +.BR strcmp (3) diff --git a/man3/libsimple_strisutf8.3 b/man3/libsimple_strisutf8.3 new file mode 100644 index 0000000..24dcd96 --- /dev/null +++ b/man3/libsimple_strisutf8.3 @@ -0,0 +1,74 @@ +.TH LIBSIMPLE_strisutf8 3 2018-11-05 libsimple +.SH NAME +libsimple_strisutf8 \- check if a string is encoded in UTF-8 +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strisutf8(const char *\fIstring\fP, int \fIallow_modified_nul\fP); + +#ifndef strisutf8 +# define strisutf8 libsimple_strisutf8 +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strisutf8 () +function checks if +.I string +is in valid UTF-8. If +.I allow_modified_nul +is non-zero, NUL encoded with 2 bytes is accepted. +.SH RETURN VALUE +The +.BR libsimple_strisutf8 () +returns 1 if the +.I string +is in valid UTF-8 (Modified UTF-8 if +.I allow_modified_nul +is non-zero); otherwise 0 is returned. +.SH ERRORS +The +.BR libsimple_strisutf8 () +function cannot fail. +.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_inchrset (), +.br +.BR libsimple_inchrcaseset () +T} Thread safety MT-Safe +T{ +.BR libsimple_inchrset (), +.br +.BR libsimple_strchrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_inchrset (), +.br +.BR libsimple_strchrnul () +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 +None. diff --git a/man3/libsimple_strncasechr.3 b/man3/libsimple_strncasechr.3 new file mode 100644 index 0000000..1a7716f --- /dev/null +++ b/man3/libsimple_strncasechr.3 @@ -0,0 +1,86 @@ +.TH LIBSIMPLE_STRNCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strncasechr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strncasechr(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strncasechr +# define strncasechr libsimple_strncasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncasechr () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncasechr () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer, if no such +offset less than +.I n +exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strncasechr () +function cannot fail. +.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_strncasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncasechr () +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_strncasechrnul (3), +.BR libsimple_strrncasechr (3), +.BR libsimple_strnchr (3), +.BR libsimple_strcasechr (3), +.BR libsimple_memcasechr (3) diff --git a/man3/libsimple_strncasechrnul.3 b/man3/libsimple_strncasechrnul.3 new file mode 100644 index 0000000..241b61a --- /dev/null +++ b/man3/libsimple_strncasechrnul.3 @@ -0,0 +1,85 @@ +.TH LIBSIMPLE_STRNCASECHRNUL 3 2018-10-21 libsimple +.SH NAME +libsimple_strncasechrnul \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strncasechrnul(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strncasechrnul +# define strncasechrnul libsimple_strncasechrnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncasechrnul () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncasechrnul () +function returns the pointer +.I s +with a minimal offset such that +.IR tolower(*r)==tolower(c)||!*r , +where +.I r +is the returned pointer. However if no such +offset less than +.I n +exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strncasechrnul () +function cannot fail. +.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_strncasechrnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncasechrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncasechrnul () +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_strncasechr (3), +.BR libsimple_strnchrnul (3), +.BR libsimple_strcasechrnul (3) diff --git a/man3/libsimple_strncasecmpnul.3 b/man3/libsimple_strncasecmpnul.3 new file mode 100644 index 0000000..959ea78 --- /dev/null +++ b/man3/libsimple_strncasecmpnul.3 @@ -0,0 +1,91 @@ +.TH LIBSIMPLE_STRNCASECMPNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strncasecmpnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strncasecmpnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strncasecmpnul +# define strncasecmpnul libsimple_strncasecmpnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncasecmpnul () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +both of which may be +.BR NULL , +which is treated as less than the empty string. +.PP +If one of the strings begins with the other string +but is longer, the longer string is treated as +greater than the shorter string. +.PP +The comparison is case-insensitive and made as +if the strings were converted to lowercase and as +.BR "unsigned char *" s. +.SH RETURN VALUE +The +.BR libsimple_strncasecmpnul () +function returns a negative value if +.I a +is less than +.IR b , +a positive value if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_strncasecmpnul () +function cannot fail. +.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_strncasecmpnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncasecmpnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncasecmpnul () +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_strncmpnul (3), +.BR libsimple_strncaseeqnul (3), +.BR libsimple_strcasecmpnul (3), +.BR strncasecmp (3) diff --git a/man3/libsimple_strncaseends.3 b/man3/libsimple_strncaseends.3 new file mode 100644 index 0000000..5bdc0d9 --- /dev/null +++ b/man3/libsimple_strncaseends.3 @@ -0,0 +1,76 @@ +.TH LIBSIMPLE_STRNCASEENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_strncaseends \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strncaseends(const char *\fIs\fP, const char *\fIt\fP, size_t \fIn\fP); + +#ifndef strncaseends +# define strncaseends libsimple_strncaseends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncaseends () +function checks whether the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +ends with the string +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncaseends () +function returns 1 if the string +.I s +ends with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strncaseends () +function cannot fail. +.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_strncaseends () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncaseends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncaseends () +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_strnends (3), +.BR libsimple_strncasestarts (3), +.BR libsimple_strrncasestr (3), +.BR libsimple_strcaseends (3), +.BR libsimple_memcaseends (3) diff --git a/man3/libsimple_strncaseeq.3 b/man3/libsimple_strncaseeq.3 new file mode 100644 index 0000000..55c2f79 --- /dev/null +++ b/man3/libsimple_strncaseeq.3 @@ -0,0 +1,80 @@ +.TH LIBSIMPLE_STRNCASEEQ 3 2018-10-23 libsimple +.SH NAME +libsimple_strncaseeq \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strncaseeq(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strncaseeq +# define strncaseeq libsimple_strncaseeq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncaseeq () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +neither of which may be +.BR NULL . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncaseeq () +function returns 1 if the strings are equals, +with the possible exception of the case, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strncaseeq () +function cannot fail. +.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_strncaseeq () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncaseeq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncaseeq () +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_strncaseeqnul (3), +.BR libsimple_strneq (3), +.BR libsimple_strncaseeqlen (3), +.BR libsimple_strcaseeq (3), +.BR libsimple_memcaseeq (3), +.BR strncasecmp (3) diff --git a/man3/libsimple_strncaseeqlen.3 b/man3/libsimple_strncaseeqlen.3 new file mode 100644 index 0000000..8fbc236 --- /dev/null +++ b/man3/libsimple_strncaseeqlen.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRNCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strncaseeqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_strncaseeqlen(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strncaseeqlen +# define strncaseeqlen libsimple_strncaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncaseeqlen () +function scans the number of bytes the string +.IR a , +truncated to +.I n +bytes unless it is shorter, +have in common the string +.IR b , +truncated to +.I n +bytes unless it is shorter, +at their beginnings. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncaseeqlen () +function returns the number of bytes +.I a +and +.I b +(both truncated to +.I n +bytes) have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_strncaseeqlen () +function cannot fail. +.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_strncaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncaseeqlen () +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_strcaseeq (3), +.BR libsimple_streqlen (3), +.BR libsimple_strrcaseeqlen (3), +.BR libsimple_strcaseeqlen (3), +.BR libsimple_memcaseeqlen (3) diff --git a/man3/libsimple_strncaseeqnul.3 b/man3/libsimple_strncaseeqnul.3 new file mode 100644 index 0000000..743d4be --- /dev/null +++ b/man3/libsimple_strncaseeqnul.3 @@ -0,0 +1,80 @@ +.TH LIBSIMPLE_STRNCASEEQNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strncaseeqnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strncaseeqnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strncaseeqnul +# define strncaseeqnul libsimple_strncaseeqnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncaseeqnul () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +both of which may be +.BR NULL . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncaseeqnul () +function returns 1 if the strings are equals, +with the possible exception of the case, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strncaseeqnul () +function cannot fail. +.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_strncaseeqnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncaseeqnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncaseeqnul () +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_strncaseeq (3), +.BR libsimple_strneqnul (3), +.BR libsimple_strncasecmpnul (3), +.BR libsimple_strcaseeqnul (3), +.BR libsimple_memcaseeq (3), +.BR strncasecmp (3) diff --git a/man3/libsimple_strncasestarts.3 b/man3/libsimple_strncasestarts.3 new file mode 100644 index 0000000..b1efd80 --- /dev/null +++ b/man3/libsimple_strncasestarts.3 @@ -0,0 +1,77 @@ +.TH LIBSIMPLE_STRNCASESTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_strncasestarts \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strncasestarts(const char *\fIs\fP, const char *\fIt\fP, size_t \fIn\fP); + +#ifndef strncasestarts +# define strncasestarts libsimple_strncasestarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncasestarts () +function checks whether the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +starts with the string +.IR t . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncasestarts () +function returns 1 if the string +.I s +begins with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strncasestarts () +function cannot fail. +.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_strncasestarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncasestarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncasestarts () +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_strnstarts (3), +.BR libsimple_strncaseends (3), +.BR libsimple_strncasestr (3), +.BR libsimple_strcasestarts (3), +.BR libsimple_memcasestarts (3), +.BR strncasecmp (3) diff --git a/man3/libsimple_strncasestr.3 b/man3/libsimple_strncasestr.3 new file mode 100644 index 0000000..0235f7c --- /dev/null +++ b/man3/libsimple_strncasestr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRNCASESTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strncasestr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strncasestr(const char *\fIhaystack\fP, const char *\fIneedle\fP), size_t \fIn\fP; + +#ifndef strncasestr +# define strncasestr libsimple_strncasestr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncasestr () +function scans the string +.IR haystack , +truncated to +.I n +bytes unless it is shorter, +the first occurrence of the substring +.IR needle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strncasestr () +function returns the pointer +.I haystack +with a minimal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strncasestr () +function cannot fail. +.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_strncasestr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncasestr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncasestr () +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_strrncasestr (3), +.BR libsimple_strnstr (3), +.BR libsimple_strcasestr (3), +.BR libsimple_memcasemem (3) diff --git a/man3/libsimple_strnchr.3 b/man3/libsimple_strnchr.3 new file mode 100644 index 0000000..2af62c3 --- /dev/null +++ b/man3/libsimple_strnchr.3 @@ -0,0 +1,86 @@ +.TH LIBSIMPLE_STRNCHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strnchr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strnchr(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strnchr +# define strnchr libsimple_strnchr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnchr () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strnchr () +function returns the pointer +.I s +with a minimal offset such that +.IR *r==c , +where +.I r +is the returned pointer, if no such +offset less than +.I n +exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strnchr () +function cannot fail. +.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_strnchr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnchr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnchr () +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_strnchrnul (3), +.BR libsimple_strncasechr (3), +.BR libsimple_strrnchr (3) +.BR strchr (3), +.BR memchr (3), diff --git a/man3/libsimple_strnchrnul.3 b/man3/libsimple_strnchrnul.3 new file mode 100644 index 0000000..ae0b994 --- /dev/null +++ b/man3/libsimple_strnchrnul.3 @@ -0,0 +1,86 @@ +.TH LIBSIMPLE_STRNCHRNUL 3 2018-10-21 libsimple +.SH NAME +libsimple_strnchrnul \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strnchrnul(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strnchrnul +# define strnchrnul libsimple_strnchrnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnchrnul () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the first occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strnchrnul () +function returns the pointer +.I s +with a minimal offset such that +.IR *r==c||!*r , +where +.I r +is the returned pointer. However if no such +offset less than +.I n +exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strnchrnul () +function cannot fail. +.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_strnchrnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnchrnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnchrnul () +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. I promise! +.SH SEE ALSO +.BR libsimple_strncasechrnul (3), +.BR libsimple_strnchr (3), +.BR libsimple_strnend (3), +.BR libsimple_strchrnul (3) diff --git a/man3/libsimple_strncmpnul.3 b/man3/libsimple_strncmpnul.3 new file mode 100644 index 0000000..f53dc8c --- /dev/null +++ b/man3/libsimple_strncmpnul.3 @@ -0,0 +1,91 @@ +.TH LIBSIMPLE_STRNCMPNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strncmpnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strncmpnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strncmpnul +# define strncmpnul libsimple_strncmpnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strncmpnul () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +both of which may be +.BR NULL , +which is treated as less than the empty string. +.PP +If one of the strings begins with the other string +but is longer, the longer string is treated as +greater than the shorter string. +.PP +The comparison is case-sensitive and made as if +the strings were +.BR "unsigned char *" s. +.SH RETURN VALUE +The +.BR libsimple_strncmpnul () +function returns a negative value if +.I a +is less than +.IR b , +a positive value if +.I a +is greater than +.IR b , +and 0 otherwise. +.SH ERRORS +The +.BR libsimple_strncmpnul () +function cannot fail. +.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_strncmpnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strncmpnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strncmpnul () +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_strncasecmpnul (3), +.BR libsimple_strneqnul (3), +.BR libsimple_strcmpnul (3), +.BR strncmp (3) diff --git a/man3/libsimple_strndupa.3 b/man3/libsimple_strndupa.3 new file mode 120000 index 0000000..e2011e0 --- /dev/null +++ b/man3/libsimple_strndupa.3 @@ -0,0 +1 @@ +libsimple_enstrndup.3
\ No newline at end of file diff --git a/man3/libsimple_strnend.3 b/man3/libsimple_strnend.3 new file mode 100644 index 0000000..26ed564 --- /dev/null +++ b/man3/libsimple_strnend.3 @@ -0,0 +1,78 @@ +.TH LIBSIMPLE_STRNEND 3 2018-10-23 libsimple +.SH NAME +libsimple_strnend \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline char *libsimple_strnend(const char *\fIs\fP, size_t \fIn\fP); + +#ifndef strnend +# define strnend libsimple_strnend +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnend () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for its end. +.SH RETURN VALUE +The +.BR libsimple_strnend () +function returns the pointer +.I s +with an offset such that +.IR !*r , +where +.I r +is the returned pointer. However, +if no such offset less than +.I n +exists, +.I &s[n] +is returned. +.SH ERRORS +The +.BR libsimple_strnend () +function cannot fail. +.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_strnend () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnend () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnend () +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_strnchrnul (3), +.BR libsimple_strnchr (3), +.BR libsimple_strend (3) diff --git a/man3/libsimple_strnends.3 b/man3/libsimple_strnends.3 new file mode 100644 index 0000000..a733b6b --- /dev/null +++ b/man3/libsimple_strnends.3 @@ -0,0 +1,76 @@ +.TH LIBSIMPLE_STRNENDS 3 2018-10-23 libsimple +.SH NAME +libsimple_strnends \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strnends(const char *\fIs\fP, const char *\fIt\fP, size_t \fIn\fP); + +#ifndef strnends +# define strnends libsimple_strnends +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnends () +function checks whether the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +ends with the string +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strnends () +function returns 1 if the string +.I s +ends with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strnends () +function cannot fail. +.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_strnends () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnends () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnends () +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_strncaseends (3), +.BR libsimple_strnstarts (3), +.BR libsimple_strrnstr (3), +.BR libsimple_strends (3), +.BR libsimple_memends (3) diff --git a/man3/libsimple_strneq.3 b/man3/libsimple_strneq.3 new file mode 100644 index 0000000..a315870 --- /dev/null +++ b/man3/libsimple_strneq.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRNEQ 3 2018-10-23 libsimple +.SH NAME +libsimple_strneq \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strneq(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strneq +# define strneq libsimple_strneq +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strneq () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +neither of which may be +.BR NULL . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strneq () +function returns 1 if the strings are equals, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strneq () +function cannot fail. +.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_strneq () +T} Thread safety MT-Safe +T{ +.BR libsimple_strneq () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strneq () +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_strneqnul (3), +.BR libsimple_strncaseeq (3), +.BR libsimple_strneqlen (3), +.BR libsimple_streq (3), +.BR libsimple_memeq (3), +.BR strncmp (3) diff --git a/man3/libsimple_strneqlen.3 b/man3/libsimple_strneqlen.3 new file mode 100644 index 0000000..df01480 --- /dev/null +++ b/man3/libsimple_strneqlen.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRNEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strneqlen \- check initial commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +size_t libsimple_strneqlen(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strneqlen +# define strneqlen libsimple_strneqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strneqlen () +function scans the number of bytes the string +.IR a , +truncated to +.I n +bytes unless it is shorter, +have in common the string +.IR b , +truncated to +.I n +bytes unless it is shorter, +at their beginnings. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strneqlen () +function returns the number of bytes +.I a +and +.I b +(both truncated to +.I n +bytes) have in common at their beginnings. +.SH ERRORS +The +.BR libsimple_strneqlen () +function cannot fail. +.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_strneqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strneqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strneqlen () +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_streq (3), +.BR libsimple_strreqlen (3), +.BR libsimple_strcaseeqlen (3), +.BR libsimple_streqlen (3), +.BR libsimple_memeqlen (3) diff --git a/man3/libsimple_strneqnul.3 b/man3/libsimple_strneqnul.3 new file mode 100644 index 0000000..610844b --- /dev/null +++ b/man3/libsimple_strneqnul.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRNEQNUL 3 2018-10-23 libsimple +.SH NAME +libsimple_strneqnul \- compare two strings +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_strneqnul(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strneqnul +# define strneqnul libsimple_strneqnul +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strneqnul () +function compares the strings +.IR a , +truncated to +.I n +bytes unless it is shorter, +and +.IR b , +truncated to +.I n +bytes unless it is shorter, +both of which may be +.BR NULL . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strneqnul () +function returns 1 if the strings are equals, +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strneqnul () +function cannot fail. +.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_strneqnul () +T} Thread safety MT-Safe +T{ +.BR libsimple_strneqnul () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strneqnul () +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_strneq (3), +.BR libsimple_strncaseeqnul (3), +.BR libsimple_strncmpnul (3), +.BR libsimple_streqnul (3), +.BR libsimple_memeq (3), +.BR strncmp (3) diff --git a/man3/libsimple_strnstarts.3 b/man3/libsimple_strnstarts.3 new file mode 100644 index 0000000..4f084ea --- /dev/null +++ b/man3/libsimple_strnstarts.3 @@ -0,0 +1,77 @@ +.TH LIBSIMPLE_STRNSTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_strnstarts \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strnstarts(const char *\fIs\fP, const char *\fIt\fP, size_t \fIn\fP); + +#ifndef strnstarts +# define strnstarts libsimple_strnstarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnstarts () +function checks whether the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +starts with the string +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strnstarts () +function returns 1 if the string +.I s +begins with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strnstarts () +function cannot fail. +.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_strnstarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnstarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnstarts () +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_strncasestarts (3), +.BR libsimple_strnends (3), +.BR libsimple_strstarts (3), +.BR libsimple_memstarts (3), +.BR strnstr (3), +.BR strncmp (3) diff --git a/man3/libsimple_strnstr.3 b/man3/libsimple_strnstr.3 new file mode 100644 index 0000000..dca50bb --- /dev/null +++ b/man3/libsimple_strnstr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRNSTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strnstr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strnstr(const char *\fIhaystack\fP, const char *\fIneedle\fP, size_t \fIn\fP); + +#ifndef strnstr +# define strnstr libsimple_strnstr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strnstr () +function scans the string +.IR haystack , +truncated to +.I n +bytes unless it is shorter, +the first occurrence of the substring +.IR needle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strnstr () +function returns the pointer +.I haystack +with a minimal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strnstr () +function cannot fail. +.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_strnstr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strnstr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strnstr () +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_strrnstr (3), +.BR libsimple_strncasestr (3) +.BR libsimple_memmem (3), +.BR strstr (3) diff --git a/man3/libsimple_strrcasechr.3 b/man3/libsimple_strrcasechr.3 new file mode 100644 index 0000000..34475b6 --- /dev/null +++ b/man3/libsimple_strrcasechr.3 @@ -0,0 +1,80 @@ +.TH LIBSIMPLE_STRRCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrcasechr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrcasechr(const char *\fIs\fP, int \fIc\fP); + +#ifndef strrcasechr +# define strrcasechr libsimple_strrcasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrcasechr () +function scans the string +.I s +for the last occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrcasechr () +function returns the pointer +.I s +with a maximal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer, if no such +offset exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strrcasechr () +function cannot fail. +.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_strrcasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrcasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrcasechr () +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_strcasechr (3), +.BR libsimple_strrncasechr (3), +.BR libsimple_memrcasechr (3), +.BR strrchr (3) diff --git a/man3/libsimple_strrcaseeqlen.3 b/man3/libsimple_strrcaseeqlen.3 new file mode 100644 index 0000000..551debe --- /dev/null +++ b/man3/libsimple_strrcaseeqlen.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STRRCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strrcaseeqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline size_t libsimple_strrcaseeqlen(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strrcaseeqlen +# define strrcaseeqlen libsimple_strrcaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrcaseeqlen () +function scans the number of bytes the string +.I a +have in common the string +.I b +at their ends. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrcaseeqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their ends. +.SH ERRORS +The +.BR libsimple_strrcaseeqlen () +function cannot fail. +.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_strrcaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrcaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrcaseeqlen () +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_strreqlen (3), +.BR libsimple_strcaseeqlen (3), +.BR libsimple_strrncaseeqlen (3), +.BR libsimple_memrcaseeqlen (3) diff --git a/man3/libsimple_strrcasestr.3 b/man3/libsimple_strrcasestr.3 new file mode 100644 index 0000000..a2844b5 --- /dev/null +++ b/man3/libsimple_strrcasestr.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRRCASESTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrcasestr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrcasestr(const char *\fIhaystack\fP, const char *\fIneedle\fP); + +#ifndef strrcasestr +# define strrcasestr libsimple_strrcasestr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrcasestr () +function scans the string +.I haystack +the last occurrence of the substring +.IR needle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrcasestr () +function returns the pointer +.I haystack +with a maximal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strrcasestr () +function cannot fail. +.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_strrcasestr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrcasestr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrcasestr () +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_strrstr (3), +.BR libsimple_strcasestr (3), +.BR libsimple_strrncasestr (3), +.BR libsimple_memrcasemem (3) diff --git a/man3/libsimple_strreqlen.3 b/man3/libsimple_strreqlen.3 new file mode 100644 index 0000000..3fa4105 --- /dev/null +++ b/man3/libsimple_strreqlen.3 @@ -0,0 +1,73 @@ +.TH LIBSIMPLE_STRREQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strreqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline size_t libsimple_strreqlen(const char *\fIa\fP, const char *\fIb\fP); + +#ifndef strreqlen +# define strreqlen libsimple_strreqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strreqlen () +function scans the number of bytes the string +.I a +have in common the string +.I b +at their ends. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strreqlen () +function returns the number of bytes +.I a +and +.I b +have in common at their ends. +.SH ERRORS +The +.BR libsimple_strreqlen () +function cannot fail. +.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_strreqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strreqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strreqlen () +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_strreqlen (3), +.BR libsimple_streqlen (3), +.BR libsimple_strrneqlen (3), +.BR libsimple_memreqlen (3) diff --git a/man3/libsimple_strrncasechr.3 b/man3/libsimple_strrncasechr.3 new file mode 100644 index 0000000..9d70548 --- /dev/null +++ b/man3/libsimple_strrncasechr.3 @@ -0,0 +1,85 @@ +.TH LIBSIMPLE_STRRNCASECHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrncasechr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrncasechr(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strrncasechr +# define strrncasechr libsimple_strrncasechr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrncasechr () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the last occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrncasechr () +function returns the pointer +.I s +with a maximal offset such that +.IR tolower(*r)==tolower(c) , +where +.I r +is the returned pointer, if no such +offset less than +.I n +exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strrncasechr () +function cannot fail. +.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_strrncasechr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrncasechr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrncasechr () +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_strncasechr (3), +.BR libsimple_strrnchr (3), +.BR libsimple_strrcasechr (3), +.BR libsimple_memrcasechr (3) diff --git a/man3/libsimple_strrncaseeqlen.3 b/man3/libsimple_strrncaseeqlen.3 new file mode 100644 index 0000000..d938154 --- /dev/null +++ b/man3/libsimple_strrncaseeqlen.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_STRRNCASEEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strrncaseeqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline size_t libsimple_strrncaseeqlen(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strrncaseeqlen +# define strrncaseeqlen libsimple_strrncaseeqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrncaseeqlen () +function scans the number of bytes the string +.IR a , +truncated to +.I n +bytes unless it is shorter, +have in common the string +.IR b , +truncated to +.I n +bytes unless it is shorter, +at their ends. +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrncaseeqlen () +function returns the number of bytes +.I a +and +.I b +(both truncated to +.I n +bytes) have in common at their ends. +.SH ERRORS +The +.BR libsimple_strrncaseeqlen () +function cannot fail. +.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_strrncaseeqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrncaseeqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrncaseeqlen () +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_strrneqlen (3), +.BR libsimple_strncaseeqlen (3), +.BR libsimple_strrcaseeqlen (3), +.BR libsimple_memrcaseeqlen (3) diff --git a/man3/libsimple_strrncasestr.3 b/man3/libsimple_strrncasestr.3 new file mode 100644 index 0000000..dcf48b5 --- /dev/null +++ b/man3/libsimple_strrncasestr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRRNCASESTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrncasestr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrncasestr(const char *\fIhaystack\fP, const char *\fIneedle\fP, size_t \fIn\fP); + +#ifndef strrncasestr +# define strrncasestr libsimple_strrncasestr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrncasestr () +function scans the string +.IR haystack , +truncated to +.I n +bytes unless it is shorter, +the last occurrence of the substring +.IR needle . +.PP +The comparison is case-insensitive. +.SH RETURN VALUE +The +.BR libsimple_strrncasestr () +function returns the pointer +.I haystack +with a maximal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strrncasestr () +function cannot fail. +.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_strrncasestr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrncasestr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrncasestr () +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_strrnstr (3), +.BR libsimple_strncasestr (3), +.BR libsimple_strrcasestr (3), +.BR libsimple_memrcasemem (3) diff --git a/man3/libsimple_strrnchr.3 b/man3/libsimple_strrnchr.3 new file mode 100644 index 0000000..f01025d --- /dev/null +++ b/man3/libsimple_strrnchr.3 @@ -0,0 +1,85 @@ +.TH LIBSIMPLE_STRRNCHR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrnchr \- find a character in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrnchr(const char *\fIs\fP, int \fIc\fP, size_t \fIn\fP); + +#ifndef strrnchr +# define strrnchr libsimple_strrnchr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrnchr () +function scans the string +.IR s , +truncated to +.I n +bytes unless it is shorter, +for the last occurence of the character +.I c +(it is converted to a +.BR char ). +If no such character exist in the string, +the string's end is returned. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strrnchr () +function returns the pointer +.I s +with a maximal offset such that +.IR *r==c , +where +.I r +is the returned pointer, if no such +offset less than +.I n +exists, it returns +.BR NULL . +.SH ERRORS +The +.BR libsimple_strrnchr () +function cannot fail. +.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_strrnchr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrnchr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrnchr () +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_strrncasechr (3), +.BR libsimple_strnchr (3), +.BR libsimple_strrchr (3), +.BR libsimple_memrchr (3) diff --git a/man3/libsimple_strrneqlen.3 b/man3/libsimple_strrneqlen.3 new file mode 100644 index 0000000..6828fa0 --- /dev/null +++ b/man3/libsimple_strrneqlen.3 @@ -0,0 +1,81 @@ +.TH LIBSIMPLE_STRRNEQLEN 3 2018-10-23 libsimple +.SH NAME +libsimple_strrneqlen \- check terminal commonality +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline size_t libsimple_strrneqlen(const char *\fIa\fP, const char *\fIb\fP, size_t \fIn\fP); + +#ifndef strrneqlen +# define strrneqlen libsimple_strrneqlen +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrneqlen () +function scans the number of bytes the string +.IR a , +truncated to +.I n +bytes unless it is shorter, +have in common the string +.IR b , +truncated to +.I n +bytes unless it is shorter, +at their ends. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strrneqlen () +function returns the number of bytes +.I a +and +.I b +(both truncated to +.I n +bytes) have in common at their ends. +.SH ERRORS +The +.BR libsimple_strrneqlen () +function cannot fail. +.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_strrneqlen () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrneqlen () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrneqlen () +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_strrneqlen (3), +.BR libsimple_strneqlen (3), +.BR libsimple_strreqlen (3), +.BR libsimple_memreqlen (3) diff --git a/man3/libsimple_strrnstr.3 b/man3/libsimple_strrnstr.3 new file mode 100644 index 0000000..9e95196 --- /dev/null +++ b/man3/libsimple_strrnstr.3 @@ -0,0 +1,82 @@ +.TH LIBSIMPLE_STRRNSTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrnstr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrnstr(const char *\fIhaystack\fP, const char *\fIneedle\fP, size_t \fIn\fP); + +#ifndef strrnstr +# define strrnstr libsimple_strrnstr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrnstr () +function scans the string +.IR haystack , +truncated to +.I n +bytes unless it is shorter, +the last occurrence of the substring +.IR needle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strrnstr () +function returns the pointer +.I haystack +with a maximal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strrnstr () +function cannot fail. +.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_strrnstr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrnstr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrnstr () +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_strrncasestr (3), +.BR libsimple_strnstr (3), +.BR libsimple_strrstr (3), +.BR libsimple_memrmem (3) diff --git a/man3/libsimple_strrstr.3 b/man3/libsimple_strrstr.3 new file mode 100644 index 0000000..c3c16b7 --- /dev/null +++ b/man3/libsimple_strrstr.3 @@ -0,0 +1,79 @@ +.TH LIBSIMPLE_STRRSTR 3 2018-10-23 libsimple +.SH NAME +libsimple_strrstr \- find a substring in a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_strrstr(const char *\fIhaystack\fP, const char *\fIneedle\fP); + +#ifndef strrstr +# define strrstr libsimple_strrstr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strrstr () +function scans the string +.I haystack +the last occurrence of the substring +.IR needle . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strrstr () +function returns the pointer +.I haystack +with a maximal offset such that +.I r +begins with +.IR needle , +where +.I r +is the returned pointer. +If no such offset exists, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_strrstr () +function cannot fail. +.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_strrstr () +T} Thread safety MT-Safe +T{ +.BR libsimple_strrstr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strrstr () +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_strrcasestr (3), +.BR libsimple_strrnstr (3), +.BR libsimple_memrmem (3), +.BR strstr (3) diff --git a/man3/libsimple_strstarts.3 b/man3/libsimple_strstarts.3 new file mode 100644 index 0000000..fbd3412 --- /dev/null +++ b/man3/libsimple_strstarts.3 @@ -0,0 +1,75 @@ +.TH LIBSIMPLE_STRSTARTS 3 2018-10-23 libsimple +.SH NAME +libsimple_strstarts \- check the beginning of a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strstarts(const char *\fIs\fP, const char *\fIt\fP); + +#ifndef strstarts +# define strstarts libsimple_strstarts +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strstarts () +function checks whether the string +.I s +starts with the string +.IR t . +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_strstarts () +function returns 1 if the string +.I s +begins with the string +.IR t , +otherwise it returns 0. +.SH ERRORS +The +.BR libsimple_strstarts () +function cannot fail. +.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_strstarts () +T} Thread safety MT-Safe +T{ +.BR libsimple_strstarts () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strstarts () +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_strcasestarts (3), +.BR libsimple_strends (3), +.BR libsimple_strnstarts (3), +.BR libsimple_memstarts (3), +.BR strstr (3), +.BR strcmp (3), +.BR strncmp (3) diff --git a/man3/libsimple_strtotimespec.3 b/man3/libsimple_strtotimespec.3 new file mode 100644 index 0000000..85ff88b --- /dev/null +++ b/man3/libsimple_strtotimespec.3 @@ -0,0 +1,133 @@ +.TH LIBSIMPLE_STRTOTIMESPEC 3 2018-10-31 libsimple +.SH NAME +libsimple_strtotimespec, libsimple_strtotimeval \- convert a string to a duration data structure +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_strtotimespec(struct timespec *restrict \fIts\fP, const char *\fIs\fP, char **\fIend\fP); +int libsimple_strtotimeval(struct timeval *restrict \fItv\fP, const char *\fIs\fP, char **\fIend\fP); + +#ifndef strtotimespec +# define strtotimespec libsimple_strtotimespec +#endif +#ifndef strtotimeval +# define strtotimeval libsimple_strtotimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_strtotimespec () +and +.BR libsimple_strtotimeval () +functions will parse the string +.IR s , +representing a real value of number of seconds, +and store the value in +.I ts +and +.R tv +respectively, rounding to the nearest nanosecond +(for the +.BR libsimple_strtotimespec ()) +or microsecond +(for the +.BR libsimple_strtotimeval ()). +These functions will ignore any leading whitespace +and byte where the parsing stopped, as +.I s +with an offset, to +.IR end . +The parsed part of +.I s +must contain atleast one digit and be on the +format +.BR [+-]\e?[0-9]*\e(\e.[0-9]*\e(\e.[0-9]*\e|([0-9]*)\e)\e?\e)\e? . +where the digits in +.BR \e2 , +if any, are repeating decimals and must contain atleast +one digit if it is included. +.SH RETURN VALUE +The +.BR libsimple_strtotimespec () +and +.BR libsimple_strtotimeval () +functions return 0 upon successful completion; +otherwise \-1 is returned. +.SH ERRORS +The +.BR libsimple_strtotimespec () +and +.BR libsimple_strtotimeval () +functions fail if: +.TP +.B EINVAL +.I s +does not represent a real value in a recognised format. +.I *end +will not be set. +.TP +.B ERANGE +The result is too large or too small to be store. Either +.I *ts +will be set to +.I {.tv_sec=TIME_MAX,.tv_nsec=999999999L} +and +.I *tv +set to +.I {.tv_sec=TIME_MAX,.tv_usec=999999L} +(if the result is too large) or to +.I {.tv_sec=TIME_MIN,.tv_nsec=0L} +and +.I {.tv_sec=TIME_MIN,.tv_usec=0L} +(if the result is too small). +.I *end +will be set. +.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_strtotimespec () +.br +.BR libsimple_strtotimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_strtotimespec () +.br +.BR libsimple_strtotimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_strtotimespec () +.br +.BR libsimple_strtotimeval () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_strtotimeval.3 b/man3/libsimple_strtotimeval.3 new file mode 120000 index 0000000..9bc7f8b --- /dev/null +++ b/man3/libsimple_strtotimeval.3 @@ -0,0 +1 @@ +libsimple_strtotimespec.3
\ No newline at end of file diff --git a/man3/libsimple_sumtimespec.3 b/man3/libsimple_sumtimespec.3 new file mode 100644 index 0000000..81632b8 --- /dev/null +++ b/man3/libsimple_sumtimespec.3 @@ -0,0 +1,115 @@ +.TH LIBSIMPLE_SUMTIMESPEC 3 2018-10-29 libsimple +.SH NAME +libsimple_sumtimespec, libsimple_sumtimeval \- calculate the sum of two durations +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_sumtimespec(struct timespec *\fIsum\fP, const struct timespec *\fIaugend\fP, const struct timespec *\fIaddend\fP); +int libsimple_sumtimeval(struct timeval *\fIsum\fP, const struct timeval *\fIaugend\fP, const struct timeval *\fIaddend\fP); + +#ifndef sumtimespec +# define sumtimespec libsimple_sumtimespec +#endif +#ifndef sumtimeval +# define sumtimeval libsimple_sumtimeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_sumtimespec () +and +.BR libsimple_sumtimeval () +functions calculates the sum of +.I augend +and +.I addend +and stores the result in +.IR sum . +.SH RETURN VALUE +The +.BR libsimple_sumtimespec () +and +.BR libsimple_sumtimeval () +functions return 0 on successful completion; +otherwise, \-1 is returned and +.I errno +is set to indicate the error. +.SH ERRORS +The +.BR libsimple_sumtimespec () +and +.BR libsimple_sumtimeval () +functions fail if: +.TP +.B ERANGE +The result is too large or too small to be stored; if the +result is too large +.I *sum +will be set to +.I {.tv_sec=TIME_MAX,.tv_nsec=999999999L} +for the +.BR libsimple_sumtimespec () +function and to +.I {.tv_sec=TIME_MAX,.tv_usec=999999L} +for the +.BR libsimple_sumtimeval () +function, if the result is too small +.I *sum +will be set to +.I {.tv_sec=TIME_MIN,.tv_nsec=0} +for the +.BR libsimple_sumtimespec () +function and to +.I {.tv_sec=TIME_MIN,.tv_usec=0} +for the +.BR libsimple_sumtimeval () +function. +.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_sumtimespec () +.br +.BR libsimple_sumtimeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_sumtimespec () +.br +.BR libsimple_sumtimeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_sumtimespec () +.br +.BR libsimple_sumtimeval () +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_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_sumtimeval.3 b/man3/libsimple_sumtimeval.3 new file mode 120000 index 0000000..2bfd9e9 --- /dev/null +++ b/man3/libsimple_sumtimeval.3 @@ -0,0 +1 @@ +libsimple_sumtimespec.3
\ No newline at end of file diff --git a/man3/libsimple_timespec2timeval.3 b/man3/libsimple_timespec2timeval.3 new file mode 120000 index 0000000..ea39fdf --- /dev/null +++ b/man3/libsimple_timespec2timeval.3 @@ -0,0 +1 @@ +libsimple_timeval2timespec.3
\ No newline at end of file diff --git a/man3/libsimple_timespectodouble.3 b/man3/libsimple_timespectodouble.3 new file mode 100644 index 0000000..fddc899 --- /dev/null +++ b/man3/libsimple_timespectodouble.3 @@ -0,0 +1,90 @@ +.TH LIBSIMPLE_TIMESPECTODOUBLE 3 2018-10-30 libsimple +.SH NAME +libsimple_timespectodouble, libsimple_timevaltodouble \- convert a duration data structure to a double +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline double libsimple_timespectodouble(const struct timespec *\fIts\fP); +static inline double libsimple_timevaltodouble(const struct timeval *\fItv\fP); + +#ifndef timespectodouble +# define timespectodouble libsimple_timespectodouble +#endif +#ifndef timevaltodouble +# define timevaltodouble libsimple_timevaltodouble +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_timespectodouble () +and +.BR libsimple_timevaltodouble () +functions convert +.I ts +and +.IR tv , +respectively, to a +.B double +and return the result. +.SH RETURN VALUE +The +.BR libsimple_timespectodouble () +and +.BR libsimple_timevaltodouble () +functions return the input argument as a +.BR double . +.SH ERRORS +The +.BR libsimple_timespectodouble () +and +.BR libsimple_timevaltodouble () +functions cannot fail. +.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_timespectodouble () +.br +.BR libsimple_timevaltodouble () +T} Thread safety MT-Safe +T{ +.BR libsimple_timespectodouble () +.br +.BR libsimple_timevaltodouble () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_timespectodouble () +.br +.BR libsimple_timevaltodouble () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_timespectostr.3 b/man3/libsimple_timespectostr.3 new file mode 100644 index 0000000..d6e2b71 --- /dev/null +++ b/man3/libsimple_timespectostr.3 @@ -0,0 +1,145 @@ +.TH LIBSIMPLE_TIMESPECTOSTR 3 2018-10-30 libsimple +.SH NAME +libsimple_timespectostr, libsimple_timevaltostr \- convert a duration data structure to a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +char *libsimple_timespectostr(char *restrict \fIbuf\fP, const struct timespec *restrict \fIts\fP); +char *libsimple_timevaltostr(char *restrict \fIbuf\fP, const struct timeval *restrict \fItv\fP); + +#ifndef timespectostr +# define timespectostr libsimple_timespectostr +#endif +#ifndef timevaltostr +# define timevaltostr libsimple_timevaltostr +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_timespectostr () +and +.BR libsimple_timevaltostr () +functions convert +.I ts +and +.IR tv , +respectively, to a textual represention contain only a +real value of the number of seconds the input represents. +.PP +If +.I buf +is +.BR NULL , +a new pointer is allocated, otherwise +.I buf +is used as storage buffer for the string and is returned. +Unless +.I buf +is +.BR NULL , +it should be at least +.I INTSTRLEN(time_t)+12 +bytes for the +.BR libsimple_timespectostr () +function, and less 3 bytes +for the +.BR libsimple_timevaltostr () +function. +.PP +The returned string will always start with either a +.B + +or a +.BR \- , +and will always contain 9 (for the +.BR libsimple_timespectostr () +function) or 6 (for the +.BR libsimple_timevaltostr () +function) decimals. +.SH RETURN VALUE +The +.BR libsimple_timespectostr () +and +.BR libsimple_timevaltostr () +functions return the duration as a textual +representation of the it as a real value of +seconds, without any unit included in the text, +upon successful completion. If +.I buf +is +.BR NULL , +the returned pointer is a deallocatable, unique, +pointer, otherwise the pointer +.I buf +is returned. On failure, +.B NULL +is returned. +.SH ERRORS +The +.BR libsimple_timespectostr () +and +.BR libsimple_timevaltostr () +functions fail if: +.TP +.B ENOMEM +.I buf +is +.B NULL +and the call to +.BR malloc (3) +failed because it could not allocate enough memory. +.TP +.B EINVAL +.I ts->tv_nsec +is negative or greater than 999\ 999\ 999, or +.I tv->tv_usec +is negative or greater than 999\ 999. +.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_timespectostr () +.br +.BR libsimple_timevaltostr () +T} Thread safety MT-Safe +T{ +.BR libsimple_timespectostr () +.br +.BR libsimple_timevaltostr () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_timespectostr () +.br +.BR libsimple_timevaltostr () +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_minimise_number_string (3), +.BR libsimple_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3), +.BR libsimple_timeval2timespec (3) diff --git a/man3/libsimple_timeval2timespec.3 b/man3/libsimple_timeval2timespec.3 new file mode 100644 index 0000000..d4381ce --- /dev/null +++ b/man3/libsimple_timeval2timespec.3 @@ -0,0 +1,112 @@ +.TH LIBSIMPLE_TIMEVAL2TIMESPEC 3 2018-10-30 libsimple +.SH NAME +libsimple_timeval2timespec, libsimple_timespec2timeval \- convert between timespec and timeval +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void libsimple_timeval2timespec(struct timespec *restrict \fIts\fP, const struct timeval *restrict \fItv\fP); +int libsimple_timespec2timeval(struct timeval *restrict \fItv\fP, const struct timespec *restrict \fIts\fP); + +#ifndef timeval2timespec +# define timeval2timespec libsimple_timeval2timespec +#endif +#ifndef timespec2timeval +# define timespec2timeval libsimple_timespec2timeval +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_timeval2timespec () +converts the value +.I *tv +to a +.B struct timespec +and stores the result in +.IR ts . +.PP +The +.BR libsimple_timespec2timeval () +converts the value +.I *ts +to a +.BR "struct timeval" , +rounding to nearest microsecond, +and stores the result in +.IR tv . +.SH RETURN VALUE +The +.BR libsimple_timespec2timeval () +function returns 0 on successful completion; otherwise -1 is returned +and sets +.I errno +to indicate the error. +.PP +The +.BR libsimple_timeval2timespec () +function does not return a value. +.SH ERRORS +The +.BR libsimple_timespec2timeval () +function fail if: +.TP +.B EOVERFLOW +The value +.I {.tv_sec=TIME_MAX,.tv_nsec=999999500L} +or a greater value converted, which would lead to overflow. +The value +.I {.tv_sec=TIME_MAX,.tv_usec=999999L} +will be stored in +.IR tv . +.PP +The +.BR libsimple_timeval2timespec () +function cannot fail. +.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_timeval2timespec () +.br +.BR libsimple_timespec2timeval () +T} Thread safety MT-Safe +T{ +.BR libsimple_timeval2timespec () +.br +.BR libsimple_timespec2timeval () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_timeval2timespec () +.br +.BR libsimple_timespec2timeval () +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_sumtimespec (3), +.BR libsimple_difftimespec (3), +.BR libsimple_multimespec (3), +.BR libsimple_cmptimespec (3), +.BR libsimple_timespectostr (3), +.BR libsimple_strtotimespec (3), +.BR libsimple_timespectodouble (3), +.BR libsimple_doubletotimespec (3) diff --git a/man3/libsimple_timevaltodouble.3 b/man3/libsimple_timevaltodouble.3 new file mode 120000 index 0000000..dcb0a1c --- /dev/null +++ b/man3/libsimple_timevaltodouble.3 @@ -0,0 +1 @@ +libsimple_timespectodouble.3
\ No newline at end of file diff --git a/man3/libsimple_timevaltostr.3 b/man3/libsimple_timevaltostr.3 new file mode 120000 index 0000000..b8e0e0a --- /dev/null +++ b/man3/libsimple_timevaltostr.3 @@ -0,0 +1 @@ +libsimple_timespectostr.3
\ No newline at end of file diff --git a/man3/libsimple_unlist.3 b/man3/libsimple_unlist.3 new file mode 100644 index 0000000..5be3858 --- /dev/null +++ b/man3/libsimple_unlist.3 @@ -0,0 +1,98 @@ +.TH LIBSIMPLE_UNLIST 3 2018-11-05 libsimple +.SH NAME +libsimple_unlist \- remove item for array and keep order +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void libsimple_unlist(void *\fIlist\fP, size_t \fIi\fP, size_t *\fInp\fP, size_t \fIwidth\fP); +void LIBSIMPLE_UNLIST(\fItype\fP *\fIlist\fP, size_t \fIi\fP, size_t *\fInp\fP); + +#ifndef unlist +# define unlist libsimple_unlist +#endif +#ifndef UNLIST +# define UNLIST LIBSIMPLE_UNLIST +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_unlist () +function removes the +.IR i th +element from +.IR list , +and pushes up all following elements one step, so +next element take the removed elements position. The +.I width +parameter shall be the size of each element, in bytes, +.RI ( sizeof(*list) +in all sane circumstances). +.I np +shall be a pointer to the number of elements stored in +.IR list , +.I *np +will be set to +.IR *np-1 . +The function assumes that +.IR i<*np . +.PP +.BR LIBSIMPLE_UNLIST () +is a macro-wrapper for the +.BR libsimple_unlist () +function which does not have the parameter +.IR width , +instead it is inferred from the type of +.IR list ; +as such, +.I type +must be a complete, non-void type. +.SH RETURN VALUE +None. +.SH ERRORS +The +.BR libsimple_unlist () +and +.BR LIBSIMPLE_UNLIST () +functions cannot fail. +.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_unlist (), +.br +.BR LIBSIMPLE_UNLIST () +T} Thread safety MT-Safe +T{ +.BR libsimple_unlist (), +.br +.BR LIBSIMPLE_UNLIST () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_unlist (), +.br +.BR LIBSIMPLE_UNLIST () +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 memmove (3) diff --git a/man3/libsimple_valigned_allocn.3 b/man3/libsimple_valigned_allocn.3 new file mode 100644 index 0000000..2600571 --- /dev/null +++ b/man3/libsimple_valigned_allocn.3 @@ -0,0 +1,238 @@ +.TH LIBSIMPLE_VALIGNED_ALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_valigned_allocn \- allocate memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_valigned_allocn(size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envaligned_allocn(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evaligned_allocn(size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_aligned_allocn(size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enaligned_allocn(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ealigned_allocn(size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef valigned_allocn +# define valigned_allocn libsimple_valigned_allocn +#endif +#ifndef envaligned_allocn +# define envaligned_allocn libsimple_envaligned_allocn +#endif +#ifndef evaligned_allocn +# define evaligned_allocn libsimple_evaligned_allocn +#endif +#ifndef aligned_allocn +# define aligned_allocn libsimple_aligned_allocn +#endif +#ifndef enaligned_allocn +# define enaligned_allocn libsimple_enaligned_allocn +#endif +#ifndef ealigned_allocn +# define ealigned_allocn libsimple_ealigned_allocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_aligned_allocn (), +.BR libsimple_enaligned_allocn (), +and +.BR libsimple_ealigned_allocn () +functions allocate +.I N +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignment +bytes to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enaligned_allocn () +and +.BR libsimple_ealigned_allocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enaligned_allocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ealigned_allocn () +function is used. +.PP +The +.BR libsimple_valigned_allocn (), +.BR libsimple_envaligned_allocn (), +and +.BR libsimple_evaligned_allocn () +functions are versions of the +.BR libsimple_aligned_allocn (), +.BR libsimple_enaligned_allocn (), +and +.BR libsimple_ealigned_allocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_valigned_allocn (), +.BR libsimple_envaligned_allocn (), +.BR libsimple_evaligned_allocn (), +.BR libsimple_aligned_allocn (), +.BR libsimple_enaligned_allocn (), +and +.BR libsimple_ealigned_allocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_valigned_allocn () +and +.BR libsimple_aligned_allocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envaligned_allocn (), +.BR libsimple_evaligned_allocn (), +.BR libsimple_enaligned_allocn (), +and +.BR libsimple_ealigned_allocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_valigned_allocn (), +.BR libsimple_aligned_allocn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I n +is not a multiple of +.IR alignment . +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envaligned_allocn (), +.BR libsimple_evaligned_allocn (), +.BR libsimple_enaligned_allocn (), +and +.BR libsimple_ealigned_allocn () +functions will 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_valigned_allocn (), +.br +.BR libsimple_envaligned_allocn (), +.br +.BR libsimple_evaligned_allocn (), +.br +.BR libsimple_aligned_allocn (), +.br +.BR libsimple_enaligned_allocn (), +.br +.BR libsimple_ealigned_allocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_valigned_allocn (), +.br +.BR libsimple_envaligned_allocn (), +.br +.BR libsimple_evaligned_allocn (), +.br +.BR libsimple_aligned_allocn (), +.br +.BR libsimple_enaligned_allocn (), +.br +.BR libsimple_ealigned_allocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_valigned_allocn (), +.br +.BR libsimple_envaligned_allocn (), +.br +.BR libsimple_evaligned_allocn (), +.br +.BR libsimple_aligned_allocn (), +.br +.BR libsimple_enaligned_allocn (), +.br +.BR libsimple_ealigned_allocn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR aligned_alloc (3) diff --git a/man3/libsimple_valigned_alloczn.3 b/man3/libsimple_valigned_alloczn.3 new file mode 100644 index 0000000..9f68adb --- /dev/null +++ b/man3/libsimple_valigned_alloczn.3 @@ -0,0 +1,241 @@ +.TH LIBSIMPLE_VALIGNED_ALLOCZN 3 2018-11-03 libsimple +.SH NAME +libsimple_valigned_alloczn \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_valigned_alloczn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_envaligned_alloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evaligned_alloczn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_aligned_alloczn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enaligned_alloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ealigned_alloczn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef valigned_alloczn +# define valigned_alloczn libsimple_valigned_alloczn +#endif +#ifndef envaligned_alloczn +# define envaligned_alloczn libsimple_envaligned_alloczn +#endif +#ifndef evaligned_alloczn +# define evaligned_alloczn libsimple_evaligned_alloczn +#endif +#ifndef aligned_alloczn +# define aligned_alloczn libsimple_aligned_alloczn +#endif +#ifndef enaligned_alloczn +# define enaligned_alloczn libsimple_enaligned_alloczn +#endif +#ifndef ealigned_alloczn +# define ealigned_alloczn libsimple_ealigned_alloczn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_aligned_alloczn (), +.BR libsimple_enaligned_alloczn (), +and +.BR libsimple_ealigned_alloczn () +functions allocate +.I N +bytes to the heap and return a pointer with an +alignment of +.I alignment +bytes to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enaligned_alloczn () +and +.BR libsimple_ealigned_alloczn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enaligned_alloczn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ealigned_alloczn () +function is used. +.PP +The +.BR libsimple_valigned_alloczn (), +.BR libsimple_envaligned_alloczn (), +and +.BR libsimple_evaligned_alloczn () +functions are versions of the +.BR libsimple_aligned_alloczn (), +.BR libsimple_enaligned_alloczn (), +and +.BR libsimple_ealigned_alloczn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_valigned_alloczn (), +.BR libsimple_envaligned_alloczn (), +.BR libsimple_evaligned_alloczn (), +.BR libsimple_aligned_alloczn (), +.BR libsimple_enaligned_alloczn (), +and +.BR libsimple_ealigned_alloczn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_valigned_alloczn () +and +.BR libsimple_aligned_alloczn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envaligned_alloczn (), +.BR libsimple_evaligned_alloczn (), +.BR libsimple_enaligned_alloczn (), +and +.BR libsimple_ealigned_alloczn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_valigned_alloczn (), +.BR libsimple_aligned_alloczn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I n +is not a multiple of +.IR alignment . +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envaligned_alloczn (), +.BR libsimple_evaligned_alloczn (), +.BR libsimple_enaligned_alloczn (), +and +.BR libsimple_ealigned_alloczn () +functions will 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_valigned_alloczn (), +.br +.BR libsimple_envaligned_alloczn (), +.br +.BR libsimple_evaligned_alloczn (), +.br +.BR libsimple_aligned_alloczn (), +.br +.BR libsimple_enaligned_alloczn (), +.br +.BR libsimple_ealigned_alloczn () +T} Thread safety MT-Safe +T{ +.BR libsimple_valigned_alloczn (), +.br +.BR libsimple_envaligned_alloczn (), +.br +.BR libsimple_evaligned_alloczn (), +.br +.BR libsimple_aligned_alloczn (), +.br +.BR libsimple_enaligned_alloczn (), +.br +.BR libsimple_ealigned_alloczn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_valigned_alloczn (), +.br +.BR libsimple_envaligned_alloczn (), +.br +.BR libsimple_evaligned_alloczn (), +.br +.BR libsimple_aligned_alloczn (), +.br +.BR libsimple_enaligned_alloczn (), +.br +.BR libsimple_ealigned_alloczn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR aligned_alloc (3) diff --git a/man3/libsimple_valloc.3 b/man3/libsimple_valloc.3 new file mode 100644 index 0000000..033e5e9 --- /dev/null +++ b/man3/libsimple_valloc.3 @@ -0,0 +1,168 @@ +.TH LIBSIMPLE_VALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_valloc \- allocate memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_valloc(size_t \fIn\fP); +static inline void *libsimple_envalloc(int \fIstatus\fP, size_t \fIn\fP); +static inline void *libsimple_evalloc(size_t \fIn\fP); + +#ifndef valloc +# define valloc libsimple_valloc +#endif +#ifndef envalloc +# define envalloc libsimple_envalloc +#endif +#ifndef evalloc +# define evalloc libsimple_evalloc +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_valloc (), +.BR libsimple_envalloc (), +and +.BR libsimple_evalloc () +functions allocate +.I n +uninitialised bytes to the heap and return a +pointer with an alignment of the page size +to the allocated memory. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_envalloc () +and +.BR libsimple_evalloc () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_envalloc () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_evalloc () +function is used. +.SH RETURN VALUE +The +.BR libsimple_valloc (), +.BR libsimple_envalloc (), +and +.BR libsimple_evalloc () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_valloc () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envalloc () +and +.BR libsimple_evalloc () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_valloc () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envalloc () +and +.BR libsimple_evalloc () +functions will 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_valloc (), +.br +.BR libsimple_envalloc (), +.br +.BR libsimple_evalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_valloc (), +.br +.BR libsimple_envalloc (), +.br +.BR libsimple_evalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_valloc (), +.br +.BR libsimple_envalloc (), +.br +.BR libsimple_evalloc () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR valloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vallocz (3), +.BR libsimple_vvallocn (3), +.BR libsimple_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vallocn.3 b/man3/libsimple_vallocn.3 new file mode 120000 index 0000000..b0804fe --- /dev/null +++ b/man3/libsimple_vallocn.3 @@ -0,0 +1 @@ +libsimple_vvallocn.3
\ No newline at end of file diff --git a/man3/libsimple_vallocz.3 b/man3/libsimple_vallocz.3 new file mode 100644 index 0000000..3559a32 --- /dev/null +++ b/man3/libsimple_vallocz.3 @@ -0,0 +1,179 @@ +.TH LIBSIMPLE_VALLOCZ 3 2018-11-03 libsimple +.SH NAME +libsimple_vallocz \- allocate optionally initialised memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vallocz(int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_envallocz(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP); +static inline void *libsimple_evallocz(int \fIclear\fP, size_t \fIn\fP); + +#ifndef vallocz +# define vallocz libsimple_vallocz +#endif +#ifndef envallocz +# define envallocz libsimple_envallocz +#endif +#ifndef evallocz +# define evallocz libsimple_evallocz +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vallocz (), +.BR libsimple_envallocz (), +and +.BR libsimple_evallocz () +functions allocate +.I n +bytes to the heap and return a pointer with an +alignment of the page size +to the allocated memory. The memory will be +initialised with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_envallocz () +and +.BR libsimple_evallocz () +functions will terminate the process if the memory +cannot be allocated of if the user tries to allocate +0 bytes, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_envallocz () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_evallocz () +function is used. +.PP +The +.BR libsimple_envallocz () +and +.BR libsimple_evallocz () +functions behaviour is unspecified if +.I n +is 0. +.SH RETURN VALUE +The +.BR libsimple_vallocz (), +.BR libsimple_envallocz (), +and +.BR libsimple_evallocz () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vallocz () +function return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envallocz () +and +.BR libsimple_evallocz () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vallocz () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envallocz () +and +.BR libsimple_evallocz () +functions will 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_vallocz (), +.br +.BR libsimple_envallocz (), +.br +.BR libsimple_evallocz () +T} Thread safety MT-Safe +T{ +.BR libsimple_vallocz (), +.br +.BR libsimple_envallocz (), +.br +.BR libsimple_evallocz () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vallocz (), +.br +.BR libsimple_envallocz (), +.br +.BR libsimple_evallocz () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR valloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vvallocn (3), +.BR libsimple_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_valloczn.3 b/man3/libsimple_valloczn.3 new file mode 120000 index 0000000..10be3d5 --- /dev/null +++ b/man3/libsimple_valloczn.3 @@ -0,0 +1 @@ +libsimple_vvalloczn.3
\ No newline at end of file diff --git a/man3/libsimple_varrayalloc.3 b/man3/libsimple_varrayalloc.3 new file mode 100644 index 0000000..ceea9f1 --- /dev/null +++ b/man3/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/man3/libsimple_vasprintf.3 b/man3/libsimple_vasprintf.3 new file mode 100644 index 0000000..e91c404 --- /dev/null +++ b/man3/libsimple_vasprintf.3 @@ -0,0 +1,195 @@ +.TH LIBSIMPLE_VASPRINTF 3 2018-11-04 libsimple +.SH NAME +libsimple_vasprintf \- allocate and format a string +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_vasprintf(char **\fIstrp\fP, const char *\fIfmt\fP, va_list \fIap\fP); +int libsimple_asprintf(char **\fIstrp\fP, const char *\fIfmt\fP, ...); +char *libsimple_vasprintfa(const char *\fIfmt\fP, va_list \fIap\fP); +char *libsimple_asprintfa(const char *\fIfmt\fP, ...); + +#ifndef vasprintf +# define vasprintf libsimple_vasprintf +#endif +#ifndef asprintf +# define asprintf libsimple_asprintf +#endif +#ifndef vasprintfa +# define vasprintfa libsimple_vasprintfa +#endif +#ifndef asprintfa +# define asprintfa libsimple_asprintfa +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vasprintf () +function is a version of the +.BR vsprintf (3) +function that allocates a sufficiently large string, +writes the string to it, and stores it in +.IR strp . +The parameter +.I fmt +is used as the format string for the +.BR vfprintf (3) +function, and the parameter +.I ap +is used as the formatting arguments. +On failure +.I *strp +is set to +.BR NULL , +portable applications shall not assume this +is true if the shorthand aliases +.BR vasprintf +and +.BR asprintf +are used. +.PP +The +.BR libsimple_asprintf () +function is a version of the +.BR libsimple_vasprintf () +function that uses variadic arguments instead of +.BR va_list . +.PP +The +.BR libsimple_vasprintfa () +and +.BR libsimple_asprintfa () +functions are versions of the +.BR libsimple_vasprintf () +and +.BR libsimple_asprintf () +functions that allocates the string on the stack +rather than the heap. +.PP +The string stored in +.I strp +by the +.BR libsimple_vasprintf () +and +.BR libsimple_asprintf () +functions shall be deallocated with the +.BR free (3) +function when it is no longer needed; the string +returned by the +.BR libsimple_vasprintfa () +and +.BR libsimple_asprintfa () +functions shall not be freed but are automatically +deallocated when the calling function returns. +.PP +The +.BR libsimple_vasprintfa () +and +.BR libsimple_asprintfa () +functions are implemented as macros and are only +available if compiling with GCC or Clang. +.SH RETURN VALUE +The +.BR libsimple_vasprintf () +and +.BR libsimple_asprintf () +functions return +.I strlen(*strp) +upon successful completion; otherwise -1 is returned and +.I errno +set to indicate the error. +.PP +The +.BR libsimple_vasprintfa () +and +.BR libsimple_asprintfa () +functions return the constructed string upon successful +completion; otherwise +.B NULL +is returned and +.I errno +set to indicate the error. +.SH ERRORS +The +.BR libsimple_vasprintf (), +.BR libsimple_asprintf (), +.BR libsimple_vasprintfa (), +and +.BR libsimple_asprintfa () +functions will fail for any reason specified for the +.BR fprintf (3) +function. The +.BR libsimple_vasprintf () +and +.BR libsimple_asprintf () +functions will also fail if: +.TP +.B EMFILE +{FOPEN_MAX} streams are currently open in the calling process. +.TP +.B ENOMEM +Could not allocate enough memory. +.PP +If enough memory cannot be allocated by the +.BR libsimple_vasprintfa () +and +.BR libsimple_asprintfa () +functions, the kernel will kill the thread with a +.B SIGSEGV +signal. +.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_vasprintf (), +.br +.BR libsimple_asprintf (), +.br +.BR libsimple_vasprintfa (), +.br +.BR libsimple_asprintfa () +T} Thread safety MT-Safe +T{ +.BR libsimple_vasprintf (), +.br +.BR libsimple_asprintf (), +.br +.BR libsimple_vasprintfa (), +.br +.BR libsimple_asprintfa () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vasprintf (), +.br +.BR libsimple_asprintf (), +.br +.BR libsimple_vasprintfa (), +.br +.BR libsimple_asprintfa () +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_vweprintf (3), +.BR sprintf (3), +.BR snprintf (3) diff --git a/man3/libsimple_vasprintfa.3 b/man3/libsimple_vasprintfa.3 new file mode 120000 index 0000000..9456f72 --- /dev/null +++ b/man3/libsimple_vasprintfa.3 @@ -0,0 +1 @@ +libsimple_vasprintf.3
\ No newline at end of file diff --git a/man3/libsimple_vcallocn.3 b/man3/libsimple_vcallocn.3 new file mode 100644 index 0000000..0d1c71d --- /dev/null +++ b/man3/libsimple_vcallocn.3 @@ -0,0 +1,230 @@ +.TH LIBSIMPLE_VCALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_vcallocn \- allocate memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vcallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envcallocn(int \fIstatus\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evcallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_callocn(size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_encallocn(int \fIstatus\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ecallocn(size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vcallocn +# define vcallocn libsimple_vcallocn +#endif +#ifndef envcallocn +# define envcallocn libsimple_envcallocn +#endif +#ifndef evcallocn +# define evcallocn libsimple_evcallocn +#endif +#ifndef callocn +# define callocn libsimple_callocn +#endif +#ifndef encallocn +# define encallocn libsimple_encallocn +#endif +#ifndef ecallocn +# define ecallocn libsimple_ecallocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_callocn (), +.BR libsimple_encallocn (), +and +.BR libsimple_ecallocn () +functions are wrappers for the +.BR calloc (3) +function, they allocate +.I N +zero-initialised bytes to the heap and return a +pointer with an alignment of +.I alignof(max_align_t) +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_encallocn () +and +.BR libsimple_ecallocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_encallocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ecallocn () +function is used. +.PP +The +.BR libsimple_vcallocn (), +.BR libsimple_envcallocn (), +and +.BR libsimple_evcallocn () +functions are versions of the +.BR libsimple_callocn (), +.BR libsimple_encallocn (), +and +.BR libsimple_ecallocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vcallocn (), +.BR libsimple_envcallocn (), +.BR libsimple_evcallocn (), +.BR libsimple_callocn (), +.BR libsimple_encallocn (), +and +.BR libsimple_ecallocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vcallocn () +and +.BR libsimple_callocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envcallocn (), +.BR libsimple_evcallocn (), +.BR libsimple_encallocn (), +and +.BR libsimple_ecallocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vcallocn (), +.BR libsimple_callocn () +function will fail for the reasons specified for the +.BR calloc (3) +function, and if: +.TP +.B EINVAL +.I n +is 0. +.PP +The +.BR libsimple_envcallocn (), +.BR libsimple_evcallocn (), +.BR libsimple_encallocn (), +and +.BR libsimple_ecallocn () +functions will 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_vcallocn (), +.br +.BR libsimple_envcallocn (), +.br +.BR libsimple_evcallocn (), +.br +.BR libsimple_callocn (), +.br +.BR libsimple_encallocn (), +.br +.BR libsimple_ecallocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vcallocn (), +.br +.BR libsimple_envcallocn (), +.br +.BR libsimple_evcallocn (), +.br +.BR libsimple_callocn (), +.br +.BR libsimple_encallocn (), +.br +.BR libsimple_ecallocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vcallocn (), +.br +.BR libsimple_envcallocn (), +.br +.BR libsimple_evcallocn (), +.br +.BR libsimple_callocn (), +.br +.BR libsimple_encallocn (), +.br +.BR libsimple_ecallocn () +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_enmalloc (3), +.BR libsimple_mallocz (3), +.BR libsimple_vmallocn (3), +.BR libsimple_vmalloczn (3), +.BR libsimple_encalloc (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR calloc (3) diff --git a/man3/libsimple_venprintf.3 b/man3/libsimple_venprintf.3 new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/libsimple_venprintf.3 @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/libsimple_veprintf.3 b/man3/libsimple_veprintf.3 new file mode 120000 index 0000000..574bdd9 --- /dev/null +++ b/man3/libsimple_veprintf.3 @@ -0,0 +1 @@ +libsimple_venprintf.3
\ No newline at end of file diff --git a/man3/libsimple_vmallocn.3 b/man3/libsimple_vmallocn.3 new file mode 100644 index 0000000..0aed464 --- /dev/null +++ b/man3/libsimple_vmallocn.3 @@ -0,0 +1,230 @@ +.TH LIBSIMPLE_VMALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_vmallocn \- allocate memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vmallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envmallocn(int \fIstatus\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evmallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_mallocn(size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enmallocn(int \fIstatus\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_emallocn(size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vmallocn +# define vmallocn libsimple_vmallocn +#endif +#ifndef envmallocn +# define envmallocn libsimple_envmallocn +#endif +#ifndef evmallocn +# define evmallocn libsimple_evmallocn +#endif +#ifndef mallocn +# define mallocn libsimple_mallocn +#endif +#ifndef enmallocn +# define enmallocn libsimple_enmallocn +#endif +#ifndef emallocn +# define emallocn libsimple_emallocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_mallocn (), +.BR libsimple_enmallocn (), +and +.BR libsimple_emallocn () +functions are wrappers for the +.BR malloc (3) +function, they allocate +.I N +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignof(max_align_t) +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmallocn () +and +.BR libsimple_emallocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmallocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_emallocn () +function is used. +.PP +The +.BR libsimple_vmallocn (), +.BR libsimple_envmallocn (), +and +.BR libsimple_evmallocn () +functions are versions of the +.BR libsimple_mallocn (), +.BR libsimple_enmallocn (), +and +.BR libsimple_emallocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vmallocn (), +.BR libsimple_envmallocn (), +.BR libsimple_evmallocn (), +.BR libsimple_mallocn (), +.BR libsimple_enmallocn (), +and +.BR libsimple_emallocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vmallocn () +and +.BR libsimple_mallocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envmallocn (), +.BR libsimple_evmallocn (), +.BR libsimple_enmallocn (), +and +.BR libsimple_emallocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vmallocn (), +.BR libsimple_mallocn () +function will fail for the reasons specified for the +.BR malloc (3) +function, and if: +.TP +.B EINVAL +.I n +is 0. +.PP +The +.BR libsimple_envmallocn (), +.BR libsimple_evmallocn (), +.BR libsimple_enmallocn (), +and +.BR libsimple_emallocn () +functions will 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_vmallocn (), +.br +.BR libsimple_envmallocn (), +.br +.BR libsimple_evmallocn (), +.br +.BR libsimple_mallocn (), +.br +.BR libsimple_enmallocn (), +.br +.BR libsimple_emallocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vmallocn (), +.br +.BR libsimple_envmallocn (), +.br +.BR libsimple_evmallocn (), +.br +.BR libsimple_mallocn (), +.br +.BR libsimple_enmallocn (), +.br +.BR libsimple_emallocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vmallocn (), +.br +.BR libsimple_envmallocn (), +.br +.BR libsimple_evmallocn (), +.br +.BR libsimple_mallocn (), +.br +.BR libsimple_enmallocn (), +.br +.BR libsimple_emallocn () +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_enmalloc (3), +.BR libsimple_mallocz (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR malloc (3) diff --git a/man3/libsimple_vmalloczn.3 b/man3/libsimple_vmalloczn.3 new file mode 100644 index 0000000..8b12b4a --- /dev/null +++ b/man3/libsimple_vmalloczn.3 @@ -0,0 +1,238 @@ +.TH LIBSIMPLE_VMALLOCZN 3 2018-11-03 libsimple +.SH NAME +libsimple_vmalloczn \- allocate optionally initialised memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_vmalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_envmalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evmalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_malloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enmalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_emalloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vmalloczn +# define vmalloczn libsimple_vmalloczn +#endif +#ifndef envmalloczn +# define envmalloczn libsimple_envmalloczn +#endif +#ifndef evmalloczn +# define evmalloczn libsimple_evmalloczn +#endif +#ifndef malloczn +# define malloczn libsimple_malloczn +#endif +#ifndef enmalloczn +# define enmalloczn libsimple_enmalloczn +#endif +#ifndef emalloczn +# define emalloczn libsimple_emalloczn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_malloczn (), +.BR libsimple_enmalloczn (), +and +.BR libsimple_emalloczn () +functions are wrappers for the +.BR malloc (3) +and +.BR calloc (3) +functions, they allocate +.I N +bytes to the heap and return a pointer with an +alignment of +.I alignof(max_align_t) +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmalloczn () +and +.BR libsimple_emalloczn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmalloczn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_emalloczn () +function is used. +.PP +The +.BR libsimple_vmalloczn (), +.BR libsimple_envmalloczn (), +and +.BR libsimple_evmalloczn () +functions are versions of the +.BR libsimple_malloczn (), +.BR libsimple_enmalloczn (), +and +.BR libsimple_emalloczn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vmalloczn (), +.BR libsimple_envmalloczn (), +.BR libsimple_evmalloczn (), +.BR libsimple_malloczn (), +.BR libsimple_enmalloczn (), +and +.BR libsimple_emalloczn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vmalloczn () +and +.BR libsimple_malloczn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envmalloczn (), +.BR libsimple_evmalloczn (), +.BR libsimple_enmalloczn (), +and +.BR libsimple_emalloczn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vmalloczn (), +.BR libsimple_malloczn () +function will fail for the reasons specified for the +.BR malloc (3) +and +.BR calloc (3) +functions, and if: +.TP +.B EINVAL +.I n +is 0. +.PP +The +.BR libsimple_envmalloczn (), +.BR libsimple_evmalloczn (), +.BR libsimple_enmalloczn (), +and +.BR libsimple_emalloczn () +functions will 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_vmalloczn (), +.br +.BR libsimple_envmalloczn (), +.br +.BR libsimple_evmalloczn (), +.br +.BR libsimple_malloczn (), +.br +.BR libsimple_enmalloczn (), +.br +.BR libsimple_emalloczn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vmalloczn (), +.br +.BR libsimple_envmalloczn (), +.br +.BR libsimple_evmalloczn (), +.br +.BR libsimple_malloczn (), +.br +.BR libsimple_enmalloczn (), +.br +.BR libsimple_emalloczn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vmalloczn (), +.br +.BR libsimple_envmalloczn (), +.br +.BR libsimple_evmalloczn (), +.br +.BR libsimple_malloczn (), +.br +.BR libsimple_enmalloczn (), +.br +.BR libsimple_emalloczn () +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_enmalloc (3), +.BR libsimple_mallocz (3), +.BR libsimple_vmallocn (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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR malloc (3), +.BR calloc (3) diff --git a/man3/libsimple_vmemalignn.3 b/man3/libsimple_vmemalignn.3 new file mode 100644 index 0000000..8a6c5c1 --- /dev/null +++ b/man3/libsimple_vmemalignn.3 @@ -0,0 +1,232 @@ +.TH LIBSIMPLE_VMEMALIGNN 3 2018-11-03 libsimple +.SH NAME +libsimple_vmemalignn \- allocate memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vmemalignn(size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envmemalignn(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evmemalignn(size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_memalignn(size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enmemalignn(int \fIstatus\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ememalignn(size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vmemalignn +# define vmemalignn libsimple_vmemalignn +#endif +#ifndef envmemalignn +# define envmemalignn libsimple_envmemalignn +#endif +#ifndef evmemalignn +# define evmemalignn libsimple_evmemalignn +#endif +#ifndef memalignn +# define memalignn libsimple_memalignn +#endif +#ifndef enmemalignn +# define enmemalignn libsimple_enmemalignn +#endif +#ifndef ememalignn +# define ememalignn libsimple_ememalignn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memalignn (), +.BR libsimple_enmemalignn (), +and +.BR libsimple_ememalignn () +functions allocate +.I N +uninitialised bytes to the heap and return a +pointer with an alignment of +.I alignment +bytes to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmemalignn () +and +.BR libsimple_ememalignn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmemalignn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ememalignn () +function is used. +.PP +The +.BR libsimple_vmemalignn (), +.BR libsimple_envmemalignn (), +and +.BR libsimple_evmemalignn () +functions are versions of the +.BR libsimple_memalignn (), +.BR libsimple_enmemalignn (), +and +.BR libsimple_ememalignn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vmemalignn (), +.BR libsimple_envmemalignn (), +.BR libsimple_evmemalignn (), +.BR libsimple_memalignn (), +.BR libsimple_enmemalignn (), +and +.BR libsimple_ememalignn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vmemalignn () +and +.BR libsimple_memalignn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envmemalignn (), +.BR libsimple_evmemalignn (), +.BR libsimple_enmemalignn (), +and +.BR libsimple_ememalignn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vmemalignn (), +.BR libsimple_memalignn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envmemalignn (), +.BR libsimple_evmemalignn (), +.BR libsimple_enmemalignn (), +and +.BR libsimple_ememalignn () +functions will 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_vmemalignn (), +.br +.BR libsimple_envmemalignn (), +.br +.BR libsimple_evmemalignn (), +.br +.BR libsimple_memalignn (), +.br +.BR libsimple_enmemalignn (), +.br +.BR libsimple_ememalignn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vmemalignn (), +.br +.BR libsimple_envmemalignn (), +.br +.BR libsimple_evmemalignn (), +.br +.BR libsimple_memalignn (), +.br +.BR libsimple_enmemalignn (), +.br +.BR libsimple_ememalignn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vmemalignn (), +.br +.BR libsimple_envmemalignn (), +.br +.BR libsimple_evmemalignn (), +.br +.BR libsimple_memalignn (), +.br +.BR libsimple_enmemalignn (), +.br +.BR libsimple_ememalignn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vmemalignzn.3 b/man3/libsimple_vmemalignzn.3 new file mode 100644 index 0000000..f59b3a0 --- /dev/null +++ b/man3/libsimple_vmemalignzn.3 @@ -0,0 +1,235 @@ +.TH LIBSIMPLE_VMEMALIGNZN 3 2018-11-03 libsimple +.SH NAME +libsimple_vmemalignzn \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vmemalignzn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envmemalignzn(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evmemalignzn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_memalignzn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enmemalignzn(int \fIstatus\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ememalignzn(int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vmemalignzn +# define vmemalignzn libsimple_vmemalignzn +#endif +#ifndef envmemalignzn +# define envmemalignzn libsimple_envmemalignzn +#endif +#ifndef evmemalignzn +# define evmemalignzn libsimple_evmemalignzn +#endif +#ifndef memalignzn +# define memalignzn libsimple_memalignzn +#endif +#ifndef enmemalignzn +# define enmemalignzn libsimple_enmemalignzn +#endif +#ifndef ememalignzn +# define ememalignzn libsimple_ememalignzn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memalignzn (), +.BR libsimple_enmemalignzn (), +and +.BR libsimple_ememalignzn () +functions allocate +.I N +bytes to the heap and return a pointer with an +alignment of +.I alignment +bytes to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enmemalignzn () +and +.BR libsimple_ememalignzn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enmemalignzn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ememalignzn () +function is used. +.PP +The +.BR libsimple_vmemalignzn (), +.BR libsimple_envmemalignzn (), +and +.BR libsimple_evmemalignzn () +functions are versions of the +.BR libsimple_memalignzn (), +.BR libsimple_enmemalignzn (), +and +.BR libsimple_ememalignzn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vmemalignzn (), +.BR libsimple_envmemalignzn (), +.BR libsimple_evmemalignzn (), +.BR libsimple_memalignzn (), +.BR libsimple_enmemalignzn (), +and +.BR libsimple_ememalignzn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vmemalignzn () +and +.BR libsimple_memalignzn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envmemalignzn (), +.BR libsimple_evmemalignzn (), +.BR libsimple_enmemalignzn (), +and +.BR libsimple_ememalignzn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vmemalignzn (), +.BR libsimple_memalignzn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envmemalignzn (), +.BR libsimple_evmemalignzn (), +.BR libsimple_enmemalignzn (), +and +.BR libsimple_ememalignzn () +functions will 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_vmemalignzn (), +.br +.BR libsimple_envmemalignzn (), +.br +.BR libsimple_evmemalignzn (), +.br +.BR libsimple_memalignzn (), +.br +.BR libsimple_enmemalignzn (), +.br +.BR libsimple_ememalignzn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vmemalignzn (), +.br +.BR libsimple_envmemalignzn (), +.br +.BR libsimple_evmemalignzn (), +.br +.BR libsimple_memalignzn (), +.br +.BR libsimple_enmemalignzn (), +.br +.BR libsimple_ememalignzn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vmemalignzn (), +.br +.BR libsimple_envmemalignzn (), +.br +.BR libsimple_evmemalignzn (), +.br +.BR libsimple_memalignzn (), +.br +.BR libsimple_enmemalignzn (), +.br +.BR libsimple_ememalignzn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vmemalloc.3 b/man3/libsimple_vmemalloc.3 new file mode 100644 index 0000000..b661f29 --- /dev/null +++ b/man3/libsimple_vmemalloc.3 @@ -0,0 +1,301 @@ +.TH LIBSIMPLE_VMEMALLOC 3 2018-11-03 libsimple +.SH NAME +libsimple_vmemalloc \- allocate memory in a flexible manner +.SH SYNOPSIS +.nf +#include <libsimple.h> + +enum libsimple_memalloc_option { + /* constants omitted, see \fBDESCRIPTION\fP */ +}; + +void *libsimple_vmemalloc(size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_envmemalloc(int \fIstatus\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evmemalloc(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_memalloc(size_t \fIn\fP, ..., /* LIBSIMPLE_MEMALLOC_END */); +static inline void *libsimple_enmemalloc(int \fIstatus\fP, size_t \fIn\fP, ..., /* LIBSIMPLE_MEMALLOC_END */); +static inline void *libsimple_ememalloc(size_t \fIn\fP, ..., /* LIBSIMPLE_MEMALLOC_END */); +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vmemalloc () +function is a flexible alternative to standard allocation +functions. +.PP +.I va +is a list of options that specify the behaviour, its +end is marked by +.BR LIBSIMPLE_MEMALLOC_END , +the following options (which is the type +.BR "enum libsimple_memalloc_option" ) +are recognised: +.TP +.B LIBSIMPLE_MEMALLOC_ZERO_INIT +The allocated memory shall be initialisd with NUL bytes. +.TP +.B LIBSIMPLE_MEMALLOC_CONDITIONAL_ZERO_INIT +The allocated memory shall be initialisd with NUL bytes +with the argument, which should be of the type +.BR int , +is nonzero. +.TP +.B LIBSIMPLE_MEMALLOC_UNIQUE_IF_ZERO +If attempting to allocate 0 bytes, +rather than failing with +.I errno +set to +.BR EINVAL , +a unique pointer (that can be deallocated) +should be returned. +.TP +.B LIBSIMPLE_MEMALLOC_NULL_IF_ZERO +If attempting to allocate 0 bytes, +rather than failing with +.I errno +set to +.BR EINVAL , +a +.B NULL +should be returned. +.TP +.B LIBSIMPLE_MEMALLOC_ALIGNMENT +The value of the next argument, which should be of the type +.BR size_t , +should be used as the alignment of the returned pointer. +By default the alignment is +.IR "alignof(max_align_t)" . +.TP +.B LIBSIMPLE_MEMALLOC_PAGE_ALIGNMENT +The alignment of the returned pointer should be the page size. +By default the alignment is +.IR "alignof(max_align_t)" . +.TP +.B LIBSIMPLE_MEMALLOC_ROUND_UP_SIZE_TO_ALIGNMENT +The number of bytes to allocated should be rounded up to +the next multiple of the alignment, unless it already is +a multiple of the alignment. +.TP +.B LIBSIMPLE_MEMALLOC_ELEMENT_SIZE +The next argument, which should be of the type +.BR size_t , +shall act as a multiplier for the number of bytes to allocate +(default multiplier is 1), effectively, making the specified +allocation size specified in elements rather than in bytes. +.TP +.B LIBSIMPLE_MEMALLOC_PRODUCT_SIZE +If +.I n +is zero, the product of the following arguments, +which should be of the type +.BR size_t , +up to the first 0, shall be used as the allocation size. +If +.I n +is not zero, the product of the following +.I n +arguments, also of type +.BR size_t , +shall be used as the allocation size. +By default +.I n +bytes are allocated. +.TP +.B LIBSIMPLE_MEMALLOC_VA_PRODUCT_SIZE +Like +.BR LIBSIMPLE_MEMALLOC_PRODUCT_SIZE , +the arguments are read from the next argument, +which should be of the type +.BR va_list . +.TP +.B LIBSIMPLE_MEMALLOC_1_VA_PRODUCT_SIZE +Like +.BR LIBSIMPLE_MEMALLOC_PRODUCT_SIZE , +except two arguments read from +.IR ap : +a +.BR size_t , +which act as the first factor, and a +.B va_list +with the rest of the factors. +.TP +.B LIBSIMPLE_MEMALLOC_VA_LIST +Arguments from the next argument, which should be of the type +.B va_list +and should end with +.BR LIBSIMPLE_MEMALLOC_END , +shall be parsed as options for the memory allocation. +.PP +Each +.B enum libsimple_memalloc_option +constant have a self-referencing macros defined +which can be used to test which constants are defined. +.PP +The +.BR libsimple_envmemalloc () +and +.BR libsimple_evmemalloc () +functions are versions of the +.BR libsimple_vmemalloc () +that terminate the process by calling the +.BR libsimple_enprintf (3) +(with +.I status +as the exit value) and +.BR libsimple_eprintf (3) +functions, respectively. +.PP +The +.BR libsimple_memalloc (), +.BR libsimple_enmemalloc (), +and +.BR libsimple_ememalloc () +functions are versions of the +.BR libsimple_vmemalloc (), +.BR libsimple_envmemalloc (), +and +.BR libsimple_evmemalloc () +functions, respectively, that use variadic arguments +instead of +.BR va_list . +.SH RETURN VALUE +The +.BR libsimple_vmemalloc (), +.BR libsimple_envmemalloc (), +.BR libsimple_ememalloc (), +.BR libsimple_memalloc (), +.BR libsimple_enmemalloc (), +and +.BR libsimple_ememalloc () +functions return the a pointer to the allocated +memory upon successful completion; otherwise the +.BR libsimple_vmemalloc () +and +.BR libsimple_memalloc () +functions return +.B NULL +and set +.I errno +to indicate the error, whereas the +.BR libsimple_envmemalloc (), +.BR libsimple_ememalloc (), +.BR libsimple_enmemalloc (), +and +.BR libsimple_ememalloc () +functions terminate the process. +.SH ERRORS +The +.BR libsimple_vmemalloc () +and +.BR libsimple_memalloc () +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_envmemalloc (), +.BR libsimple_ememalloc (), +.BR libsimple_enmemalloc (), +and +.BR libsimple_ememalloc () +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_vmemalloc (), +.br +.BR libsimple_envmemalloc (), +.br +.BR libsimple_ememalloc (), +.br +.BR libsimple_memalloc (), +.br +.BR libsimple_enmemalloc (), +.br +.BR libsimple_ememalloc () +T} Thread safety MT-Safe +T{ +.BR libsimple_vmemalloc (), +.br +.BR libsimple_envmemalloc (), +.br +.BR libsimple_ememalloc (), +.br +.BR libsimple_memalloc (), +.br +.BR libsimple_enmemalloc (), +.br +.BR libsimple_ememalloc () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vmemalloc (), +.br +.BR libsimple_envmemalloc (), +.br +.BR libsimple_ememalloc (), +.br +.BR libsimple_memalloc (), +.br +.BR libsimple_enmemalloc (), +.br +.BR libsimple_ememalloc () +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_varrayalloc (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/man3/libsimple_vposix_memalignn.3 b/man3/libsimple_vposix_memalignn.3 new file mode 100644 index 0000000..f05ab6b --- /dev/null +++ b/man3/libsimple_vposix_memalignn.3 @@ -0,0 +1,235 @@ +.TH LIBSIMPLE_VPOSIX_MEMALIGNN 3 2018-11-03 libsimple +.SH NAME +libsimple_vposix_memalignn \- allocate memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline int libsimple_vposix_memalignn(void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void libsimple_envposix_memalignn(int \fIstatus\fP, void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void libsimple_evposix_memalignn(void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline int libsimple_posix_memalignn(void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void libsimple_enposix_memalignn(int \fIstatus\fP, void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void libsimple_eposix_memalignn(void **\fImemptr\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vposix_memalignn +# define vposix_memalignn libsimple_vposix_memalignn +#endif +#ifndef envposix_memalignn +# define envposix_memalignn libsimple_envposix_memalignn +#endif +#ifndef evposix_memalignn +# define evposix_memalignn libsimple_evposix_memalignn +#endif +#ifndef posix_memalignn +# define posix_memalignn libsimple_posix_memalignn +#endif +#ifndef enposix_memalignn +# define enposix_memalignn libsimple_enposix_memalignn +#endif +#ifndef eposix_memalignn +# define eposix_memalignn libsimple_eposix_memalignn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_posix_memalignn (), +.BR libsimple_enposix_memalignn (), +and +.BR libsimple_eposix_memalignn () +functions allocate +.I N +uninitialised bytes to the heap and store a +pointer with an alignment of +.I alignment +bytes to the allocated memory in +.IR memptr , +where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the pointer stored in +.I memptr +as input when the allocated memory is no longer needed. +.I *memptr +remains unmodified on failure. +.PP +The +.BR libsimple_enposix_memalignn () +and +.BR libsimple_eposix_memalignn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enposix_memalignn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_eposix_memalignn () +function is used. +.PP +The +.BR libsimple_vposix_memalignn (), +.BR libsimple_envposix_memalignn (), +and +.BR libsimple_evposix_memalignn () +functions are versions of the +.BR libsimple_posix_memalignn (), +.BR libsimple_enposix_memalignn (), +and +.BR libsimple_eposix_memalignn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vposix_memalignn () +and +.BR libsimple_posix_memalignn () +functions return 0 upon successful completion; +otherwise an error code is returned to indicate +the error. +.PP +The +.BR libsimple_envposix_memalignn (), +.BR libsimple_evposix_memalignn (), +.BR libsimple_enposix_memalignn (), +and +.BR libsimple_eposix_memalignn () +functions to not return a value, but +terminated the process on failure. +.SH ERRORS +The +.BR libsimple_vposix_memalignn (), +.BR libsimple_posix_memalignn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B EINVAL +.I alignment +is not a multiple of +.IR "sizeof(void *)" . +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envposix_memalignn (), +.BR libsimple_evposix_memalignn (), +.BR libsimple_enposix_memalignn (), +and +.BR libsimple_eposix_memalignn () +functions will 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_vposix_memalignn (), +.br +.BR libsimple_envposix_memalignn (), +.br +.BR libsimple_evposix_memalignn (), +.br +.BR libsimple_posix_memalignn (), +.br +.BR libsimple_enposix_memalignn (), +.br +.BR libsimple_eposix_memalignn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vposix_memalignn (), +.br +.BR libsimple_envposix_memalignn (), +.br +.BR libsimple_evposix_memalignn (), +.br +.BR libsimple_posix_memalignn (), +.br +.BR libsimple_enposix_memalignn (), +.br +.BR libsimple_eposix_memalignn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vposix_memalignn (), +.br +.BR libsimple_envposix_memalignn (), +.br +.BR libsimple_evposix_memalignn (), +.br +.BR libsimple_posix_memalignn (), +.br +.BR libsimple_enposix_memalignn (), +.br +.BR libsimple_eposix_memalignn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR posix_memalign (3) diff --git a/man3/libsimple_vposix_memalignzn.3 b/man3/libsimple_vposix_memalignzn.3 new file mode 100644 index 0000000..481a4b1 --- /dev/null +++ b/man3/libsimple_vposix_memalignzn.3 @@ -0,0 +1,238 @@ +.TH LIBSIMPLE_VPOSIX_MEMALIGNZN 3 2018-11-03 libsimple +.SH NAME +libsimple_vposix_memalignzn \- allocate optionally initialised memory with custom alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_vposix_memalignzn(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +void libsimple_envposix_memalignzn(int \fIstatus\fP, void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void libsimple_evposix_memalignzn(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline int libsimple_posix_memalignzn(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void libsimple_enposix_memalignzn(int \fIstatus\fP, void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline int libsimple_eposix_memalignzn(void **\fImemptr\fP, int \fIclear\fP, size_t \fIalignment\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vposix_memalignzn +# define vposix_memalignzn libsimple_vposix_memalignzn +#endif +#ifndef envposix_memalignzn +# define envposix_memalignzn libsimple_envposix_memalignzn +#endif +#ifndef evposix_memalignzn +# define evposix_memalignzn libsimple_evposix_memalignzn +#endif +#ifndef posix_memalignzn +# define posix_memalignzn libsimple_posix_memalignzn +#endif +#ifndef enposix_memalignzn +# define enposix_memalignzn libsimple_enposix_memalignzn +#endif +#ifndef eposix_memalignzn +# define eposix_memalignzn libsimple_eposix_memalignzn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_posix_memalignzn (), +.BR libsimple_enposix_memalignzn (), +and +.BR libsimple_eposix_memalignzn () +functions allocate +.I N +bytes to the heap and store a pointer with an +alignment of +.I alignment +bytes to the allocated memory in +.IR memptr , +where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the pointer stored in +.I memptr +as input when the allocated memory is no longer needed. +.I *memptr +remains unmodified on failure. +.PP +The +.BR libsimple_enposix_memalignzn () +and +.BR libsimple_eposix_memalignzn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enposix_memalignzn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_eposix_memalignzn () +function is used. +.PP +The +.BR libsimple_vposix_memalignzn (), +.BR libsimple_envposix_memalignzn (), +and +.BR libsimple_evposix_memalignzn () +functions are versions of the +.BR libsimple_posix_memalignzn (), +.BR libsimple_enposix_memalignzn (), +and +.BR libsimple_eposix_memalignzn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vposix_memalignzn () +and +.BR libsimple_posix_memalignzn () +functions return 0 upon successful completion; +otherwise an error code is returned to indicate +the error. +.PP +The +.BR libsimple_envposix_memalignzn (), +.BR libsimple_evposix_memalignzn (), +.BR libsimple_enposix_memalignzn (), +and +.BR libsimple_eposix_memalignzn () +functions do not return a value, but +terminated the process on failure. +.SH ERRORS +The +.BR libsimple_vposix_memalignzn (), +.BR libsimple_posix_memalignzn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B EINVAL +.I alignment +is not a power of two. +.TP +.B EINVAL +.I alignment +is not a multiple of +.IR "sizeof(void *)" . +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envposix_memalignzn (), +.BR libsimple_evposix_memalignzn (), +.BR libsimple_enposix_memalignzn (), +and +.BR libsimple_eposix_memalignzn () +functions will 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_vposix_memalignzn (), +.br +.BR libsimple_envposix_memalignzn (), +.br +.BR libsimple_evposix_memalignzn (), +.br +.BR libsimple_posix_memalignzn (), +.br +.BR libsimple_enposix_memalignzn (), +.br +.BR libsimple_eposix_memalignzn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vposix_memalignzn (), +.br +.BR libsimple_envposix_memalignzn (), +.br +.BR libsimple_evposix_memalignzn (), +.br +.BR libsimple_posix_memalignzn (), +.br +.BR libsimple_enposix_memalignzn (), +.br +.BR libsimple_eposix_memalignzn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vposix_memalignzn (), +.br +.BR libsimple_envposix_memalignzn (), +.br +.BR libsimple_evposix_memalignzn (), +.br +.BR libsimple_posix_memalignzn (), +.br +.BR libsimple_enposix_memalignzn (), +.br +.BR libsimple_eposix_memalignzn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR posix_memalign (3) diff --git a/man3/libsimple_vputenvf.3 b/man3/libsimple_vputenvf.3 new file mode 100644 index 0000000..33c5559 --- /dev/null +++ b/man3/libsimple_vputenvf.3 @@ -0,0 +1,196 @@ +.TH LIBSIMPLE_VPUTENVF 3 2018-10-20 libsimple +.SH NAME +libsimple_vputenvf \- change or add a string formatted value to the environment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +int libsimple_vputenvf(const char *\fIfmt\fP, va_list \fIap\fP); +static inline int libsimple_putenvf(const char *\fIfmt\fP, ...); +void libsimple_envputenvf(int \fIstatus\fP, const char *\fIfmt\fP, va_list \fIap\fP); +static inline void libsimple_enputenvf(int \fIstatus\fP, const char *\fIfmt\fP, ...); +static inline void libsimple_evputenvf(const char *\fIfmt\fP, va_list \fIap\fP); +static inline void libsimple_eputenvf(const char *\fIfmt\fP, ...); + +#ifndef vputenvf +# define vputenvf libsimple_vputenvf +#endif +#ifndef putenvf +# define putenvf libsimple_putenvf +#endif +#ifndef envputenvf +# define envputenvf libsimple_envputenvf +#endif +#ifndef enputenvf +# define enputenvf libsimple_enputenvf +#endif +#ifndef evputenvf +# define evputenvf libsimple_evputenvf +#endif +#ifndef eputenvf +# define eputenvf libsimple_eputenvf +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vputenvf () +function constructs a string using the +.BR vsprintf (3) +function, and adds it to the environment, overriding +its old value if it already exists. The string shall be on +the format \fB\(dq\fP\fIname\fP\fB=\fP\fIvalue\fP\fB\(dq\fP; +however this is not strictly enforced, see +.BR NOTES . +The parameter +.I fmt +is used as the format string for the +.BR vsprintf (3) +function, and the parameter +.I ap +is used as the formatting arguments. +.PP +The +.BR libsimple_putenvf () +function is a version of the +.BR libsimple_vputenvf () +function that uses variadic arguments instead of +.BR va_list . +.PP +The +.BR libsimple_envputenvf () +and +.BR libsimple_evputenvf () +functions are versions of the +.BR libsimple_vputenvf () +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf (3) +for more information. +.PP +The +.BR libsimple_enputenvf () +and +.BR libsimple_eputenvf () +functions are versions of the +.BR libsimple_putenvf () +function that call the +.BR libsimple_enprintf (3) +function on failure, causing the process to print +an error message and exit. See +.BR libsimple_enprintf () +for more information. +.PP +Modifications made to the environment do not become +visible to other process until the process image is +changed. +.SH RETURN VALUE +Upon successful completion, the +.BR libsimple_vputenvf () +and +.BR libsimple_putenvf () +functions return 0; otherwise, they return \-1 and set +.I errno +to indicate the error. +.SH ERRORS +The +.BR libsimple_vputenvf () +and +.BR libsimple_putenvf () +functions will fail if: +.TP +.B EINVAL +The construct string is empty or starts with the +.B '=' +character. +.TP +.B ENOMEM +Insufficient memory was available. +.PP +They may also fail for any reason specified for the +.BR vsnprintf (3) +function. +.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_vputenvf (), +.br +.BR libsimple_putenvf (), +.br +.BR libsimple_envputenvf (), +.br +.BR libsimple_enputenvf (), +.br +.BR libsimple_evputenvf (), +.br +.BR libsimple_eputenvf () +T} Thread safety MT-Safe env +T{ +.BR libsimple_vputenvf (), +.br +.BR libsimple_putenvf (), +.br +.BR libsimple_envputenvf (), +.br +.BR libsimple_enputenvf (), +.br +.BR libsimple_evputenvf (), +.br +.BR libsimple_eputenvf () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vputenvf (), +.br +.BR libsimple_putenvf (), +.br +.BR libsimple_envputenvf (), +.br +.BR libsimple_enputenvf (), +.br +.BR libsimple_evputenvf (), +.br +.BR libsimple_eputenvf () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +If the construct does not contain the +.B '=' +character, it may still be added to the environment, +however this can cause problem for some programs, and +the behaviour is unspecified when countered by the +.BR getenv (3), +.BR putenv (3), +.BR setenv (3), +and +.BR unsetenv (3) +functions. +.SH BUGS +There is no mechanism for detecting which entries in the +environment are statically allocated and which are +dynamically allocated, this can lead to memory leaks +with are detected by +.BR valgrind (1). +.SH SEE ALSO +.BR putenv (3), +.BR setenv (3), +.BR unsetenv (3), +.BR getenv (3), +.BR environ (3) diff --git a/man3/libsimple_vpvallocn.3 b/man3/libsimple_vpvallocn.3 new file mode 100644 index 0000000..4c05134 --- /dev/null +++ b/man3/libsimple_vpvallocn.3 @@ -0,0 +1,230 @@ +.TH LIBSIMPLE_VPVALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_vpvallocn \- allocate memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vpvallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envpvallocn(int \fIstatus\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evpvallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_pvallocn(size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enpvallocn(int \fIstatus\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_epvallocn(size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vpvallocn +# define vpvallocn libsimple_vpvallocn +#endif +#ifndef envpvallocn +# define envpvallocn libsimple_envpvallocn +#endif +#ifndef evpvallocn +# define evpvallocn libsimple_evpvallocn +#endif +#ifndef pvallocn +# define pvallocn libsimple_pvallocn +#endif +#ifndef enpvallocn +# define enpvallocn libsimple_enpvallocn +#endif +#ifndef epvallocn +# define epvallocn libsimple_epvallocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_pvallocn (), +.BR libsimple_enpvallocn (), +and +.BR libsimple_epvallocn () +functions allocate +.I N +uninitialised bytes, rounded up to the next multiple +of the page size, to the heap and return a +pointer with an alignment of the page size +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enpvallocn () +and +.BR libsimple_epvallocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enpvallocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_epvallocn () +function is used. +.PP +The +.BR libsimple_vpvallocn (), +.BR libsimple_envpvallocn (), +and +.BR libsimple_evpvallocn () +functions are versions of the +.BR libsimple_pvallocn (), +.BR libsimple_enpvallocn (), +and +.BR libsimple_epvallocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vpvallocn (), +.BR libsimple_envpvallocn (), +.BR libsimple_evpvallocn (), +.BR libsimple_pvallocn (), +.BR libsimple_enpvallocn (), +and +.BR libsimple_epvallocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vpvallocn () +and +.BR libsimple_pvallocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envpvallocn (), +.BR libsimple_evpvallocn (), +.BR libsimple_enpvallocn (), +and +.BR libsimple_epvallocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vpvallocn (), +.BR libsimple_pvallocn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envpvallocn (), +.BR libsimple_evpvallocn (), +.BR libsimple_enpvallocn (), +and +.BR libsimple_epvallocn () +functions will 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_vpvallocn (), +.br +.BR libsimple_envpvallocn (), +.br +.BR libsimple_evpvallocn (), +.br +.BR libsimple_pvallocn (), +.br +.BR libsimple_enpvallocn (), +.br +.BR libsimple_epvallocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vpvallocn (), +.br +.BR libsimple_envpvallocn (), +.br +.BR libsimple_evpvallocn (), +.br +.BR libsimple_pvallocn (), +.br +.BR libsimple_enpvallocn (), +.br +.BR libsimple_epvallocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vpvallocn (), +.br +.BR libsimple_envpvallocn (), +.br +.BR libsimple_evpvallocn (), +.br +.BR libsimple_pvallocn (), +.br +.BR libsimple_enpvallocn (), +.br +.BR libsimple_epvallocn () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR pvalloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vpvalloczn (3), +.BR libsimple_valloc (3), +.BR libsimple_vallocz (3), +.BR libsimple_vvallocn (3), +.BR libsimple_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vpvalloczn.3 b/man3/libsimple_vpvalloczn.3 new file mode 100644 index 0000000..be9f1c5 --- /dev/null +++ b/man3/libsimple_vpvalloczn.3 @@ -0,0 +1,232 @@ +.TH LIBSIMPLE_VPVALLOCZN 3 2018-11-03 libsimple +.SH NAME +libsimple_vpvalloczn \- allocate optionally initialised memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vpvalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envpvalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evpvalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_pvalloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enpvalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_epvalloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vpvalloczn +# define vpvalloczn libsimple_vpvalloczn +#endif +#ifndef envpvalloczn +# define envpvalloczn libsimple_envpvalloczn +#endif +#ifndef evpvalloczn +# define evpvalloczn libsimple_evpvalloczn +#endif +#ifndef pvalloczn +# define pvalloczn libsimple_pvalloczn +#endif +#ifndef enpvalloczn +# define enpvalloczn libsimple_enpvalloczn +#endif +#ifndef epvalloczn +# define epvalloczn libsimple_epvalloczn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_pvalloczn (), +.BR libsimple_enpvalloczn (), +and +.BR libsimple_epvalloczn () +functions allocate +.I N +bytes, rounded up to the next multiple of the page size, +to the heap and return a pointer with an alignment of +the page size to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enpvalloczn () +and +.BR libsimple_epvalloczn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enpvalloczn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_epvalloczn () +function is used. +.PP +The +.BR libsimple_vpvalloczn (), +.BR libsimple_envpvalloczn (), +and +.BR libsimple_evpvalloczn () +functions are versions of the +.BR libsimple_pvalloczn (), +.BR libsimple_enpvalloczn (), +and +.BR libsimple_epvalloczn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vpvalloczn (), +.BR libsimple_envpvalloczn (), +.BR libsimple_evpvalloczn (), +.BR libsimple_pvalloczn (), +.BR libsimple_enpvalloczn (), +and +.BR libsimple_epvalloczn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vpvalloczn () +and +.BR libsimple_pvalloczn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envpvalloczn (), +.BR libsimple_evpvalloczn (), +.BR libsimple_enpvalloczn (), +and +.BR libsimple_epvalloczn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vpvalloczn (), +.BR libsimple_pvalloczn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envpvalloczn (), +.BR libsimple_evpvalloczn (), +.BR libsimple_enpvalloczn (), +and +.BR libsimple_epvalloczn () +functions will 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_vpvalloczn (), +.br +.BR libsimple_envpvalloczn (), +.br +.BR libsimple_evpvalloczn (), +.br +.BR libsimple_pvalloczn (), +.br +.BR libsimple_enpvalloczn (), +.br +.BR libsimple_epvalloczn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vpvalloczn (), +.br +.BR libsimple_envpvalloczn (), +.br +.BR libsimple_evpvalloczn (), +.br +.BR libsimple_pvalloczn (), +.br +.BR libsimple_enpvalloczn (), +.br +.BR libsimple_epvalloczn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vpvalloczn (), +.br +.BR libsimple_envpvalloczn (), +.br +.BR libsimple_evpvalloczn (), +.br +.BR libsimple_pvalloczn (), +.br +.BR libsimple_enpvalloczn (), +.br +.BR libsimple_epvalloczn () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR pvalloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_valloc (3), +.BR libsimple_vallocz (3), +.BR libsimple_vvallocn (3), +.BR libsimple_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vreallocn.3 b/man3/libsimple_vreallocn.3 new file mode 100644 index 0000000..2f61307 --- /dev/null +++ b/man3/libsimple_vreallocn.3 @@ -0,0 +1,243 @@ +.TH LIBSIMPLE_VREALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_vreallocn \- reallocate memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_vreallocn(void *\fIptr\fP, size_t \fIn\fP, va_list \fIap\fP); +void *libsimple_envreallocn(int \fIstatus\fP, void *\fIptr\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evreallocn(void *\fIptr\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_reallocn(void *\fIptr\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_enreallocn(int \fIstatus\fP, void *\fIptr\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_ereallocn(void *\fIptr\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vreallocn +# define vreallocn libsimple_vreallocn +#endif +#ifndef envreallocn +# define envreallocn libsimple_envreallocn +#endif +#ifndef evreallocn +# define evreallocn libsimple_evreallocn +#endif +#ifndef reallocn +# define reallocn libsimple_reallocn +#endif +#ifndef enreallocn +# define enreallocn libsimple_enreallocn +#endif +#ifndef ereallocn +# define ereallocn libsimple_ereallocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_reallocn (), +.BR libsimple_enreallocn (), +and +.BR libsimple_ereallocn () +functions are wrappers for the +.BR realloc (3) +function, they reallocate memory allocated on +the heap and return the older pointer ot a new +pointer with the alignment of +.I alignof(max_align_t) +to the allocated memory of +.I N +bytes, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The returned pointer will contain the +same content as +.IR ptr , +but truncated to +.I N +bytes if it is smaller or with the new bytes +unitialised if it is larger. If a new pointer +is returned, rather than +.IR ptr , +.I ptr +is deallocated; +.I ptr +is not deallocated on failure. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_enreallocn () +and +.BR libsimple_ereallocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_enreallocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_ereallocn () +function is used. +.PP +The +.BR libsimple_vreallocn (), +.BR libsimple_envreallocn (), +and +.BR libsimple_evreallocn () +functions are versions of the +.BR libsimple_reallocn (), +.BR libsimple_enreallocn (), +and +.BR libsimple_ereallocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vreallocn (), +.BR libsimple_envreallocn (), +.BR libsimple_evreallocn (), +.BR libsimple_reallocn (), +.BR libsimple_enreallocn (), +and +.BR libsimple_ereallocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vreallocn () +and +.BR libsimple_reallocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envreallocn (), +.BR libsimple_evreallocn (), +.BR libsimple_enreallocn (), +and +.BR libsimple_ereallocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vreallocn (), +.BR libsimple_reallocn () +function will fail for the reasons specified for the +.BR realloc (3) +function, and if: +.TP +.B EINVAL +.I n +is 0. +.PP +The +.BR libsimple_envreallocn (), +.BR libsimple_evreallocn (), +.BR libsimple_enreallocn (), +and +.BR libsimple_ereallocn () +functions will 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_vreallocn (), +.br +.BR libsimple_envreallocn (), +.br +.BR libsimple_evreallocn (), +.br +.BR libsimple_reallocn (), +.br +.BR libsimple_enreallocn (), +.br +.BR libsimple_ereallocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vreallocn (), +.br +.BR libsimple_envreallocn (), +.br +.BR libsimple_evreallocn (), +.br +.BR libsimple_reallocn (), +.br +.BR libsimple_enreallocn (), +.br +.BR libsimple_ereallocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vreallocn (), +.br +.BR libsimple_envreallocn (), +.br +.BR libsimple_evreallocn (), +.br +.BR libsimple_reallocn (), +.br +.BR libsimple_enreallocn (), +.br +.BR libsimple_ereallocn () +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_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_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), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3), +.BR malloc (3) diff --git a/man3/libsimple_vvallocn.3 b/man3/libsimple_vvallocn.3 new file mode 100644 index 0000000..e21d37b --- /dev/null +++ b/man3/libsimple_vvallocn.3 @@ -0,0 +1,229 @@ +.TH LIBSIMPLE_VVALLOCN 3 2018-11-03 libsimple +.SH NAME +libsimple_vvallocn \- allocate memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vvallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envvallocn(int \fIstatus\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evvallocn(size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_vallocn(size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_envallocn(int \fIstatus\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_evallocn(size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vvallocn +# define vvallocn libsimple_vvallocn +#endif +#ifndef envvallocn +# define envvallocn libsimple_envvallocn +#endif +#ifndef evvallocn +# define evvallocn libsimple_evvallocn +#endif +#ifndef vallocn +# define vallocn libsimple_vallocn +#endif +#ifndef envallocn +# define envallocn libsimple_envallocn +#endif +#ifndef evallocn +# define evallocn libsimple_evallocn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vallocn (), +.BR libsimple_envallocn (), +and +.BR libsimple_evallocn () +functions allocate +.I N +uninitialised bytes to the heap and return a +pointer with an alignment of the page size +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_envallocn () +and +.BR libsimple_evallocn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_envallocn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_evallocn () +function is used. +.PP +The +.BR libsimple_vvallocn (), +.BR libsimple_envvallocn (), +and +.BR libsimple_evvallocn () +functions are versions of the +.BR libsimple_vallocn (), +.BR libsimple_envallocn (), +and +.BR libsimple_evallocn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vvallocn (), +.BR libsimple_envvallocn (), +.BR libsimple_evvallocn (), +.BR libsimple_vallocn (), +.BR libsimple_envallocn (), +and +.BR libsimple_evallocn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vvallocn () +and +.BR libsimple_vallocn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envvallocn (), +.BR libsimple_evvallocn (), +.BR libsimple_envallocn (), +and +.BR libsimple_evallocn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vvallocn (), +.BR libsimple_vallocn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envvallocn (), +.BR libsimple_evvallocn (), +.BR libsimple_envallocn (), +and +.BR libsimple_evallocn () +functions will 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_vvallocn (), +.br +.BR libsimple_envvallocn (), +.br +.BR libsimple_evvallocn (), +.br +.BR libsimple_vallocn (), +.br +.BR libsimple_envallocn (), +.br +.BR libsimple_evallocn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vvallocn (), +.br +.BR libsimple_envvallocn (), +.br +.BR libsimple_evvallocn (), +.br +.BR libsimple_vallocn (), +.br +.BR libsimple_envallocn (), +.br +.BR libsimple_evallocn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vvallocn (), +.br +.BR libsimple_envvallocn (), +.br +.BR libsimple_evvallocn (), +.br +.BR libsimple_vallocn (), +.br +.BR libsimple_envallocn (), +.br +.BR libsimple_evallocn () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR valloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vvalloczn (3), +.BR libsimple_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vvalloczn.3 b/man3/libsimple_vvalloczn.3 new file mode 100644 index 0000000..1b7a8e0 --- /dev/null +++ b/man3/libsimple_vvalloczn.3 @@ -0,0 +1,232 @@ +.TH LIBSIMPLE_VVALLOCZN 3 2018-11-03 libsimple +.SH NAME +libsimple_vvalloczn \- allocate optionally initialised memory with page size alignment +.SH SYNOPSIS +.nf +#include <libsimple.h> + +static inline void *libsimple_vvalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_envvalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_evvalloczn(int \fIclear\fP, size_t \fIn\fP, va_list \fIap\fP); +static inline void *libsimple_valloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_envalloczn(int \fIstatus\fP, int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); +static inline void *libsimple_evalloczn(int \fIclear\fP, size_t \fIn\fP, ..., /* (size_t)0 */); + +#ifndef vvalloczn +# define vvalloczn libsimple_vvalloczn +#endif +#ifndef envvalloczn +# define envvalloczn libsimple_envvalloczn +#endif +#ifndef evvalloczn +# define evvalloczn libsimple_evvalloczn +#endif +#ifndef valloczn +# define valloczn libsimple_valloczn +#endif +#ifndef envalloczn +# define envalloczn libsimple_envalloczn +#endif +#ifndef evalloczn +# define evalloczn libsimple_evalloczn +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_valloczn (), +.BR libsimple_envalloczn (), +and +.BR libsimple_evalloczn () +functions allocate +.I N +bytes to the heap and return a pointer with an +alignment of the page size +to the allocated memory, where +.I N +is the product of +.I n +and all following arguments (which should have the type +.BR size_t ) +up to the first 0; +.I n +must not be 0. The memory will be initialised +with zeroes if +.I clear +is a non-zero value. The function +.BR free (3) +shall be called with the returned pointer as +input when the allocated memory is no longer needed. +.PP +The +.BR libsimple_envalloczn () +and +.BR libsimple_evalloczn () +functions will terminate the process if the memory +cannot be allocated, by calling the +.BR libsimple_enprintf () +and +.BR libsimple_eprintf () +functions, respectively. +On failure, the process's exit value will be +.I status +if the +.BR libsimple_envalloczn () +function is used or +.IR libsimple_default_failure_exit (3) +if the +.BR libsimple_evalloczn () +function is used. +.PP +The +.BR libsimple_vvalloczn (), +.BR libsimple_envvalloczn (), +and +.BR libsimple_evvalloczn () +functions are versions of the +.BR libsimple_valloczn (), +.BR libsimple_envalloczn (), +and +.BR libsimple_evalloczn (), +respectively, that use +.B va_list +instead of variadic arguments. +.SH RETURN VALUE +The +.BR libsimple_vvalloczn (), +.BR libsimple_envvalloczn (), +.BR libsimple_evvalloczn (), +.BR libsimple_valloczn (), +.BR libsimple_envalloczn (), +and +.BR libsimple_evalloczn () +functions return a pointer to the allocated memory +upon success completion; otherwise the +.BR libsimple_vvalloczn () +and +.BR libsimple_valloczn () +functions return +.B NULL +and set +.I errno +it indicate the error, and the +.BR libsimple_envvalloczn (), +.BR libsimple_evvalloczn (), +.BR libsimple_envalloczn (), +and +.BR libsimple_evalloczn () +functions terminated the process. +.SH ERRORS +The +.BR libsimple_vvalloczn (), +.BR libsimple_valloczn () +function will fail if: +.TP +.B EINVAL +.I n +is 0. +.TP +.B ENOMEM +Enough memory could not be allocated. +.PP +The +.BR libsimple_envvalloczn (), +.BR libsimple_evvalloczn (), +.BR libsimple_envalloczn (), +and +.BR libsimple_evalloczn () +functions will 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_vvalloczn (), +.br +.BR libsimple_envvalloczn (), +.br +.BR libsimple_evvalloczn (), +.br +.BR libsimple_valloczn (), +.br +.BR libsimple_envalloczn (), +.br +.BR libsimple_evalloczn () +T} Thread safety MT-Safe +T{ +.BR libsimple_vvalloczn (), +.br +.BR libsimple_envvalloczn (), +.br +.BR libsimple_evvalloczn (), +.br +.BR libsimple_valloczn (), +.br +.BR libsimple_envalloczn (), +.br +.BR libsimple_evalloczn () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vvalloczn (), +.br +.BR libsimple_envvalloczn (), +.br +.BR libsimple_evvalloczn (), +.br +.BR libsimple_valloczn (), +.br +.BR libsimple_envalloczn (), +.br +.BR libsimple_evalloczn () +T} Async-cancel safety AC-Safe +.TE +.SH EXAMPLES +None. +.SH APPLICATION USAGE +None. +.SH RATIONALE +None. +.SH FUTURE DIRECTIONS +None. +.SH NOTES +The GNU implementation of +.BR valloc (3) +is \(dqMT-Unsafe init\(dq. +.SH BUGS +None. +.SH SEE ALSO +.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_vmemalloc (3), +.BR libsimple_varrayalloc (3) diff --git a/man3/libsimple_vweprintf.3 b/man3/libsimple_vweprintf.3 new file mode 100644 index 0000000..06d339d --- /dev/null +++ b/man3/libsimple_vweprintf.3 @@ -0,0 +1,221 @@ +.TH LIBSIMPLE_VWEPRINTF 3 2018-11-06 libsimple +.SH NAME +libsimple_vweprintf \- print an error message +.SH SYNOPSIS +.nf +#include <libsimple.h> + +extern int libsimple_default_failure_exit; +extern void (*libsimple_eprint_preprint)(void); +extern void (*libsimple_eprint_postprint)(void); + +void libsimple_vweprintf(const char *\fIfmt\fP, va_list \fIap\fP); +static inline void libsimple_weprintf(const char *\fIfmt\fP, ...); +static inline void libsimple_venprintf(int \fIstatus\fP, const char *\fIfmt\fP, va_list \fIap\fP); +static inline void libsimple_enprintf(int \fIstatus\fP, const char *\fIfmt\fP, ...); +static inline void libsimple_veprintf(const char *\fIfmt\fP, va_list \fIap\fP); +static inline void libsimple_eprintf(const char *\fIfmt\fP, ...); + +#ifndef vweprintf +# define vweprintf libsimple_vweprintf +#endif +#ifndef weprintf +# define weprintf libsimple_weprintf +#endif +#ifndef venprintf +# define venprintf libsimple_venprintf +#endif +#ifndef enprintf +# define enprintf libsimple_enprintf +#endif +#ifndef veprintf +# define veprintf libsimple_veprintf +#endif +#ifndef eprintf +# define eprintf libsimple_eprintf +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_vweprintf () +function is a version of the +.BR printf (3) +function. It prints the string to the standard error +(rather than the standard output), and attempts to +avoid output mangling in case multiple processes are +writting. Additionally, the output is suffixed with +.nf + + \fB\(dq %s\en\(dq, \fP<\fIerror message\fP> + +.fi +if +.I fmt +ends with a colon +.RB ( : ), +otherwise it is suffixed with a <newline> if +.I fmt +does not end with a <newline>; otherwise, if +.I fmt +is the empty string, the output is suffixed with +.nf + + \fB\(dq%s\en\(dq, \fP<\fIerror message\fP> + +.fi +Furthermore, if +.I argv0 +.RB ( "char *" ) +is non-null and +.I fmt +does not start with +.RB \(dq "usage :" \(dq, +the output is preffixed with +.nf + + \fB\(dq%s: \(dq, \fP\fIargv0\fP +.fi +.PP +The +.BR libsimple_weprintf () +function is a version of the +.BR libsimple_vweprintf () +function that uses variadic arguments instead of +.BR va_list . +.PP +The +.BR libsimple_venprintf () +and +.BR libsimple_enprintf () +functions are versions of the +.BR libsimple_vweprintf () +and +.BR libsimple_weprintf () +functions that terminate the process by calling +.BR exit (3), +the exit value of the process will be +.IR status . +.PP +The +.BR libsimple_veprintf () +and +.BR libsimple_eprintf () +functions are versions of the +.BR libsimple_vweprintf () +and +.BR libsimple_weprintf () +functions that terminate the process by calling +.BR exit (3), +the exit value of the process will be +.IR libsimple_default_failure_exit (3), +which is 1 by default. +.PP +The +.BR libsimple_vweprintf (), +.BR libsimple_weprintf (), +.BR libsimple_venprintf (), +.BR libsimple_enprintf (), +.BR libsimple_veprintf (), +and +.BR libsimple_eprintf () +functions call +.I libsimple_eprint_preprint +unless it is +.B NULL +before they print the message, after printing +the message they call +.I libsimple_eprint_postprint +unless it is +.BR NULL . +The +.I libsimple_eprint_preprint +and +.I libsimple_eprint_postprint +variables are +.B NULL +byte default. +.I errno +may have a different value from when the +.BR libsimple_vweprintf (), +.BR libsimple_weprintf (), +.BR libsimple_venprintf (), +.BR libsimple_enprintf (), +.BR libsimple_veprintf (), +or +.BR libsimple_eprintf () +function called when +.I libsimple_eprint_preprint +or +.I libsimple_eprint_postprint +is called. +.SH RETURN VALUE +None. +.SH ERRORS +None. +.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_vweprintf (), +.br +.BR libsimple_weprintf (), +.br +.BR libsimple_venprintf (), +.br +.BR libsimple_enprintf (), +.br +.BR libsimple_veprintf (), +.br +.BR libsimple_eprintf () +T} Thread safety MT-Unsafe race:strerror +T{ +.BR libsimple_vweprintf (), +.br +.BR libsimple_weprintf (), +.br +.BR libsimple_venprintf (), +.br +.BR libsimple_enprintf (), +.br +.BR libsimple_veprintf (), +.br +.BR libsimple_eprintf () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_vweprintf (), +.br +.BR libsimple_weprintf (), +.br +.BR libsimple_venprintf (), +.br +.BR libsimple_enprintf (), +.br +.BR libsimple_veprintf (), +.br +.BR libsimple_eprintf () +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 perror (3), +.BR fprintf (3), +.BR exit (3) diff --git a/man3/libsimple_weprintf.3 b/man3/libsimple_weprintf.3 new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/libsimple_weprintf.3 @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/mallocn.3libsimple b/man3/mallocn.3libsimple new file mode 120000 index 0000000..23348f2 --- /dev/null +++ b/man3/mallocn.3libsimple @@ -0,0 +1 @@ +libsimple_mallocn.3
\ No newline at end of file diff --git a/man3/mallocz.3libsimple b/man3/mallocz.3libsimple new file mode 120000 index 0000000..cfa0ffc --- /dev/null +++ b/man3/mallocz.3libsimple @@ -0,0 +1 @@ +libsimple_mallocz.3
\ No newline at end of file diff --git a/man3/malloczn.3libsimple b/man3/malloczn.3libsimple new file mode 120000 index 0000000..eb274c9 --- /dev/null +++ b/man3/malloczn.3libsimple @@ -0,0 +1 @@ +libsimple_malloczn.3
\ No newline at end of file diff --git a/man3/memalign.3libsimple b/man3/memalign.3libsimple new file mode 120000 index 0000000..e56731a --- /dev/null +++ b/man3/memalign.3libsimple @@ -0,0 +1 @@ +libsimple_memalign.3
\ No newline at end of file diff --git a/man3/memalignn.3libsimple b/man3/memalignn.3libsimple new file mode 120000 index 0000000..411c2eb --- /dev/null +++ b/man3/memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_memalignn.3
\ No newline at end of file diff --git a/man3/memalignz.3libsimple b/man3/memalignz.3libsimple new file mode 120000 index 0000000..e468464 --- /dev/null +++ b/man3/memalignz.3libsimple @@ -0,0 +1 @@ +libsimple_memalignz.3
\ No newline at end of file diff --git a/man3/memalignzn.3libsimple b/man3/memalignzn.3libsimple new file mode 120000 index 0000000..24dc74d --- /dev/null +++ b/man3/memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_memalignzn.3
\ No newline at end of file diff --git a/man3/memcasechr.3libsimple b/man3/memcasechr.3libsimple new file mode 120000 index 0000000..e7d10b2 --- /dev/null +++ b/man3/memcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_memcasechr.3
\ No newline at end of file diff --git a/man3/memcasecmp.3libsimple b/man3/memcasecmp.3libsimple new file mode 120000 index 0000000..275bff4 --- /dev/null +++ b/man3/memcasecmp.3libsimple @@ -0,0 +1 @@ +libsimple_memcasecmp.3
\ No newline at end of file diff --git a/man3/memcaseends.3libsimple b/man3/memcaseends.3libsimple new file mode 120000 index 0000000..4068e05 --- /dev/null +++ b/man3/memcaseends.3libsimple @@ -0,0 +1 @@ +libsimple_memcaseends.3
\ No newline at end of file diff --git a/man3/memcaseeq.3libsimple b/man3/memcaseeq.3libsimple new file mode 120000 index 0000000..0ec4ac0 --- /dev/null +++ b/man3/memcaseeq.3libsimple @@ -0,0 +1 @@ +libsimple_memcaseeq.3
\ No newline at end of file diff --git a/man3/memcaseeqlen.3libsimple b/man3/memcaseeqlen.3libsimple new file mode 120000 index 0000000..5fa4167 --- /dev/null +++ b/man3/memcaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_memcaseeqlen.3
\ No newline at end of file diff --git a/man3/memcasemem.3libsimple b/man3/memcasemem.3libsimple new file mode 120000 index 0000000..a9c885d --- /dev/null +++ b/man3/memcasemem.3libsimple @@ -0,0 +1 @@ +libsimple_memcasemem.3
\ No newline at end of file diff --git a/man3/memcasestarts.3libsimple b/man3/memcasestarts.3libsimple new file mode 120000 index 0000000..c450aff --- /dev/null +++ b/man3/memcasestarts.3libsimple @@ -0,0 +1 @@ +libsimple_memcasestarts.3
\ No newline at end of file diff --git a/man3/memdup.3libsimple b/man3/memdup.3libsimple new file mode 120000 index 0000000..ff9fc97 --- /dev/null +++ b/man3/memdup.3libsimple @@ -0,0 +1 @@ +libsimple_memdup.3
\ No newline at end of file diff --git a/man3/memdupa.3libsimple b/man3/memdupa.3libsimple new file mode 120000 index 0000000..9b957e5 --- /dev/null +++ b/man3/memdupa.3libsimple @@ -0,0 +1 @@ +libsimple_memdupa.3
\ No newline at end of file diff --git a/man3/memelem.3libsimple b/man3/memelem.3libsimple new file mode 120000 index 0000000..e1f66cf --- /dev/null +++ b/man3/memelem.3libsimple @@ -0,0 +1 @@ +libsimple_memelem.3
\ No newline at end of file diff --git a/man3/memends.3libsimple b/man3/memends.3libsimple new file mode 120000 index 0000000..5ab92b7 --- /dev/null +++ b/man3/memends.3libsimple @@ -0,0 +1 @@ +libsimple_memends.3
\ No newline at end of file diff --git a/man3/memeq.3libsimple b/man3/memeq.3libsimple new file mode 120000 index 0000000..6d3ecb3 --- /dev/null +++ b/man3/memeq.3libsimple @@ -0,0 +1 @@ +libsimple_memeq.3
\ No newline at end of file diff --git a/man3/memeqlen.3libsimple b/man3/memeqlen.3libsimple new file mode 120000 index 0000000..73567aa --- /dev/null +++ b/man3/memeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_memeqlen.3
\ No newline at end of file diff --git a/man3/memmem.3libsimple b/man3/memmem.3libsimple new file mode 120000 index 0000000..81f1d83 --- /dev/null +++ b/man3/memmem.3libsimple @@ -0,0 +1 @@ +libsimple_memmem.3
\ No newline at end of file diff --git a/man3/mempcpy.3libsimple b/man3/mempcpy.3libsimple new file mode 120000 index 0000000..3ae360f --- /dev/null +++ b/man3/mempcpy.3libsimple @@ -0,0 +1 @@ +libsimple_mempcpy.3
\ No newline at end of file diff --git a/man3/mempset.3libsimple b/man3/mempset.3libsimple new file mode 120000 index 0000000..619340a --- /dev/null +++ b/man3/mempset.3libsimple @@ -0,0 +1 @@ +libsimple_mempset.3
\ No newline at end of file diff --git a/man3/mempsetelem.3libsimple b/man3/mempsetelem.3libsimple new file mode 120000 index 0000000..5c79a07 --- /dev/null +++ b/man3/mempsetelem.3libsimple @@ -0,0 +1 @@ +libsimple_mempsetelem.3
\ No newline at end of file diff --git a/man3/memrcasechr.3libsimple b/man3/memrcasechr.3libsimple new file mode 120000 index 0000000..4337383 --- /dev/null +++ b/man3/memrcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_memrcasechr.3
\ No newline at end of file diff --git a/man3/memrcaseeqlen.3libsimple b/man3/memrcaseeqlen.3libsimple new file mode 120000 index 0000000..5f451d1 --- /dev/null +++ b/man3/memrcaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_memrcaseeqlen.3
\ No newline at end of file diff --git a/man3/memrcasemem.3libsimple b/man3/memrcasemem.3libsimple new file mode 120000 index 0000000..6b52d2c --- /dev/null +++ b/man3/memrcasemem.3libsimple @@ -0,0 +1 @@ +libsimple_memrcasemem.3
\ No newline at end of file diff --git a/man3/memrchr.3libsimple b/man3/memrchr.3libsimple new file mode 120000 index 0000000..1dbd392 --- /dev/null +++ b/man3/memrchr.3libsimple @@ -0,0 +1 @@ +libsimple_memrchr.3
\ No newline at end of file diff --git a/man3/memrelem.3libsimple b/man3/memrelem.3libsimple new file mode 120000 index 0000000..6ca1a18 --- /dev/null +++ b/man3/memrelem.3libsimple @@ -0,0 +1 @@ +libsimple_memrelem.3
\ No newline at end of file diff --git a/man3/memreqlen.3libsimple b/man3/memreqlen.3libsimple new file mode 120000 index 0000000..fd637c4 --- /dev/null +++ b/man3/memreqlen.3libsimple @@ -0,0 +1 @@ +libsimple_memreqlen.3
\ No newline at end of file diff --git a/man3/memrmem.3libsimple b/man3/memrmem.3libsimple new file mode 120000 index 0000000..ff9d6f4 --- /dev/null +++ b/man3/memrmem.3libsimple @@ -0,0 +1 @@ +libsimple_memrmem.3
\ No newline at end of file diff --git a/man3/memsetelem.3libsimple b/man3/memsetelem.3libsimple new file mode 120000 index 0000000..bd94192 --- /dev/null +++ b/man3/memsetelem.3libsimple @@ -0,0 +1 @@ +libsimple_memsetelem.3
\ No newline at end of file diff --git a/man3/memstarts.3libsimple b/man3/memstarts.3libsimple new file mode 120000 index 0000000..40f1024 --- /dev/null +++ b/man3/memstarts.3libsimple @@ -0,0 +1 @@ +libsimple_memstarts.3
\ No newline at end of file diff --git a/man3/minimise_number_string.3libsimple b/man3/minimise_number_string.3libsimple new file mode 120000 index 0000000..7d0d47c --- /dev/null +++ b/man3/minimise_number_string.3libsimple @@ -0,0 +1 @@ +libsimple_minimise_number_string.3
\ No newline at end of file diff --git a/man3/multimespec.3libsimple b/man3/multimespec.3libsimple new file mode 120000 index 0000000..f5d0d9d --- /dev/null +++ b/man3/multimespec.3libsimple @@ -0,0 +1 @@ +libsimple_multimespec.3
\ No newline at end of file diff --git a/man3/multimeval.3libsimple b/man3/multimeval.3libsimple new file mode 120000 index 0000000..ff93d2b --- /dev/null +++ b/man3/multimeval.3libsimple @@ -0,0 +1 @@ +libsimple_multimeval.3
\ No newline at end of file diff --git a/man3/posix_memalignn.3libsimple b/man3/posix_memalignn.3libsimple new file mode 120000 index 0000000..6ec64f0 --- /dev/null +++ b/man3/posix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_posix_memalignn.3
\ No newline at end of file diff --git a/man3/posix_memalignz.3libsimple b/man3/posix_memalignz.3libsimple new file mode 120000 index 0000000..a8aecf3 --- /dev/null +++ b/man3/posix_memalignz.3libsimple @@ -0,0 +1 @@ +libsimple_posix_memalignz.3
\ No newline at end of file diff --git a/man3/posix_memalignzn.3libsimple b/man3/posix_memalignzn.3libsimple new file mode 120000 index 0000000..fbe1b5e --- /dev/null +++ b/man3/posix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_posix_memalignzn.3
\ No newline at end of file diff --git a/man3/putenvf.3libsimple b/man3/putenvf.3libsimple new file mode 120000 index 0000000..c2a50ed --- /dev/null +++ b/man3/putenvf.3libsimple @@ -0,0 +1 @@ +libsimple_putenvf.3
\ No newline at end of file diff --git a/man3/pvalloc.3libsimple b/man3/pvalloc.3libsimple new file mode 120000 index 0000000..d49ae25 --- /dev/null +++ b/man3/pvalloc.3libsimple @@ -0,0 +1 @@ +libsimple_pvalloc.3
\ No newline at end of file diff --git a/man3/pvallocn.3libsimple b/man3/pvallocn.3libsimple new file mode 120000 index 0000000..645a366 --- /dev/null +++ b/man3/pvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_pvallocn.3
\ No newline at end of file diff --git a/man3/pvallocz.3libsimple b/man3/pvallocz.3libsimple new file mode 120000 index 0000000..e3c72f0 --- /dev/null +++ b/man3/pvallocz.3libsimple @@ -0,0 +1 @@ +libsimple_pvallocz.3
\ No newline at end of file diff --git a/man3/pvalloczn.3libsimple b/man3/pvalloczn.3libsimple new file mode 120000 index 0000000..e94e13c --- /dev/null +++ b/man3/pvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_pvalloczn.3
\ No newline at end of file diff --git a/man3/rawmemcasechr.3libsimple b/man3/rawmemcasechr.3libsimple new file mode 120000 index 0000000..2379e2a --- /dev/null +++ b/man3/rawmemcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_rawmemcasechr.3
\ No newline at end of file diff --git a/man3/rawmemchr.3libsimple b/man3/rawmemchr.3libsimple new file mode 120000 index 0000000..5391310 --- /dev/null +++ b/man3/rawmemchr.3libsimple @@ -0,0 +1 @@ +libsimple_rawmemchr.3
\ No newline at end of file diff --git a/man3/rawmemrcasechr.3libsimple b/man3/rawmemrcasechr.3libsimple new file mode 120000 index 0000000..8fd4d5c --- /dev/null +++ b/man3/rawmemrcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_rawmemrcasechr.3
\ No newline at end of file diff --git a/man3/rawmemrchr.3libsimple b/man3/rawmemrchr.3libsimple new file mode 120000 index 0000000..b0c9553 --- /dev/null +++ b/man3/rawmemrchr.3libsimple @@ -0,0 +1 @@ +libsimple_rawmemrchr.3
\ No newline at end of file diff --git a/man3/reallocn.3libsimple b/man3/reallocn.3libsimple new file mode 120000 index 0000000..d80e531 --- /dev/null +++ b/man3/reallocn.3libsimple @@ -0,0 +1 @@ +libsimple_reallocn.3
\ No newline at end of file diff --git a/man3/strcasechr.3libsimple b/man3/strcasechr.3libsimple new file mode 120000 index 0000000..719a07d --- /dev/null +++ b/man3/strcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_strcasechr.3
\ No newline at end of file diff --git a/man3/strcasechrnul.3libsimple b/man3/strcasechrnul.3libsimple new file mode 120000 index 0000000..ff1b0db --- /dev/null +++ b/man3/strcasechrnul.3libsimple @@ -0,0 +1 @@ +libsimple_strcasechrnul.3
\ No newline at end of file diff --git a/man3/strcasecmpnul.3libsimple b/man3/strcasecmpnul.3libsimple new file mode 120000 index 0000000..e356b28 --- /dev/null +++ b/man3/strcasecmpnul.3libsimple @@ -0,0 +1 @@ +libsimple_strcasecmpnul.3
\ No newline at end of file diff --git a/man3/strcaseends.3libsimple b/man3/strcaseends.3libsimple new file mode 120000 index 0000000..c363f5d --- /dev/null +++ b/man3/strcaseends.3libsimple @@ -0,0 +1 @@ +libsimple_strcaseends.3
\ No newline at end of file diff --git a/man3/strcaseeq.3libsimple b/man3/strcaseeq.3libsimple new file mode 120000 index 0000000..2f51780 --- /dev/null +++ b/man3/strcaseeq.3libsimple @@ -0,0 +1 @@ +libsimple_strcaseeq.3
\ No newline at end of file diff --git a/man3/strcaseeqlen.3libsimple b/man3/strcaseeqlen.3libsimple new file mode 120000 index 0000000..36f0971 --- /dev/null +++ b/man3/strcaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strcaseeqlen.3
\ No newline at end of file diff --git a/man3/strcaseeqnul.3libsimple b/man3/strcaseeqnul.3libsimple new file mode 120000 index 0000000..902badb --- /dev/null +++ b/man3/strcaseeqnul.3libsimple @@ -0,0 +1 @@ +libsimple_strcaseeqnul.3
\ No newline at end of file diff --git a/man3/strcasestarts.3libsimple b/man3/strcasestarts.3libsimple new file mode 120000 index 0000000..c2619f3 --- /dev/null +++ b/man3/strcasestarts.3libsimple @@ -0,0 +1 @@ +libsimple_strcasestarts.3
\ No newline at end of file diff --git a/man3/strcasestr.3libsimple b/man3/strcasestr.3libsimple new file mode 120000 index 0000000..7ba4049 --- /dev/null +++ b/man3/strcasestr.3libsimple @@ -0,0 +1 @@ +libsimple_strcasestr.3
\ No newline at end of file diff --git a/man3/strchrnul.3libsimple b/man3/strchrnul.3libsimple new file mode 120000 index 0000000..78ebcea --- /dev/null +++ b/man3/strchrnul.3libsimple @@ -0,0 +1 @@ +libsimple_strchrnul.3
\ No newline at end of file diff --git a/man3/strcmpnul.3libsimple b/man3/strcmpnul.3libsimple new file mode 120000 index 0000000..4cb5905 --- /dev/null +++ b/man3/strcmpnul.3libsimple @@ -0,0 +1 @@ +libsimple_strcmpnul.3
\ No newline at end of file diff --git a/man3/strdupa.3libsimple b/man3/strdupa.3libsimple new file mode 120000 index 0000000..17cc881 --- /dev/null +++ b/man3/strdupa.3libsimple @@ -0,0 +1 @@ +libsimple_strdupa.3
\ No newline at end of file diff --git a/man3/strend.3libsimple b/man3/strend.3libsimple new file mode 120000 index 0000000..0bf4a76 --- /dev/null +++ b/man3/strend.3libsimple @@ -0,0 +1 @@ +libsimple_strend.3
\ No newline at end of file diff --git a/man3/strends.3libsimple b/man3/strends.3libsimple new file mode 120000 index 0000000..21f71aa --- /dev/null +++ b/man3/strends.3libsimple @@ -0,0 +1 @@ +libsimple_strends.3
\ No newline at end of file diff --git a/man3/streq.3libsimple b/man3/streq.3libsimple new file mode 120000 index 0000000..7ad81c1 --- /dev/null +++ b/man3/streq.3libsimple @@ -0,0 +1 @@ +libsimple_streq.3
\ No newline at end of file diff --git a/man3/streqlen.3libsimple b/man3/streqlen.3libsimple new file mode 120000 index 0000000..85b2736 --- /dev/null +++ b/man3/streqlen.3libsimple @@ -0,0 +1 @@ +libsimple_streqlen.3
\ No newline at end of file diff --git a/man3/streqnul.3libsimple b/man3/streqnul.3libsimple new file mode 120000 index 0000000..4f3547a --- /dev/null +++ b/man3/streqnul.3libsimple @@ -0,0 +1 @@ +libsimple_streqnul.3
\ No newline at end of file diff --git a/man3/strisutf8.3libsimple b/man3/strisutf8.3libsimple new file mode 120000 index 0000000..0f01521 --- /dev/null +++ b/man3/strisutf8.3libsimple @@ -0,0 +1 @@ +libsimple_strisutf8.3
\ No newline at end of file diff --git a/man3/strncasechr.3libsimple b/man3/strncasechr.3libsimple new file mode 120000 index 0000000..2d09610 --- /dev/null +++ b/man3/strncasechr.3libsimple @@ -0,0 +1 @@ +libsimple_strncasechr.3
\ No newline at end of file diff --git a/man3/strncasechrnul.3libsimple b/man3/strncasechrnul.3libsimple new file mode 120000 index 0000000..60448c9 --- /dev/null +++ b/man3/strncasechrnul.3libsimple @@ -0,0 +1 @@ +libsimple_strncasechrnul.3
\ No newline at end of file diff --git a/man3/strncasecmpnul.3libsimple b/man3/strncasecmpnul.3libsimple new file mode 120000 index 0000000..a2ed681 --- /dev/null +++ b/man3/strncasecmpnul.3libsimple @@ -0,0 +1 @@ +libsimple_strncasecmpnul.3
\ No newline at end of file diff --git a/man3/strncaseends.3libsimple b/man3/strncaseends.3libsimple new file mode 120000 index 0000000..8e45624 --- /dev/null +++ b/man3/strncaseends.3libsimple @@ -0,0 +1 @@ +libsimple_strncaseends.3
\ No newline at end of file diff --git a/man3/strncaseeq.3libsimple b/man3/strncaseeq.3libsimple new file mode 120000 index 0000000..f0ea42f --- /dev/null +++ b/man3/strncaseeq.3libsimple @@ -0,0 +1 @@ +libsimple_strncaseeq.3
\ No newline at end of file diff --git a/man3/strncaseeqlen.3libsimple b/man3/strncaseeqlen.3libsimple new file mode 120000 index 0000000..18e46e0 --- /dev/null +++ b/man3/strncaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strncaseeqlen.3
\ No newline at end of file diff --git a/man3/strncaseeqnul.3libsimple b/man3/strncaseeqnul.3libsimple new file mode 120000 index 0000000..3d50ddc --- /dev/null +++ b/man3/strncaseeqnul.3libsimple @@ -0,0 +1 @@ +libsimple_strncaseeqnul.3
\ No newline at end of file diff --git a/man3/strncasestarts.3libsimple b/man3/strncasestarts.3libsimple new file mode 120000 index 0000000..50f228e --- /dev/null +++ b/man3/strncasestarts.3libsimple @@ -0,0 +1 @@ +libsimple_strncasestarts.3
\ No newline at end of file diff --git a/man3/strncasestr.3libsimple b/man3/strncasestr.3libsimple new file mode 120000 index 0000000..035c71a --- /dev/null +++ b/man3/strncasestr.3libsimple @@ -0,0 +1 @@ +libsimple_strncasestr.3
\ No newline at end of file diff --git a/man3/strnchr.3libsimple b/man3/strnchr.3libsimple new file mode 120000 index 0000000..43c29bf --- /dev/null +++ b/man3/strnchr.3libsimple @@ -0,0 +1 @@ +libsimple_strnchr.3
\ No newline at end of file diff --git a/man3/strnchrnul.3libsimple b/man3/strnchrnul.3libsimple new file mode 120000 index 0000000..60b8881 --- /dev/null +++ b/man3/strnchrnul.3libsimple @@ -0,0 +1 @@ +libsimple_strnchrnul.3
\ No newline at end of file diff --git a/man3/strncmpnul.3libsimple b/man3/strncmpnul.3libsimple new file mode 120000 index 0000000..fa439bb --- /dev/null +++ b/man3/strncmpnul.3libsimple @@ -0,0 +1 @@ +libsimple_strncmpnul.3
\ No newline at end of file diff --git a/man3/strndupa.3libsimple b/man3/strndupa.3libsimple new file mode 120000 index 0000000..201bc24 --- /dev/null +++ b/man3/strndupa.3libsimple @@ -0,0 +1 @@ +libsimple_strndupa.3
\ No newline at end of file diff --git a/man3/strnend.3libsimple b/man3/strnend.3libsimple new file mode 120000 index 0000000..9f728bf --- /dev/null +++ b/man3/strnend.3libsimple @@ -0,0 +1 @@ +libsimple_strnend.3
\ No newline at end of file diff --git a/man3/strnends.3libsimple b/man3/strnends.3libsimple new file mode 120000 index 0000000..a8a14ee --- /dev/null +++ b/man3/strnends.3libsimple @@ -0,0 +1 @@ +libsimple_strnends.3
\ No newline at end of file diff --git a/man3/strneq.3libsimple b/man3/strneq.3libsimple new file mode 120000 index 0000000..5c125b0 --- /dev/null +++ b/man3/strneq.3libsimple @@ -0,0 +1 @@ +libsimple_strneq.3
\ No newline at end of file diff --git a/man3/strneqlen.3libsimple b/man3/strneqlen.3libsimple new file mode 120000 index 0000000..82589f6 --- /dev/null +++ b/man3/strneqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strneqlen.3
\ No newline at end of file diff --git a/man3/strneqnul.3libsimple b/man3/strneqnul.3libsimple new file mode 120000 index 0000000..d0141dc --- /dev/null +++ b/man3/strneqnul.3libsimple @@ -0,0 +1 @@ +libsimple_strneqnul.3
\ No newline at end of file diff --git a/man3/strnstarts.3libsimple b/man3/strnstarts.3libsimple new file mode 120000 index 0000000..1e8f08a --- /dev/null +++ b/man3/strnstarts.3libsimple @@ -0,0 +1 @@ +libsimple_strnstarts.3
\ No newline at end of file diff --git a/man3/strnstr.3libsimple b/man3/strnstr.3libsimple new file mode 120000 index 0000000..03b83b7 --- /dev/null +++ b/man3/strnstr.3libsimple @@ -0,0 +1 @@ +libsimple_strnstr.3
\ No newline at end of file diff --git a/man3/strrcasechr.3libsimple b/man3/strrcasechr.3libsimple new file mode 120000 index 0000000..c49c441 --- /dev/null +++ b/man3/strrcasechr.3libsimple @@ -0,0 +1 @@ +libsimple_strrcasechr.3
\ No newline at end of file diff --git a/man3/strrcaseeqlen.3libsimple b/man3/strrcaseeqlen.3libsimple new file mode 120000 index 0000000..698634c --- /dev/null +++ b/man3/strrcaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strrcaseeqlen.3
\ No newline at end of file diff --git a/man3/strrcasestr.3libsimple b/man3/strrcasestr.3libsimple new file mode 120000 index 0000000..7c5ce07 --- /dev/null +++ b/man3/strrcasestr.3libsimple @@ -0,0 +1 @@ +libsimple_strrcasestr.3
\ No newline at end of file diff --git a/man3/strreqlen.3libsimple b/man3/strreqlen.3libsimple new file mode 120000 index 0000000..0be1d93 --- /dev/null +++ b/man3/strreqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strreqlen.3
\ No newline at end of file diff --git a/man3/strrncasechr.3libsimple b/man3/strrncasechr.3libsimple new file mode 120000 index 0000000..6316f08 --- /dev/null +++ b/man3/strrncasechr.3libsimple @@ -0,0 +1 @@ +libsimple_strrncasechr.3
\ No newline at end of file diff --git a/man3/strrncaseeqlen.3libsimple b/man3/strrncaseeqlen.3libsimple new file mode 120000 index 0000000..28bc354 --- /dev/null +++ b/man3/strrncaseeqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strrncaseeqlen.3
\ No newline at end of file diff --git a/man3/strrncasestr.3libsimple b/man3/strrncasestr.3libsimple new file mode 120000 index 0000000..86107aa --- /dev/null +++ b/man3/strrncasestr.3libsimple @@ -0,0 +1 @@ +libsimple_strrncasestr.3
\ No newline at end of file diff --git a/man3/strrnchr.3libsimple b/man3/strrnchr.3libsimple new file mode 120000 index 0000000..de1494a --- /dev/null +++ b/man3/strrnchr.3libsimple @@ -0,0 +1 @@ +libsimple_strrnchr.3
\ No newline at end of file diff --git a/man3/strrneqlen.3libsimple b/man3/strrneqlen.3libsimple new file mode 120000 index 0000000..b255358 --- /dev/null +++ b/man3/strrneqlen.3libsimple @@ -0,0 +1 @@ +libsimple_strrneqlen.3
\ No newline at end of file diff --git a/man3/strrnstr.3libsimple b/man3/strrnstr.3libsimple new file mode 120000 index 0000000..d493079 --- /dev/null +++ b/man3/strrnstr.3libsimple @@ -0,0 +1 @@ +libsimple_strrnstr.3
\ No newline at end of file diff --git a/man3/strrstr.3libsimple b/man3/strrstr.3libsimple new file mode 120000 index 0000000..c9f34e7 --- /dev/null +++ b/man3/strrstr.3libsimple @@ -0,0 +1 @@ +libsimple_strrstr.3
\ No newline at end of file diff --git a/man3/strstarts.3libsimple b/man3/strstarts.3libsimple new file mode 120000 index 0000000..2b6b62f --- /dev/null +++ b/man3/strstarts.3libsimple @@ -0,0 +1 @@ +libsimple_strstarts.3
\ No newline at end of file diff --git a/man3/strtotimespec.3libsimple b/man3/strtotimespec.3libsimple new file mode 120000 index 0000000..9bc7f8b --- /dev/null +++ b/man3/strtotimespec.3libsimple @@ -0,0 +1 @@ +libsimple_strtotimespec.3
\ No newline at end of file diff --git a/man3/strtotimeval.3libsimple b/man3/strtotimeval.3libsimple new file mode 120000 index 0000000..21cc596 --- /dev/null +++ b/man3/strtotimeval.3libsimple @@ -0,0 +1 @@ +libsimple_strtotimeval.3
\ No newline at end of file diff --git a/man3/sumtimespec.3libsimple b/man3/sumtimespec.3libsimple new file mode 120000 index 0000000..2bfd9e9 --- /dev/null +++ b/man3/sumtimespec.3libsimple @@ -0,0 +1 @@ +libsimple_sumtimespec.3
\ No newline at end of file diff --git a/man3/sumtimeval.3libsimple b/man3/sumtimeval.3libsimple new file mode 120000 index 0000000..f4df894 --- /dev/null +++ b/man3/sumtimeval.3libsimple @@ -0,0 +1 @@ +libsimple_sumtimeval.3
\ No newline at end of file diff --git a/man3/timespec2timeval.3libsimple b/man3/timespec2timeval.3libsimple new file mode 120000 index 0000000..db76384 --- /dev/null +++ b/man3/timespec2timeval.3libsimple @@ -0,0 +1 @@ +libsimple_timespec2timeval.3
\ No newline at end of file diff --git a/man3/timespectodouble.3libsimple b/man3/timespectodouble.3libsimple new file mode 120000 index 0000000..dcb0a1c --- /dev/null +++ b/man3/timespectodouble.3libsimple @@ -0,0 +1 @@ +libsimple_timespectodouble.3
\ No newline at end of file diff --git a/man3/timespectostr.3libsimple b/man3/timespectostr.3libsimple new file mode 120000 index 0000000..b8e0e0a --- /dev/null +++ b/man3/timespectostr.3libsimple @@ -0,0 +1 @@ +libsimple_timespectostr.3
\ No newline at end of file diff --git a/man3/timeval2timespec.3libsimple b/man3/timeval2timespec.3libsimple new file mode 120000 index 0000000..ea39fdf --- /dev/null +++ b/man3/timeval2timespec.3libsimple @@ -0,0 +1 @@ +libsimple_timeval2timespec.3
\ No newline at end of file diff --git a/man3/timevaltodouble.3libsimple b/man3/timevaltodouble.3libsimple new file mode 120000 index 0000000..87eeb49 --- /dev/null +++ b/man3/timevaltodouble.3libsimple @@ -0,0 +1 @@ +libsimple_timevaltodouble.3
\ No newline at end of file diff --git a/man3/timevaltostr.3libsimple b/man3/timevaltostr.3libsimple new file mode 120000 index 0000000..bab1bb3 --- /dev/null +++ b/man3/timevaltostr.3libsimple @@ -0,0 +1 @@ +libsimple_timevaltostr.3
\ No newline at end of file diff --git a/man3/unlist.3libsimple b/man3/unlist.3libsimple new file mode 120000 index 0000000..d075ee4 --- /dev/null +++ b/man3/unlist.3libsimple @@ -0,0 +1 @@ +libsimple_unlist.3
\ No newline at end of file diff --git a/man3/valigned_allocn.3libsimple b/man3/valigned_allocn.3libsimple new file mode 120000 index 0000000..d552701 --- /dev/null +++ b/man3/valigned_allocn.3libsimple @@ -0,0 +1 @@ +libsimple_valigned_allocn.3
\ No newline at end of file diff --git a/man3/valigned_alloczn.3libsimple b/man3/valigned_alloczn.3libsimple new file mode 120000 index 0000000..aac058b --- /dev/null +++ b/man3/valigned_alloczn.3libsimple @@ -0,0 +1 @@ +libsimple_valigned_alloczn.3
\ No newline at end of file diff --git a/man3/valloc.3libsimple b/man3/valloc.3libsimple new file mode 120000 index 0000000..5879c71 --- /dev/null +++ b/man3/valloc.3libsimple @@ -0,0 +1 @@ +libsimple_valloc.3
\ No newline at end of file diff --git a/man3/vallocn.3libsimple b/man3/vallocn.3libsimple new file mode 120000 index 0000000..56a5822 --- /dev/null +++ b/man3/vallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vallocn.3
\ No newline at end of file diff --git a/man3/vallocz.3libsimple b/man3/vallocz.3libsimple new file mode 120000 index 0000000..3a2dc96 --- /dev/null +++ b/man3/vallocz.3libsimple @@ -0,0 +1 @@ +libsimple_vallocz.3
\ No newline at end of file diff --git a/man3/valloczn.3libsimple b/man3/valloczn.3libsimple new file mode 120000 index 0000000..acae7d5 --- /dev/null +++ b/man3/valloczn.3libsimple @@ -0,0 +1 @@ +libsimple_valloczn.3
\ No newline at end of file diff --git a/man3/vasprintf.3libsimple b/man3/vasprintf.3libsimple new file mode 120000 index 0000000..9456f72 --- /dev/null +++ b/man3/vasprintf.3libsimple @@ -0,0 +1 @@ +libsimple_vasprintf.3
\ No newline at end of file diff --git a/man3/vasprintfa.3libsimple b/man3/vasprintfa.3libsimple new file mode 120000 index 0000000..e792d7d --- /dev/null +++ b/man3/vasprintfa.3libsimple @@ -0,0 +1 @@ +libsimple_vasprintfa.3
\ No newline at end of file diff --git a/man3/vcallocn.3libsimple b/man3/vcallocn.3libsimple new file mode 120000 index 0000000..bcc02ee --- /dev/null +++ b/man3/vcallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vcallocn.3
\ No newline at end of file diff --git a/man3/venprintf.3libsimple b/man3/venprintf.3libsimple new file mode 120000 index 0000000..574bdd9 --- /dev/null +++ b/man3/venprintf.3libsimple @@ -0,0 +1 @@ +libsimple_venprintf.3
\ No newline at end of file diff --git a/man3/veprintf.3libsimple b/man3/veprintf.3libsimple new file mode 120000 index 0000000..3a87c2d --- /dev/null +++ b/man3/veprintf.3libsimple @@ -0,0 +1 @@ +libsimple_veprintf.3
\ No newline at end of file diff --git a/man3/vmallocn.3libsimple b/man3/vmallocn.3libsimple new file mode 120000 index 0000000..6410741 --- /dev/null +++ b/man3/vmallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vmallocn.3
\ No newline at end of file diff --git a/man3/vmalloczn.3libsimple b/man3/vmalloczn.3libsimple new file mode 120000 index 0000000..5a271e0 --- /dev/null +++ b/man3/vmalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_vmalloczn.3
\ No newline at end of file diff --git a/man3/vmemalignn.3libsimple b/man3/vmemalignn.3libsimple new file mode 120000 index 0000000..d9dcdfd --- /dev/null +++ b/man3/vmemalignn.3libsimple @@ -0,0 +1 @@ +libsimple_vmemalignn.3
\ No newline at end of file diff --git a/man3/vmemalignzn.3libsimple b/man3/vmemalignzn.3libsimple new file mode 120000 index 0000000..2faeae6 --- /dev/null +++ b/man3/vmemalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_vmemalignzn.3
\ No newline at end of file diff --git a/man3/vposix_memalignn.3libsimple b/man3/vposix_memalignn.3libsimple new file mode 120000 index 0000000..7402678 --- /dev/null +++ b/man3/vposix_memalignn.3libsimple @@ -0,0 +1 @@ +libsimple_vposix_memalignn.3
\ No newline at end of file diff --git a/man3/vposix_memalignzn.3libsimple b/man3/vposix_memalignzn.3libsimple new file mode 120000 index 0000000..e47154f --- /dev/null +++ b/man3/vposix_memalignzn.3libsimple @@ -0,0 +1 @@ +libsimple_vposix_memalignzn.3
\ No newline at end of file diff --git a/man3/vputenvf.3libsimple b/man3/vputenvf.3libsimple new file mode 120000 index 0000000..ce0929f --- /dev/null +++ b/man3/vputenvf.3libsimple @@ -0,0 +1 @@ +libsimple_vputenvf.3
\ No newline at end of file diff --git a/man3/vpvallocn.3libsimple b/man3/vpvallocn.3libsimple new file mode 120000 index 0000000..a659d76 --- /dev/null +++ b/man3/vpvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vpvallocn.3
\ No newline at end of file diff --git a/man3/vpvalloczn.3libsimple b/man3/vpvalloczn.3libsimple new file mode 120000 index 0000000..c93e0ed --- /dev/null +++ b/man3/vpvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_vpvalloczn.3
\ No newline at end of file diff --git a/man3/vreallocn.3libsimple b/man3/vreallocn.3libsimple new file mode 120000 index 0000000..18a590e --- /dev/null +++ b/man3/vreallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vreallocn.3
\ No newline at end of file diff --git a/man3/vvallocn.3libsimple b/man3/vvallocn.3libsimple new file mode 120000 index 0000000..b0804fe --- /dev/null +++ b/man3/vvallocn.3libsimple @@ -0,0 +1 @@ +libsimple_vvallocn.3
\ No newline at end of file diff --git a/man3/vvalloczn.3libsimple b/man3/vvalloczn.3libsimple new file mode 120000 index 0000000..10be3d5 --- /dev/null +++ b/man3/vvalloczn.3libsimple @@ -0,0 +1 @@ +libsimple_vvalloczn.3
\ No newline at end of file diff --git a/man3/vweprintf.3libsimple b/man3/vweprintf.3libsimple new file mode 120000 index 0000000..39ff456 --- /dev/null +++ b/man3/vweprintf.3libsimple @@ -0,0 +1 @@ +libsimple_vweprintf.3
\ No newline at end of file diff --git a/man3/weprintf.3libsimple b/man3/weprintf.3libsimple new file mode 120000 index 0000000..071fbc2 --- /dev/null +++ b/man3/weprintf.3libsimple @@ -0,0 +1 @@ +libsimple_weprintf.3
\ No newline at end of file |