.TH LIBSIMPLE_MEMELEM 3 2018-10-20 libsimple .SH NAME libsimple_memelem \- find aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_memelem(const void *\fIhaystack\fP, size_t \fInhaystack\fP, const void *\fIneedle\fP, size_t \fInneedle\fP); #ifndef memelem # define memelem libsimple_memelem #endif .fi .PP Link with .IR \-lsimple . .SH DESCRIPTION The .BR libsimple_memelem () function scans the memory segment .IR haystack , with the size .IR nhaystack*nneedle , for the first 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_memelem () function returns the pointer .I s with a minimal 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_memelem () 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_memelem () T} Thread safety MT-Safe T{ .BR libsimple_memelem () T} Async-signal safety AS-Safe T{ .BR libsimple_memelem () 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_memelem_inv (3), .BR libsimple_memelemscan (3), .BR libsimple_memrelem (3), .BR libsimple_rawmemelem (3), .BR libsimple_memmem (3), .BR memchr (3)