Skip to content

Commit df84bed

Browse files
committed
posix.cfg: Added support for more interfaces.
1 parent 5a3d84d commit df84bed

2 files changed

Lines changed: 99 additions & 1 deletion

File tree

cfg/posix.cfg

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
</function>
1717
<!-- https://man7.org/linux/man-pages/man3/aio_read.3.html -->
1818
<!-- int aio_read(struct aiocb *aiocbp); -->
19-
<function name="aio_read">
19+
<!-- https://man7.org/linux/man-pages/man3/aio_write.3.html -->
20+
<!-- int aio_write(struct aiocb *aiocbp); -->
21+
<function name="aio_read,aio_write">
2022
<use-retval/>
2123
<returnValue type="int"/>
2224
<noreturn>false</noreturn>
@@ -26,6 +28,62 @@
2628
<not-bool/>
2729
</arg>
2830
</function>
31+
<!-- https://man7.org/linux/man-pages/man3/aio_return.3.html -->
32+
<!-- ssize_t aio_return(struct aiocb *aiocbp); -->
33+
<function name="aio_return">
34+
<use-retval/>
35+
<returnValue type="ssize_t"/>
36+
<noreturn>false</noreturn>
37+
<leak-ignore/>
38+
<arg nr="1" direction="inout">
39+
<not-null/>
40+
<not-bool/>
41+
</arg>
42+
</function>
43+
<!-- https://man7.org/linux/man-pages/man3/aio_error.3.html -->
44+
<!-- int aio_error(struct aiocb *aiocbp); -->
45+
<function name="aio_error">
46+
<use-retval/>
47+
<returnValue type="int"/>
48+
<noreturn>false</noreturn>
49+
<leak-ignore/>
50+
<arg nr="1" direction="inout">
51+
<not-null/>
52+
<not-bool/>
53+
</arg>
54+
</function>
55+
<!-- https://man7.org/linux/man-pages/man3/aio_fsync.3.html -->
56+
<!-- int aio_fsync(int op, struct aiocb *aiocbp); -->
57+
<function name="aio_fsync">
58+
<use-retval/>
59+
<returnValue type="int"/>
60+
<noreturn>false</noreturn>
61+
<leak-ignore/>
62+
<arg nr="1" direction="in">
63+
<not-uninit/>
64+
<not-bool/>
65+
</arg>
66+
<arg nr="2" direction="inout">
67+
<not-null/>
68+
<not-bool/>
69+
</arg>
70+
</function>
71+
<!-- https://man7.org/linux/man-pages/man3/aio_cancel.3.html -->
72+
<!-- int aio_cancel(int fd, struct aiocb *aiocbp); -->
73+
<function name="aio_cancel">
74+
<use-retval/>
75+
<returnValue type="int"/>
76+
<noreturn>false</noreturn>
77+
<leak-ignore/>
78+
<arg nr="1" direction="in">
79+
<not-uninit/>
80+
<valid>0:</valid>
81+
<not-bool/>
82+
</arg>
83+
<arg nr="2" direction="inout">
84+
<not-bool/>
85+
</arg>
86+
</function>
2987
<!-- https://man7.org/linux/man-pages/man3/aio_suspend.3.html -->
3088
<!-- int aio_suspend(const struct aiocb *const aiocb_list[], int nitems, const struct timespec *restrict timeout); -->
3189
<function name="aio_suspend">

test/cfg/posix.c

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,38 @@
3030
#include <wchar.h>
3131
#include <string.h>
3232

33+
int nullPointer_aio_cancel(int fd, struct aiocb *aiocbp)
34+
{
35+
// No warning is expected
36+
(void)aio_cancel(fd, NULL);
37+
// No warning is expected
38+
return aio_cancel(fd, aiocbp);
39+
}
40+
41+
int nullPointer_aio_fsync(int op, struct aiocb *aiocbp)
42+
{
43+
// cppcheck-suppress nullPointer
44+
(void)aio_fsync(op, NULL);
45+
// No warning is expected
46+
return aio_fsync(op, aiocbp);
47+
}
48+
49+
ssize_t nullPointer_aio_return(struct aiocb *aiocbp)
50+
{
51+
// cppcheck-suppress nullPointer
52+
(void)aio_return(NULL);
53+
// No warning is expected
54+
return aio_return(aiocbp);
55+
}
56+
57+
int nullPointer_aio_error(const struct aiocb *aiocbp)
58+
{
59+
// cppcheck-suppress nullPointer
60+
(void)aio_error(NULL);
61+
// No warning is expected
62+
return aio_error(aiocbp);
63+
}
64+
3365
int nullPointer_aio_read(struct aiocb *aiocbp)
3466
{
3567
// cppcheck-suppress nullPointer
@@ -38,6 +70,14 @@ int nullPointer_aio_read(struct aiocb *aiocbp)
3870
return aio_read(aiocbp);
3971
}
4072

73+
int nullPointer_aio_write(struct aiocb *aiocbp)
74+
{
75+
// cppcheck-suppress nullPointer
76+
(void)aio_write(NULL);
77+
// No warning is expected
78+
return aio_write(aiocbp);
79+
}
80+
4181
int nullPointer_aio_suspend(const struct aiocb *const aiocb_list[], int nitems, const struct timespec *restrict timeout)
4282
{
4383
// cppcheck-suppress nullPointer

0 commit comments

Comments
 (0)