aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAyushi Sharma <35501599+ais2397@users.noreply.github.com>2020-04-04 03:37:51 +0530
committerGitHub <noreply@github.com>2020-04-04 00:07:51 +0200
commitd9ed075d1a287f63cfa1dc84cbf609e624b26bc7 (patch)
treed0757db442d0d4f7bc3540e849358524a2dd6883 /sys
parentef26b61025bac4c6bb1a0ef7eccc45f43f84c841 (diff)
sys/netbsd: adding chflags(2) syscalls (#1661)
Diffstat (limited to 'sys')
-rw-r--r--sys/netbsd/gen/amd64.go24
-rw-r--r--sys/netbsd/sys.txt4
-rw-r--r--sys/netbsd/sys_amd64.const10
3 files changed, 37 insertions, 1 deletions
diff --git a/sys/netbsd/gen/amd64.go b/sys/netbsd/gen/amd64.go
index 87199d6d3..2a9582b45 100644
--- a/sys/netbsd/gen/amd64.go
+++ b/sys/netbsd/gen/amd64.go
@@ -545,6 +545,10 @@ var syscalls_amd64 = []*Syscall{
{NR: 12, Name: "chdir", CallName: "chdir", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "dir", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
}},
+ {NR: 34, Name: "chflags", CallName: "chflags", Args: []Type{
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 15, Name: "chmod", CallName: "chmod", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, true},
@@ -634,6 +638,10 @@ var syscalls_amd64 = []*Syscall{
{NR: 13, Name: "fchdir", CallName: "fchdir", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
}},
+ {NR: 35, Name: "fchflags", CallName: "fchflags", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 124, Name: "fchmod", CallName: "fchmod", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, true},
@@ -827,6 +835,10 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Path: []string{"optval"}}},
}},
{NR: 24, Name: "getuid", CallName: "getuid", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 304, Name: "lchflags", CallName: "lchflags", Args: []Type{
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 275, Name: "lchown", CallName: "lchown", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", TypeSize: 4}},
@@ -1678,6 +1690,9 @@ var consts_amd64 = []ConstValue{
{"SEM_UNDO", 4096},
{"SETALL", 9},
{"SETVAL", 8},
+ {"SF_APPEND", 262144},
+ {"SF_ARCHIVED", 65536},
+ {"SF_IMMUTABLE", 131072},
{"SHM_LOCK", 3},
{"SHM_RDONLY", 4096},
{"SHM_RND", 8192},
@@ -1737,6 +1752,7 @@ var consts_amd64 = []ConstValue{
{"SYS_accept", 30},
{"SYS_bind", 104},
{"SYS_chdir", 12},
+ {"SYS_chflags", 34},
{"SYS_chmod", 15},
{"SYS_chown", 16},
{"SYS_chroot", 61},
@@ -1754,6 +1770,7 @@ var consts_amd64 = []ConstValue{
{"SYS_exit", 1},
{"SYS_faccessat", 462},
{"SYS_fchdir", 13},
+ {"SYS_fchflags", 35},
{"SYS_fchmod", 124},
{"SYS_fchmodat", 463},
{"SYS_fchown", 123},
@@ -1781,6 +1798,7 @@ var consts_amd64 = []ConstValue{
{"SYS_getsockname", 32},
{"SYS_getsockopt", 118},
{"SYS_getuid", 24},
+ {"SYS_lchflags", 304},
{"SYS_lchown", 275},
{"SYS_link", 9},
{"SYS_linkat", 457},
@@ -1878,6 +1896,10 @@ var consts_amd64 = []ConstValue{
{"S_IXOTH", 1},
{"S_IXUSR", 64},
{"TIMER_ABSTIME", 1},
+ {"UF_APPEND", 4},
+ {"UF_IMMUTABLE", 2},
+ {"UF_NODUMP", 1},
+ {"UF_OPAQUE", 8},
{"WALLSIG", 8},
{"WALTSIG", 4},
{"WCONTINUED", 16},
@@ -1894,4 +1916,4 @@ var consts_amd64 = []ConstValue{
{"_UC_STACK", 2},
}
-const revision_amd64 = "a99885ca1ee8b334947a9227591964a15f788ff0"
+const revision_amd64 = "02007478c36366bd9b420e8c59574fd04a9a8014"
diff --git a/sys/netbsd/sys.txt b/sys/netbsd/sys.txt
index cc007a0d2..0ff50e59e 100644
--- a/sys/netbsd/sys.txt
+++ b/sys/netbsd/sys.txt
@@ -50,6 +50,9 @@ chown(file ptr[in, filename], uid uid, gid gid)
lchown(file ptr[in, filename], uid uid, gid gid)
fchown(fd fd, uid uid, gid gid)
fchownat(dirfd fd_dir, file ptr[in, filename], uid uid, gid gid, flags flags[at_flags])
+chflags(file ptr[in, filename], flags flags[chflags_flags])
+fchflags(fd fd, flags flags[chflags_flags])
+lchflags(file ptr[in, filename], flags flags[chflags_flags])
faccessat(dirfd fd_dir, pathname ptr[in, filename], mode flags[open_mode], flags flags[faccessat_flags])
utimes(filename ptr[in, filename], times ptr[in, itimerval])
utimensat(dir fd_dir, pathname ptr[in, filename], times ptr[in, itimerval], flags flags[utimensat_flags])
@@ -262,5 +265,6 @@ fcntl_lock = F_SETLK, F_SETLKW, F_GETLK
fcntl_flags = FD_CLOEXEC
fcntl_status = O_APPEND, O_ASYNC, O_NONBLOCK, O_DSYNC, O_RSYNC, O_ALT_IO, O_DIRECT, O_NOSIGPIPE
flock_type = F_RDLCK, F_WRLCK, F_UNLCK
+chflags_flags = SF_APPEND, SF_IMMUTABLE, SF_ARCHIVED, UF_OPAQUE, UF_APPEND, UF_IMMUTABLE, UF_NODUMP
clone_flags = CLONE_CSIGNAL, CLONE_VM, CLONE_FS, CLONE_FILES, CLONE_SIGHAND, CLONE_PID, CLONE_PTRACE, CLONE_VFORK
sa_flags = SA_ONSTACK, SA_RESTART, SA_RESETHAND, SA_NODEFER, SA_NOCLDSTOP, SA_NOCLDWAIT, SA_SIGINFO, SA_NOKERNINFO, SA_ALLBITS
diff --git a/sys/netbsd/sys_amd64.const b/sys/netbsd/sys_amd64.const
index e783d58cc..faecf351b 100644
--- a/sys/netbsd/sys_amd64.const
+++ b/sys/netbsd/sys_amd64.const
@@ -83,9 +83,13 @@ SA_ONSTACK = 1
SA_RESETHAND = 4
SA_RESTART = 2
SA_SIGINFO = 64
+SF_APPEND = 262144
+SF_ARCHIVED = 65536
+SF_IMMUTABLE = 131072
SYS___clone = 287
SYS___vfork14 = 282
SYS_chdir = 12
+SYS_chflags = 34
SYS_chmod = 15
SYS_chown = 16
SYS_chroot = 61
@@ -97,6 +101,7 @@ SYS_execve = 59
SYS_exit = 1
SYS_faccessat = 462
SYS_fchdir = 13
+SYS_fchflags = 35
SYS_fchmod = 124
SYS_fchmodat = 463
SYS_fchown = 123
@@ -121,6 +126,7 @@ SYS_getppid = 39
SYS_getrlimit = 194
SYS_getrusage = 445
SYS_getuid = 24
+SYS_lchflags = 304
SYS_lchown = 275
SYS_link = 9
SYS_linkat = 457
@@ -177,6 +183,10 @@ S_IXGRP = 8
S_IXOTH = 1
S_IXUSR = 64
TIMER_ABSTIME = 1
+UF_APPEND = 4
+UF_IMMUTABLE = 2
+UF_NODUMP = 1
+UF_OPAQUE = 8
WALLSIG = 8
WALTSIG = 4
WCONTINUED = 16