From d9ed075d1a287f63cfa1dc84cbf609e624b26bc7 Mon Sep 17 00:00:00 2001 From: Ayushi Sharma <35501599+ais2397@users.noreply.github.com> Date: Sat, 4 Apr 2020 03:37:51 +0530 Subject: sys/netbsd: adding chflags(2) syscalls (#1661) --- sys/netbsd/gen/amd64.go | 24 +++++++++++++++++++++++- sys/netbsd/sys.txt | 4 ++++ sys/netbsd/sys_amd64.const | 10 ++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) (limited to 'sys') 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 -- cgit mrf-deployment