1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
.TH LIBSIMPLE_MEMELEMMOVE 3 libsimple
.SH NAME
libsimple_memelemmove, libsimple_memelemcpy \- copy or move elements within an array
.SH SYNOPSIS
.nf
#include <libsimple.h>
inline void *libsimple_memelemmove(void *\fIdest\fP, const void *\fIsrc\fP, int \fIelem\fP, size_t \fIwidth\fP, size_t \fIn\fP);
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 HISTORY
libsimple 1.1
.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)
|