.TH LIBSIMPLE_MEMELEMSCAN 3 2018-11-25 libsimple .SH NAME libsimple_memelemscan \- find aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_memelemscan(const void *\fIhaystack\fP, const void *\fIneedle\fP, size_t \fIwidth\fP, size_t \fIn\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 n*width , for the first occurence of the byte string .I needle with the size .IR width , and with an offset equivalent to zero modulo .IR width . 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,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, .I (void *)&((char *)haystack)[n*width] 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_memelemscan_inv (3), .BR libsimple_memelem (3), .BR libsimple_memrelem (3), .BR libsimple_memmem (3), .BR libsimple_memchrscan (3)