aboutsummaryrefslogtreecommitdiffstats
path: root/man3/libsimple_rawmemrelem_inv.3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-11-25 11:28:48 +0100
committerMattias Andrée <maandree@kth.se>2018-11-25 11:28:48 +0100
commitec0cbe2001ab7d07b50a7ec016bd343b6ba78b80 (patch)
tree341ced459bfddc28797533c178f7a259ba10de25 /man3/libsimple_rawmemrelem_inv.3
parentAdd man pages (diff)
downloadlibsimple-ec0cbe2001ab7d07b50a7ec016bd343b6ba78b80.tar.gz
libsimple-ec0cbe2001ab7d07b50a7ec016bd343b6ba78b80.tar.bz2
libsimple-ec0cbe2001ab7d07b50a7ec016bd343b6ba78b80.tar.xz
Add man pages
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'man3/libsimple_rawmemrelem_inv.3')
-rw-r--r--man3/libsimple_rawmemrelem_inv.389
1 files changed, 89 insertions, 0 deletions
diff --git a/man3/libsimple_rawmemrelem_inv.3 b/man3/libsimple_rawmemrelem_inv.3
new file mode 100644
index 0000000..d2d1acf
--- /dev/null
+++ b/man3/libsimple_rawmemrelem_inv.3
@@ -0,0 +1,89 @@
+.TH LIBSIMPLE_RAWMEMRELEM_INV 3 2018-11-24 libsimple
+.SH NAME
+libsimple_rawmemrelem_inv \- find different aligned byte string in memory
+.SH SYNOPSIS
+.nf
+#include <libsimple.h>
+
+void *libsimple_rawmemrelem_inv(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP);
+
+#ifndef rawmemrelem_inv
+# define rawmemrelem_inv libsimple_rawmemrelem_inv
+#endif
+.fi
+.PP
+Link with
+.IR \-lsimple .
+.SH DESCRIPTION
+The
+.BR libsimple_rawmemrelem_inv ()
+function scans the memory segment
+.IR haystack ,
+with the size
+.IR nhaystack*nneedle ,
+for the last occurence of a byte string
+different from
+.I needle
+with the size
+.IR nneedle ,
+and with an offset equivalent to zero modulo
+.IR nneedle .
+The
+.BR libsimple_rawmemrelem_inv ()
+function assumes there is at least one
+occurence, its behaviour is undefined
+if this is not the case.
+.PP
+The comparison is case-sensitive.
+.SH RETURN VALUE
+The
+.BR libsimple_rawmemrelem_inv ()
+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, the behaviour is undefined.
+.SH ERRORS
+The
+.BR libsimple_rawmemrelem_inv ()
+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_rawmemrelem_inv ()
+T} Thread safety MT-Safe
+T{
+.BR libsimple_rawmemrelem_inv ()
+T} Async-signal safety AS-Safe
+T{
+.BR libsimple_rawmemrelem_inv ()
+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_rawmemrelem (3),
+.BR libsimple_memrelem_inv (3),
+.BR libsimple_rawmemelem_inv (3),
+.BR libsimple_rawmemrchr_inv (3)