aboutsummaryrefslogtreecommitdiffstats
path: root/man3
diff options
context:
space:
mode:
Diffstat (limited to 'man3')
l---------man3/libsimple_memelemcpy.31
-rw-r--r--man3/libsimple_memelemmove.3111
-rw-r--r--man3/libsimple_rawmemcmove.32
l---------man3/libsimple_rawmemelemcpy.31
-rw-r--r--man3/libsimple_rawmemelemmove.3107
5 files changed, 221 insertions, 1 deletions
diff --git a/man3/libsimple_memelemcpy.3 b/man3/libsimple_memelemcpy.3
new file mode 120000
index 0000000..39a740f
--- /dev/null
+++ b/man3/libsimple_memelemcpy.3
@@ -0,0 +1 @@
+libsimple_memelemmove.3 \ No newline at end of file
diff --git a/man3/libsimple_memelemmove.3 b/man3/libsimple_memelemmove.3
new file mode 100644
index 0000000..d566b5d
--- /dev/null
+++ b/man3/libsimple_memelemmove.3
@@ -0,0 +1,111 @@
+.TH LIBSIMPLE_MEMELEMMOVE 3 2018-11-25 libsimple
+.SH NAME
+libsimple_memelemmove, libsimple_memelemcpy \- copy or move elements within an array
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline void *libsimple_memelemmove(void *\fIdest\fP, const void *\fIsrc\fP, int \fIelem\fP, size_t \fIwidth\fP, size_t \fIn\fP);
+static inline void *libsimple_memelemcpy(void *\fIdest\fP, const void *\fIsrc\fP, int \fIelem\fP, size_t \fIwidth\fP, size_t \fIn\fP);
+
+#ifndef memelemmove
+# define memelemmove libsimple_memelemmove
+#endif
+#ifndef memelemcpy
+# define memelemcpy libsimple_memelemcpy
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_memelemmove ()
+and
+.BR libsimple_memelemcpy ()
+functions copy
+.I n
+elements,
+each with the width
+.IR width ,
+in
+.I src
+to
+.IR dest .
+However the copy stopes after the element
+.I elem
+(with size
+.IR width )
+has been copied.
+.PP
+The arrays may overlap in the
+.BR libsimple_memelemmove ()
+function but not in the
+.BR libsimple_memelemcpy ()
+function.
+.SH RETURN VALUE
+The
+.BR libsimple_memelemmove ()
+and
+.BR libsimple_memelemcpy ()
+functions return a pointer directly behind
+the position of the element
+.I elem
+in
+.I dest
+after it was copied. If the element
+.I elem
+was not copied
+.I NULL
+is returned.
+.SH ERRORS
+The
+.BR libsimple_memelemmove ()
+and
+.BR libsimple_memelemcpy ()
+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_memelemmove (),
+and
+.BR libsimple_memelemcpy ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_memelemmove (),
+and
+.BR libsimple_memelemcpy ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_memelemmove (),
+and
+.BR libsimple_memelemcpy ()
+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_rawmemelemmove (3),
+.BR libsimple_mempmove (3),
+.BR libsimple_mempcpy (3),
+.BR libsimple_strcmove (3),
+.BR libsimple_strncmove (3),
+.BR libsimple_memcmove (3),
+.BR memmove (3),
+.BR memcpy (3)
diff --git a/man3/libsimple_rawmemcmove.3 b/man3/libsimple_rawmemcmove.3
index 0223613..51e9ef4 100644
--- a/man3/libsimple_rawmemcmove.3
+++ b/man3/libsimple_rawmemcmove.3
@@ -23,7 +23,7 @@ The
.BR libsimple_rawmemcmove ()
and
.BR libsimple_rawmemccpy ()
-functions all bytes in
+functions move all bytes in
.I src
to
.IR dest
diff --git a/man3/libsimple_rawmemelemcpy.3 b/man3/libsimple_rawmemelemcpy.3
new file mode 120000
index 0000000..d197b7e
--- /dev/null
+++ b/man3/libsimple_rawmemelemcpy.3
@@ -0,0 +1 @@
+libsimple_rawmemelemmove.3 \ No newline at end of file
diff --git a/man3/libsimple_rawmemelemmove.3 b/man3/libsimple_rawmemelemmove.3
new file mode 100644
index 0000000..cafd956
--- /dev/null
+++ b/man3/libsimple_rawmemelemmove.3
@@ -0,0 +1,107 @@
+.TH LIBSIMPLE_RAWMEMELEMMOVE 3 2018-11-25 libsimple
+.SH NAME
+libsimple_rawmemelemmove, libsimple_rawmemelemcpy \- copy or move elements within an array
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+static inline void *libsimple_rawmemelemmove(void *\fIdest\fP, const void *\fIsrc\fP, int \fIelem\fP, size_t \fIwidth\fP);
+static inline void *libsimple_rawmemelemcpy(void *\fIdest\fP, const void *\fIsrc\fP, int \fIelem\fP, size_t \fIwidth\fP);
+
+#ifndef rawmemelemmove
+# define rawmemelemmove libsimple_rawmemelemmove
+#endif
+#ifndef rawmemelemcpy
+# define rawmemelemcpy libsimple_rawmemelemcpy
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_rawmemelemmove ()
+and
+.BR libsimple_rawmemelemcpy ()
+functions copy all elements,
+each with the width
+.IR width ,
+in
+.I src
+to
+.I dest
+until the element
+.I elem
+(with size
+.IR width )
+has been copied.
+.PP
+The arrays may overlap in the
+.BR libsimple_rawmemelemmove ()
+function but not in the
+.BR libsimple_rawmemelemcpy ()
+function.
+.SH RETURN VALUE
+The
+.BR libsimple_rawmemelemmove ()
+and
+.BR libsimple_rawmemelemcpy ()
+functions return a pointer directly behind
+the position of the element
+.I elem
+in
+.I dest
+after it was copied. If the element
+.I elem
+does not exist in
+.IR src ,
+the behaviour is undefined.
+.SH ERRORS
+The
+.BR libsimple_rawmemelemmove ()
+and
+.BR libsimple_rawmemelemcpy ()
+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_rawmemelemmove (),
+and
+.BR libsimple_rawmemelemcpy ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_rawmemelemmove (),
+and
+.BR libsimple_rawmemelemcpy ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_rawmemelemmove (),
+and
+.BR libsimple_rawmemelemcpy ()
+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_memelemmove (3),
+.BR libsimple_mempmove (3),
+.BR libsimple_mempcpy (3),
+.BR libsimple_rawmemcmove (3),
+.BR memmove (3),
+.BR memcpy (3)