diff options
author | Mattias Andrée <maandree@kth.se> | 2018-11-17 11:13:47 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-11-17 11:13:47 +0100 |
commit | 58818a2b5d3042426d57846627b476b5f74591b8 (patch) | |
tree | fb8105e0c9bb9cd34d329835f9097a5cabcea699 /man3/libsimple_memelemscan.3 | |
parent | Add memscan and memcasescan (diff) | |
download | libsimple-58818a2b5d3042426d57846627b476b5f74591b8.tar.gz libsimple-58818a2b5d3042426d57846627b476b5f74591b8.tar.bz2 libsimple-58818a2b5d3042426d57846627b476b5f74591b8.tar.xz |
Add memelemscan
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'man3/libsimple_memelemscan.3')
-rw-r--r-- | man3/libsimple_memelemscan.3 | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/man3/libsimple_memelemscan.3 b/man3/libsimple_memelemscan.3 new file mode 100644 index 0000000..de70105 --- /dev/null +++ b/man3/libsimple_memelemscan.3 @@ -0,0 +1,87 @@ +.TH LIBSIMPLE_MEMELEMSCAN 3 2018-11-17 libsimple +.SH NAME +libsimple_memelemscan \- find aligned byte string in memory +.SH SYNOPSIS +.nf +#include <libsimple.h> + +void *libsimple_memelemscan(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); + +#ifndef memelemscan +# define memelemscan libsimple_memelemscan +#endif +.fi +.PP +Link with +.IR \-lsimple . +.SH DESCRIPTION +The +.BR libsimple_memelemscan () +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 . +If no such character exist in the memory +segment, the memory segment's end is returned. +.PP +The comparison is case-sensitive. +.SH RETURN VALUE +The +.BR libsimple_memelemscan () +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, +.I (void *)&((char *)haystack)[nhaystack*nneedle] +is returned. +.SH ERRORS +The +.BR libsimple_memelemscan () +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_memelemscan () +T} Thread safety MT-Safe +T{ +.BR libsimple_memelemscan () +T} Async-signal safety AS-Safe +T{ +.BR libsimple_memelemscan () +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_memrelem (3), +.BR libsimple_memmem (3), +.BR libsimple_memchrscan (3) |