3 memccpy, memchr, memcmp, memcpy, memmove, memset \- memory operations
11 void* memccpy(void *s1, void *s2, int c, long n)
14 void* memchr(void *s, int c, long n)
17 int memcmp(void *s1, void *s2, long n)
20 void* memcpy(void *s1, void *s2, long n)
23 void* memmove(void *s1, void *s2, long n)
26 void* memset(void *s, int c, long n)
28 These functions operate efficiently on memory areas
29 (arrays of bytes bounded by a count, not terminated by a zero byte).
30 They do not check for the overflow of any receiving memory area.
33 copies bytes from memory area
37 stopping after the first occurrence of byte
39 has been copied, or after
41 bytes have been copied, whichever comes first.
42 It returns a pointer to the byte after
49 was not found in the first
55 returns a pointer to the first
67 compares its arguments, looking at the first
69 bytes only, and returns an integer
70 less than, equal to, or greater than 0,
73 is lexicographically less than, equal to, or
76 The comparison is bytewise unsigned.
81 bytes from memory area
91 except that it is guaranteed to work if
107 All these routines have portable C implementations in
109 .\" Most also have machine-dependent assembly language implementations in
110 .\" .BR \*9/lib9/$objtype .
114 ANSI C does not require
116 to handle overlapping source and destination; on Plan 9, it does, so
126 are handed a negative count, they abort.