diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2016-10-29 17:00:35 -0600 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2016-11-11 14:33:15 -0800 |
| commit | 5ed6283b64f91c8aa036122b18974aabed4c5249 (patch) | |
| tree | babbd9bd6a3bde548e650d82946e5ce6e6541e57 /sys | |
| parent | f085c198ba2dd95ce46a66ec8f8e6b472c3cca14 (diff) | |
sys: don't imply pointer indirection for string arguments
In preparation for extending string functionality
and to make it less magical.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/README.md | 2 | ||||
| -rw-r--r-- | sys/bpf.txt | 2 | ||||
| -rw-r--r-- | sys/key.txt | 8 | ||||
| -rw-r--r-- | sys/perf.txt | 2 | ||||
| -rw-r--r-- | sys/sndcontrol.txt | 2 | ||||
| -rw-r--r-- | sys/socket.txt | 2 | ||||
| -rw-r--r-- | sys/sys.txt | 34 |
7 files changed, 26 insertions, 26 deletions
diff --git a/sys/README.md b/sys/README.md index 28b1b712a..89638aa12 100644 --- a/sys/README.md +++ b/sys/README.md @@ -44,7 +44,7 @@ rest of the type-options are type-specific: type of the object; direction (in/out/inout) "buffer": a pointer to a memory buffer (like read/write buffer argument), type-options: direction (in/out/inout) - "string": a pointer to a memory buffer, similar to buffer[in] + "string": a zero-terminated memory buffer (no pointer indirection implied) "strconst": a pointer to a constant string, type-options: the underlying string (for example "/dev/dsp") "filename": a file/link/dir name diff --git a/sys/bpf.txt b/sys/bpf.txt index 68b4c0ab9..e7338cc53 100644 --- a/sys/bpf.txt +++ b/sys/bpf.txt @@ -52,7 +52,7 @@ bpf_prog { type flags[bpf_prog_type, int32] ninsn len[insns, int32] insns ptr[in, array[bpf_insn]] - license string + license ptr[in, string] loglev int32 logsize len[log, int32] log buffer[out] diff --git a/sys/key.txt b/sys/key.txt index 6c431682c..c0b18f5e8 100644 --- a/sys/key.txt +++ b/sys/key.txt @@ -6,17 +6,17 @@ include <uapi/linux/keyctl.h> resource key[int32]: KEY_SPEC_THREAD_KEYRING, KEY_SPEC_PROCESS_KEYRING, KEY_SPEC_SESSION_KEYRING, KEY_SPEC_USER_KEYRING, KEY_SPEC_USER_SESSION_KEYRING, KEY_SPEC_GROUP_KEYRING, KEY_SPEC_REQKEY_AUTH_KEY, KEY_SPEC_REQUESTOR_KEYRING -add_key(type string, desc string, payload buffer[in, opt], paylen len[payload], keyring flags[keyring_type]) key -request_key(type string, desc string, callout string, keyring flags[keyring_type]) key +add_key(type ptr[in, string], desc ptr[in, string], payload buffer[in, opt], paylen len[payload], keyring flags[keyring_type]) key +request_key(type ptr[in, string], desc ptr[in, string], callout ptr[in, string], keyring flags[keyring_type]) key keyctl$get_keyring_id(code const[KEYCTL_GET_KEYRING_ID], key key, create intptr) -keyctl$join(code const[KEYCTL_JOIN_SESSION_KEYRING], session string) +keyctl$join(code const[KEYCTL_JOIN_SESSION_KEYRING], session ptr[in, string]) keyctl$update(code const[KEYCTL_UPDATE], key key, payload buffer[in, opt], paylen len[payload]) keyctl$revoke(code const[KEYCTL_REVOKE], key key) keyctl$describe(code const[KEYCTL_DESCRIBE], key key, desc buffer[out], len len[desc]) keyctl$clear(code const[KEYCTL_CLEAR], key key) keyctl$link(code const[KEYCTL_LINK], key1 key, key2 key) keyctl$unlink(code const[KEYCTL_UNLINK], key1 key, key2 key) -keyctl$search(code const[KEYCTL_SEARCH], key key, type string, desc string, ring key) +keyctl$search(code const[KEYCTL_SEARCH], key key, type ptr[in, string], desc ptr[in, string], ring key) keyctl$read(code const[KEYCTL_READ], key key, payload buffer[out], len len[payload]) keyctl$chown(code const[KEYCTL_CHOWN], key key, uid uid, gid gid) # perm is a mask of KEY_POS_VIEW, etc consants, but they cover almost whole int32. diff --git a/sys/perf.txt b/sys/perf.txt index a860d75c8..e35ad22b9 100644 --- a/sys/perf.txt +++ b/sys/perf.txt @@ -15,7 +15,7 @@ ioctl$PERF_EVENT_IOC_REFRESH(fd fd_perf, cmd const[PERF_EVENT_IOC_REFRESH], refr ioctl$PERF_EVENT_IOC_PERIOD(fd fd_perf, cmd const[PERF_EVENT_IOC_PERIOD], period ptr[in, int64]) ioctl$PERF_EVENT_IOC_ID(fd fd_perf, cmd const[PERF_EVENT_IOC_ID], id ptr[out, int64]) ioctl$PERF_EVENT_IOC_SET_OUTPUT(fd fd_perf, cmd const[PERF_EVENT_IOC_SET_OUTPUT], other fd_perf) -ioctl$PERF_EVENT_IOC_SET_FILTER(fd fd_perf, cmd const[PERF_EVENT_IOC_SET_FILTER], filter string) +ioctl$PERF_EVENT_IOC_SET_FILTER(fd fd_perf, cmd const[PERF_EVENT_IOC_SET_FILTER], filter ptr[in, string]) ioctl$PERF_EVENT_IOC_SET_BPF(fd fd_perf, cmd const[PERF_EVENT_IOC_SET_BPF], prog fd_bpf_prog) perf_flags = PERF_FLAG_FD_NO_GROUP, PERF_FLAG_FD_OUTPUT, PERF_FLAG_PID_CGROUP, PERF_FLAG_FD_CLOEXEC diff --git a/sys/sndcontrol.txt b/sys/sndcontrol.txt index 20d5cc320..3e3b8a359 100644 --- a/sys/sndcontrol.txt +++ b/sys/sndcontrol.txt @@ -61,7 +61,7 @@ snd_ctl_elem_info { items int32 item int32 name array[int8, 64] - nameptr string + nameptr ptr[in, string] namelen len[nameptr, int32] pad1 array[const[0, int8], 44] d array[int16, 4] diff --git a/sys/socket.txt b/sys/socket.txt index b2db95849..ca4dfeaf6 100644 --- a/sys/socket.txt +++ b/sys/socket.txt @@ -46,7 +46,7 @@ ioctl$SIOCINQ(fd sock, cmd const[SIOCINQ], arg ptr[out, int32]) setsockopt$sock_void(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_void], optval const[0], optlen const[0]) getsockopt$sock_int(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) setsockopt$sock_int(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_int], optval ptr[in, int32], optlen len[optval]) -setsockopt$sock_str(fd sock, level const[SOL_SOCKET], optname const[SO_BINDTODEVICE], optval string, optlen len[optval]) +setsockopt$sock_str(fd sock, level const[SOL_SOCKET], optname const[SO_BINDTODEVICE], optval ptr[in, string], optlen len[optval]) getsockopt$sock_linger(fd sock, level const[SOL_SOCKET], optname const[SO_LINGER], optval ptr[out, linger], optlen ptr[inout, len[optval, int32]]) setsockopt$sock_linger(fd sock, level const[SOL_SOCKET], optname const[SO_LINGER], optval ptr[in, linger], optlen len[optval]) getsockopt$sock_cred(fd sock, level const[SOL_SOCKET], optname const[SO_PEERCRED], optval ptr[out, ucred], optlen ptr[inout, len[optval, int32]]) diff --git a/sys/sys.txt b/sys/sys.txt index 8ac03e8dc..13d2d2830 100644 --- a/sys/sys.txt +++ b/sys/sys.txt @@ -156,7 +156,7 @@ mlock2(addr vma, size len[addr], flags flags[mlock_flags]) munlock(addr vma, size len[addr]) mlockall(flags flags[mlockall_flags]) munlockall() -memfd_create(name string, flags flags[memfd_flags]) fd +memfd_create(name ptr[in, string], flags flags[memfd_flags]) fd unshare(flags flags[clone_flags]) kcmp(pid1 pid, pid2 pid, type flags[kcmp_flags], fd1 fd, fd2 fd) @@ -220,7 +220,7 @@ prctl$intptr(option flags[prctl_code_intptr], arg intptr) prctl$getreaper(option flags[prctl_code_getreaper], arg ptr[out, intptr]) prctl$setendian(option const[PR_SET_ENDIAN], arg flags[prctl_endian]) prctl$setfpexc(option const[PR_SET_FPEXC], arg flags[prctl_fpexc]) -prctl$setname(option const[PR_SET_NAME], name string) +prctl$setname(option const[PR_SET_NAME], name ptr[in, string]) prctl$getname(option const[PR_GET_NAME], name buffer[out]) prctl$setptracer(option const[PR_SET_PTRACER], pid pid) prctl$seccomp(option const[PR_SET_SECCOMP], mode flags[prctl_seccomp_mode], prog ptr[in, sock_fprog]) @@ -230,12 +230,12 @@ arch_prctl(code flags[arch_prctl_code], addr buffer[in]) seccomp(op flags[seccomp_op], flags flags[seccomp_flags], prog ptr[in, sock_fprog]) resource fd_mq[fd] -mq_open(name string, flags flags[mq_open_flags], mode flags[open_mode], attr ptr[in, mq_attr]) fd_mq +mq_open(name ptr[in, string], flags flags[mq_open_flags], mode flags[open_mode], attr ptr[in, mq_attr]) fd_mq mq_timedsend(mqd fd_mq, msg buffer[in], msglen len[msg], prio intptr, timeout ptr[in, timespec, opt]) mq_timedreceive(mqd fd_mq, msg buffer[out], msglen len[msg], prio intptr, timeout ptr[in, timespec, opt]) mq_notify(mqd fd_mq, notif ptr[in, sigevent]) mq_getsetattr(mqd fd_mq, attr ptr[in, mq_attr], oldattr ptr[out, mq_attr, opt]) -mq_unlink(name string) +mq_unlink(name ptr[in, string]) resource ipc[int32]: 0, 0xffffffffffffffff resource ipc_msq[ipc] @@ -350,16 +350,16 @@ mount$fs(src filesystem, dst filename, type filesystem, flags flags[mount_flags] umount2(path filename, flags flags[umount_flags]) pivot_root(new_root filename, put_old filename) -sysfs$1(option flags[sysfs_opt1], fsname string) +sysfs$1(option flags[sysfs_opt1], fsname ptr[in, string]) sysfs$2(option flags[sysfs_opt2], fsindex intptr, fsname buffer[out]) sysfs$3(option flags[sysfs_opt3]) statfs(path filename, buf buffer[out]) fstatfs(fd fd, buf buffer[out]) uselib(lib filename) -init_module(mod string, len len[mod], args string) -finit_module(fd fd, args string, flags flags[finit_module_flags]) -delete_module(name string, flags flags[delete_module_flags]) +init_module(mod ptr[in, string], len len[mod], args ptr[in, string]) +finit_module(fd fd, args ptr[in, string], flags flags[finit_module_flags]) +delete_module(name ptr[in, string], flags flags[delete_module_flags]) kexec_load(entry intptr, nr_segments len[segments], segments ptr[in, array[kexec_segment]], flags flags[kexec_load_flags]) get_kernel_syms(table buffer[out]) syslog(cmd flags[syslog_cmd], buf buffer[out, opt], len len[buf]) @@ -381,18 +381,18 @@ ioprio_set$pid(which flags[ioprio_which_pid], who pid, prio intptr) ioprio_set$uid(which flags[ioprio_which_uid], who uid, prio intptr) setns(fd fd, type flags[ns_type]) -setxattr(path filename, name string, val string, size len[val], flags flags[setxattr_flags]) -lsetxattr(path filename, name string, val string, size len[val], flags flags[setxattr_flags]) -fsetxattr(fd fd, name string, val string, size len[val], flags flags[setxattr_flags]) -getxattr(path filename, name string, val buffer[out], size len[val]) -lgetxattr(path filename, name string, val buffer[out], size len[val]) -fgetxattr(fd fd, name string, val buffer[out], size len[val]) +setxattr(path filename, name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags]) +lsetxattr(path filename, name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags]) +fsetxattr(fd fd, name ptr[in, string], val ptr[in, string], size len[val], flags flags[setxattr_flags]) +getxattr(path filename, name ptr[in, string], val buffer[out], size len[val]) +lgetxattr(path filename, name ptr[in, string], val buffer[out], size len[val]) +fgetxattr(fd fd, name ptr[in, string], val buffer[out], size len[val]) listxattr(path filename, list buffer[out], size len[list]) llistxattr(path filename, list buffer[out], size len[list]) flistxattr(fd fd, list buffer[out], size len[list]) -removexattr(path filename, name string) -lremovexattr(path filename, name string) -fremovexattr(fd fd, name string) +removexattr(path filename, name ptr[in, string]) +lremovexattr(path filename, name ptr[in, string]) +fremovexattr(fd fd, name ptr[in, string]) resource timerid[int32] timer_create(id flags[clock_id], ev ptr[in, sigevent], timerid ptr[out, timerid]) |
