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 | |
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')
-rw-r--r-- | man3/libsimple_memelem.3 | 1 | ||||
-rw-r--r-- | man3/libsimple_memelemscan.3 | 87 | ||||
-rw-r--r-- | man3/libsimple_memscan.3 | 4 | ||||
l--------- | man3/memelemscan.3libsimple | 1 |
4 files changed, 92 insertions, 1 deletions
diff --git a/man3/libsimple_memelem.3 b/man3/libsimple_memelem.3 index 833e246..6eb3c0b 100644 --- a/man3/libsimple_memelem.3 +++ b/man3/libsimple_memelem.3 @@ -79,6 +79,7 @@ None. .SH BUGS None. .SH SEE ALSO +.BR libsimple_memelemscan (3), .BR libsimple_memrelem (3), .BR libsimple_memmem (3), .BR memchr (3) 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) diff --git a/man3/libsimple_memscan.3 b/man3/libsimple_memscan.3 index c9db7da..0c5d14a 100644 --- a/man3/libsimple_memscan.3 +++ b/man3/libsimple_memscan.3 @@ -25,6 +25,8 @@ for the first occurence of the byte .I c (it is converted to a .BR char ). +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 @@ -38,7 +40,7 @@ where .I r is the returned pointer. If no such offset exists, -.B NULL +.I &r[n] is returned. .SH ERRORS The diff --git a/man3/memelemscan.3libsimple b/man3/memelemscan.3libsimple new file mode 120000 index 0000000..3c612db --- /dev/null +++ b/man3/memelemscan.3libsimple @@ -0,0 +1 @@ +libsimple_memelemscan.3
\ No newline at end of file |