.TH LIBSIMPLE_RAWMEMRELEM_INV 3 libsimple .SH NAME libsimple_rawmemrelem_inv \- find different aligned byte string in memory .SH SYNOPSIS .nf #include void *libsimple_rawmemrelem_inv(const void *\fIhaystack\fP, const void *\fIneedle\fP, size_t \fIwidth\fP, size_t \fIn\fP); #ifndef rawmemrelem_inv # define rawmemrelem_inv libsimple_rawmemrelem_inv #endif .fi .PP Link with .IR \-lsimple . .SH DESCRIPTION The .BR libsimple_rawmemrelem_inv () function scans the memory segment .IR haystack , with the size .IR n*width , for the last occurence of a byte string different from .I needle with the size .IR width , and with an offset equivalent to zero modulo .IR width . The .BR libsimple_rawmemrelem_inv () function assumes there is at least one occurence, its behaviour is undefined if this is not the case. .PP The comparison is case-sensitive. .SH RETURN VALUE The .BR libsimple_rawmemrelem_inv () 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, the behaviour is undefined. .SH ERRORS The .BR libsimple_rawmemrelem_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_rawmemrelem_inv () T} Thread safety MT-Safe T{ .BR libsimple_rawmemrelem_inv () T} Async-signal safety AS-Safe T{ .BR libsimple_rawmemrelem_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 HISTORY libsimple 1.1 .SH BUGS None. .SH SEE ALSO .BR libsimple_rawmemrelem (3), .BR libsimple_memrelem_inv (3), .BR libsimple_rawmemelem_inv (3), .BR libsimple_rawmemrchr_inv (3)