aboutsummaryrefslogtreecommitdiffstats
path: root/sys/openbsd
diff options
context:
space:
mode:
authorAnton Lindqvist <anton@basename.se>2019-03-18 08:15:27 +0100
committerDmitry Vyukov <dvyukov@google.com>2019-03-18 08:52:35 +0100
commit4656becafbd6c9a181ee8516f6b2a26103668273 (patch)
tree5b2281ac027affdae33a4c50ff9ae85229ac8ce7 /sys/openbsd
parent0d081107beadbdcb65578a5f52d1bac0103cc963 (diff)
sys/openbsd: add chflags descriptions
Diffstat (limited to 'sys/openbsd')
-rw-r--r--sys/openbsd/gen/amd64.go25
-rw-r--r--sys/openbsd/sys.txt6
-rw-r--r--sys/openbsd/sys_amd64.const9
3 files changed, 39 insertions, 1 deletions
diff --git a/sys/openbsd/gen/amd64.go b/sys/openbsd/gen/amd64.go
index c4f9eb824..1ef4fa7fd 100644
--- a/sys/openbsd/gen/amd64.go
+++ b/sys/openbsd/gen/amd64.go
@@ -564,6 +564,16 @@ var syscalls_amd64 = []*Syscall{
{NR: 12, Name: "chdir", CallName: "chdir", Args: []Type{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dir", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
}},
+ {NR: 34, Name: "chflags", CallName: "chflags", Args: []Type{
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 65536, 131072, 262144}, BitMask: true},
+ }},
+ {NR: 107, Name: "chflagsat", CallName: "chflagsat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "dirfd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 65536, 131072, 262144}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflagsat_flags", FldName: "atflags", TypeSize: 8}}, Vals: []uint64{2}, BitMask: true},
+ }},
{NR: 15, Name: "chmod", CallName: "chmod", Args: []Type{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{256, 128, 64, 32, 16, 8, 4, 2, 1}, BitMask: true},
@@ -632,6 +642,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: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 65536, 131072, 262144}, BitMask: true},
+ }},
{NR: 124, Name: "fchmod", CallName: "fchmod", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{256, 128, 64, 32, 16, 8, 4, 2, 1}, BitMask: true},
@@ -2045,6 +2059,9 @@ var consts_amd64 = []ConstValue{
{Name: "SEM_UNDO", Value: 4096},
{Name: "SETALL", Value: 9},
{Name: "SETVAL", Value: 8},
+ {Name: "SF_APPEND", Value: 262144},
+ {Name: "SF_ARCHIVED", Value: 65536},
+ {Name: "SF_IMMUTABLE", Value: 131072},
{Name: "SHM_LOCK", Value: 3},
{Name: "SHM_RDONLY", Value: 4096},
{Name: "SHM_RND", Value: 8192},
@@ -2081,6 +2098,8 @@ var consts_amd64 = []ConstValue{
{Name: "SYS_accept", Value: 30},
{Name: "SYS_bind", Value: 104},
{Name: "SYS_chdir", Value: 12},
+ {Name: "SYS_chflags", Value: 34},
+ {Name: "SYS_chflagsat", Value: 107},
{Name: "SYS_chmod", Value: 15},
{Name: "SYS_chown", Value: 16},
{Name: "SYS_chroot", Value: 61},
@@ -2094,6 +2113,7 @@ var consts_amd64 = []ConstValue{
{Name: "SYS_execve", Value: 59},
{Name: "SYS_faccessat", Value: 313},
{Name: "SYS_fchdir", Value: 13},
+ {Name: "SYS_fchflags", Value: 35},
{Name: "SYS_fchmod", Value: 124},
{Name: "SYS_fchmodat", Value: 314},
{Name: "SYS_fchown", Value: 123},
@@ -2249,6 +2269,9 @@ var consts_amd64 = []ConstValue{
{Name: "TIOCSTOP", Value: 536900719},
{Name: "TIOCSTSTAMP", Value: 2148037722},
{Name: "TIOCSWINSZ", Value: 2148037735},
+ {Name: "UF_APPEND", Value: 4},
+ {Name: "UF_IMMUTABLE", Value: 2},
+ {Name: "UF_NODUMP", Value: 1},
{Name: "VT_ACKACQ", Value: 2},
{Name: "VT_ACTIVATE", Value: 536901125},
{Name: "VT_AUTO"},
@@ -2355,4 +2378,4 @@ var consts_amd64 = []ConstValue{
{Name: "__MAP_NOREPLACE", Value: 2048},
}
-const revision_amd64 = "9323c36f6354363bbc8628c16d604d46362805d5"
+const revision_amd64 = "c733e73f8e86521a832739688afba80475b07ef0"
diff --git a/sys/openbsd/sys.txt b/sys/openbsd/sys.txt
index 67af2b16f..27562d786 100644
--- a/sys/openbsd/sys.txt
+++ b/sys/openbsd/sys.txt
@@ -23,6 +23,10 @@ pipe(pipefd ptr[out, pipefd])
stat(file ptr[in, filename], statbuf ptr[out, stat])
lstat(file ptr[in, filename], statbuf ptr[out, stat])
+chflags(file ptr[in, filename], flags flags[chflags_flags])
+fchflags(fd fd, flags flags[chflags_flags])
+chflagsat(dirfd fd_dir, file ptr[in, filename], flags flags[chflags_flags], atflags flags[chflagsat_flags])
+
poll(fds ptr[in, array[pollfd]], nfds len[fds], timeout int32)
select(n len[inp], inp ptr[inout, fd_set], outp ptr[inout, fd_set], exp ptr[inout, fd_set], tvp ptr[inout, timeval])
@@ -189,6 +193,8 @@ ucred {
gid gid
}
+chflags_flags = UF_NODUMP, UF_IMMUTABLE, UF_APPEND, SF_ARCHIVED, SF_IMMUTABLE, SF_APPEND
+chflagsat_flags = AT_SYMLINK_NOFOLLOW
pollfd_events = POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL, POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND
mknod_mode = S_IFMT, S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
at_flags = AT_SYMLINK_NOFOLLOW, AT_SYMLINK_FOLLOW
diff --git a/sys/openbsd/sys_amd64.const b/sys/openbsd/sys_amd64.const
index 96f56304d..4f1dabf7a 100644
--- a/sys/openbsd/sys_amd64.const
+++ b/sys/openbsd/sys_amd64.const
@@ -56,7 +56,12 @@ RLIMIT_RSS = 5
RLIMIT_STACK = 3
RUSAGE_CHILDREN = 18446744073709551615
RUSAGE_SELF = 0
+SF_APPEND = 262144
+SF_ARCHIVED = 65536
+SF_IMMUTABLE = 131072
SYS_chdir = 12
+SYS_chflags = 34
+SYS_chflagsat = 107
SYS_chmod = 15
SYS_chown = 16
SYS_chroot = 61
@@ -66,6 +71,7 @@ SYS_clock_settime = 88
SYS_execve = 59
SYS_faccessat = 313
SYS_fchdir = 13
+SYS_fchflags = 35
SYS_fchmod = 124
SYS_fchmodat = 314
SYS_fchown = 123
@@ -142,6 +148,9 @@ S_IWUSR = 128
S_IXGRP = 8
S_IXOTH = 1
S_IXUSR = 64
+UF_APPEND = 4
+UF_IMMUTABLE = 2
+UF_NODUMP = 1
WCONTINUED = 8
WNOHANG = 1
WUNTRACED = 2