aboutsummaryrefslogtreecommitdiffstats
path: root/man3/libsimple_memchr_inv.3
blob: 30fcda6f10944ee374976d94c57138850d540e33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.TH LIBSIMPLE_MEMCHR_INV 3 libsimple
.SH NAME
libsimple_memchr_inv \- find different byte in memory

.SH SYNOPSIS
.nf
#include <libsimple.h>

void *libsimple_memchr_inv(const void *\fIs\fP, int \fIc\fP, size_t \fIn\fP);

#ifndef memchr_inv
# define memchr_inv libsimple_memchr_inv
#endif
.fi
.PP
Link with
.IR \-lsimple .

.SH DESCRIPTION
The
.BR libsimple_memchr_inv ()
function scans the memory segment
.IR s ,
with the size
.IR n ,
for the first occurence of any byte
other than
.I c
(it is converted to a
.BR char ).
.PP
The comparison is case-sensitive.

.SH RETURN VALUE
The
.BR libsimple_memchr_inv ()
function returns the pointer
.I s
with a minimal offset such that
.IR *r!=c ,
where
.I r
is the returned pointer.
If no such offset exists,
.B NULL
is returned.

.SH ERRORS
The
.BR libsimple_memchr_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_memchr_inv ()
T}	Thread safety	MT-Safe
T{
.BR libsimple_memchr_inv ()
T}	Async-signal safety	AS-Safe
T{
.BR libsimple_memchr_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_memcasechr_inv (3),
.BR libsimple_memrchr_inv (3),
.BR libsimple_rawmemchr_inv (3),
.BR libsimple_memscan_inv (3),
.BR libsimple_strnchr_inv (3),
.BR libsimple_strchr_inv (3),
.BR memchr (3)