aboutgitcodelistschat:MatrixIRC
path: root/cooker/calls/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'cooker/calls/fs.c')
-rw-r--r--cooker/calls/fs.c48
1 files changed, 44 insertions, 4 deletions
diff --git a/cooker/calls/fs.c b/cooker/calls/fs.c
index 013dacf..cfc0091 100644
--- a/cooker/calls/fs.c
+++ b/cooker/calls/fs.c
@@ -69,27 +69,66 @@ static struct arg mknod_args[] = {
{ 0,
{
"path", STRING, 0,
- 0, 1 /* TODO: PATH_MAX */,
+ 0, PATH_MAX,
{ 0 }
}
},
{ 1,
{
- "mode", UNDEF /* TODO */, FLAGS,
+ "mode", U32 /* TODO */, 0,
0, 0,
{ 0 /* TODO */ },
}
},
{ 2,
{
- "major", UNDEF /* TODO */, 0,
+ "major", GNU_DEV_MAJOR, 0,
0, 0,
{ 0 },
}
},
{ 2,
{
- "minor", UNDEF /* TODO */, 0,
+ "minor", GNU_DEV_MINOR, 0,
+ 0, 0,
+ { 0 },
+ }
+ },
+ { 0 }
+};
+
+static struct arg mknodat_args[] = {
+ { 0,
+ {
+ "dirfd", UNDEF, 0,
+ 0, 1 /* TODO: PATH_MAX */,
+ { 0 }
+ }
+ },
+ { 1,
+ {
+ "path", STRING, 0,
+ 0, PATH_MAX,
+ { 0 }
+ }
+ },
+ { 2,
+ {
+ "mode", UNDEF /* TODO */, FLAGS,
+ 0, 0,
+ { 0 /* TODO */ },
+ }
+ },
+ { 3,
+ {
+ "major", GNU_DEV_MAJOR, 0,
+ 0, 0,
+ { 0 },
+ }
+ },
+ { 3,
+ {
+ "minor", GNU_DEV_MINOR, 0,
0, 0,
{ 0 },
}
@@ -99,5 +138,6 @@ static struct arg mknod_args[] = {
struct call syscalls_fs[] = {
{ __NR_mknod, "mknod", mknod_args },
+ { __NR_mknodat, "mknodat", mknodat_args },
{ 0 },
};