.TH LIBSIMPLE_MEMELEMSCAN 3 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 HISTORY libsimple 1.1 .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)