.TH LIBSIMPLE_MEMELEMSCAN_INV 3 libsimple .SH NAME libsimple_memelemscan_inv \- skip aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_memelemscan_inv(const void *\fIhaystack\fP, const void *\fIneedle\fP, size_t \fIwidth\fP, size_t \fIn\fP); #ifndef memelemscan_inv # define memelemscan_inv libsimple_memelemscan_inv #endif .fi .PP Link with .IR \-lsimple . .SH DESCRIPTION The .BR libsimple_memelemscan_inv () function scans the memory segment .IR haystack , with the size .IR n*width , for the first occurence of a byte string different from .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_inv () 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_inv () 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_inv () T} Thread safety MT-Safe T{ .BR libsimple_memelemscan_inv () T} Async-signal safety AS-Safe T{ .BR libsimple_memelemscan_inv () 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 (3), .BR libsimple_memelem_inv (3), .BR libsimple_memrelem_inv (3), .BR libsimple_memchrscan_inv (3)