.TH LIBSIMPLE_MEMRELEM 3 libsimple .SH NAME libsimple_memrelem \- find aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_memrelem(const void *\fIhaystack\fP, const void *\fIneedle\fP, size_t \fIwidth\fP, size_t \fIn\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 n*width , for the last occurence of the byte string .I needle with the size .IR width , and with an offset equivalent to zero modulo .IR width . .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,width) , where .I r is the returned pointer, and such that the offset is equivalent to zero modulo .IR width . 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 HISTORY libsimple 1.1 .SH BUGS None. .SH SEE ALSO .BR libsimple_memrelem_inv (3), .BR libsimple_rawmemrelem (3), .BR libsimple_memelem (3), .BR libsimple_memrmem (3), .BR libsimple_memrchr (3)