aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-10-20 20:48:13 +0200
committerMattias Andrée <maandree@kth.se>2018-10-20 20:48:13 +0200
commit8f5bd0f85282e044da867bf12c38144b5131e915 (patch)
treef0bf62c380688942e4dedab69016bac1edc5c3ee /man
parentAdd man pages for memmem and memrmem (diff)
downloadlibsimple-8f5bd0f85282e044da867bf12c38144b5131e915.tar.gz
libsimple-8f5bd0f85282e044da867bf12c38144b5131e915.tar.bz2
libsimple-8f5bd0f85282e044da867bf12c38144b5131e915.tar.xz
Add memelem and memrelem
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'man')
-rw-r--r--man/libsimple_memelem.382
-rw-r--r--man/libsimple_memmem.31
-rw-r--r--man/libsimple_memrelem.382
-rw-r--r--man/libsimple_memrmem.31
4 files changed, 166 insertions, 0 deletions
diff --git a/man/libsimple_memelem.3 b/man/libsimple_memelem.3
new file mode 100644
index 0000000..be182c3
--- /dev/null
+++ b/man/libsimple_memelem.3
@@ -0,0 +1,82 @@
+.TH LIBSIMPLE_MEMELEM 3 2018-10-20 libsimple
+.SH NAME
+libsimple_memelem \- find byte string in memory
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+void *libsimple_memelem(const void *haystack, size_t nhaystack, const void *needle, size_t nneedle);
+
+#ifndef memelem
+# define memelem libsimple_memelem
+#endif
+.fi
+
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_memelem ()
+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 .
+.SH RETURN VALUE
+The
+.BR libsimple_memelem ()
+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,
+.B NULL
+is returned.
+.SH ERRORS
+The
+.BR libsimple_memelem ()
+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_memelem ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_memelem ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_memelem ()
+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_memrelem (3),
+.BR libsimple_memmem (3),
+.BR memchr (3)
diff --git a/man/libsimple_memmem.3 b/man/libsimple_memmem.3
index f084de9..6701b46 100644
--- a/man/libsimple_memmem.3
+++ b/man/libsimple_memmem.3
@@ -74,4 +74,5 @@ None.
None.
.SH SEE ALSO
.BR libsimple_memrmem (3),
+.BR libsimple_memelem (3),
.BR memchr (3)
diff --git a/man/libsimple_memrelem.3 b/man/libsimple_memrelem.3
new file mode 100644
index 0000000..77f5293
--- /dev/null
+++ b/man/libsimple_memrelem.3
@@ -0,0 +1,82 @@
+.TH LIBSIMPLE_MEMRELEM 3 2018-10-20 libsimple
+.SH NAME
+libsimple_memrelem \- find byte string in memory
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+void *libsimple_memrelem(const void *haystack, size_t nhaystack, const void *needle, size_t nneedle);
+
+#ifndef memrelem
+# define memrelem libsimple_memrelem
+#endif
+.fi
+
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_memrelem ()
+function scans the memory segment
+.IR haystack ,
+with the size
+.IR nhaystack*nneedle ,
+for the last occurence of the byte string
+.I needle
+with the size
+.IR nneedle ,
+and with an offset equivalent to zero modulo
+.IR nneedle .
+.SH RETURN VALUE
+The
+.BR libsimple_memrelem ()
+function returns the pointer
+.I s
+with a maximal 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,
+.B NULL
+is returned.
+.SH ERRORS
+The
+.BR libsimple_memrelem ()
+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_memrelem ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_memrelem ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_memrelem ()
+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_memrmem (3),
+.BR libsimple_memrchr (3)
diff --git a/man/libsimple_memrmem.3 b/man/libsimple_memrmem.3
index 71bf251..c9daf17 100644
--- a/man/libsimple_memrmem.3
+++ b/man/libsimple_memrmem.3
@@ -74,4 +74,5 @@ None.
None.
.SH SEE ALSO
.BR libsimple_memmem (3),
+.BR libsimple_memrelem (3),
.BR libsimple_memrchr (3)