.TH LIBSIMPLE_MEMRELEM 3 2018-10-20 libsimple .SH NAME libsimple_memrelem \- find aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_memrelem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); #ifndef memrelem # define memrelem libsimple_memrelem #endif .fi .PP 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 . .PP The comparison is case-sensitive. .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_memrelem_inv (3), .BR libsimple_memelem (3), .BR libsimple_memrmem (3), .BR libsimple_memrchr (3)