From 6321b6ecc055e3ee739d180a614ba8dad08e190e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 28 Feb 2020 12:53:39 +0100 Subject: [PATCH] LibC: Move shbuf_* implementations to serenity.cpp --- Libraries/LibC/serenity.cpp | 40 +++++++++++++++++++++++++++++++++++++ Libraries/LibC/unistd.cpp | 40 ------------------------------------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/Libraries/LibC/serenity.cpp b/Libraries/LibC/serenity.cpp index d35b008522b..a75ab557917 100644 --- a/Libraries/LibC/serenity.cpp +++ b/Libraries/LibC/serenity.cpp @@ -84,4 +84,44 @@ int perf_event(int type, uintptr_t arg1, uintptr_t arg2) int rc = syscall(SC_perf_event, type, arg1, arg2); __RETURN_WITH_ERRNO(rc, rc, -1); } + +void* shbuf_get(int shbuf_id, size_t* size) +{ + int rc = syscall(SC_shbuf_get, shbuf_id, size); + if (rc < 0 && -rc < EMAXERRNO) { + errno = -rc; + return (void*)-1; + } + return (void*)rc; +} + +int shbuf_release(int shbuf_id) +{ + int rc = syscall(SC_shbuf_release, shbuf_id); + __RETURN_WITH_ERRNO(rc, rc, -1); +} + +int shbuf_seal(int shbuf_id) +{ + int rc = syscall(SC_shbuf_seal, shbuf_id); + __RETURN_WITH_ERRNO(rc, rc, -1); +} + +int shbuf_create(int size, void** buffer) +{ + int rc = syscall(SC_shbuf_create, size, buffer); + __RETURN_WITH_ERRNO(rc, rc, -1); +} + +int shbuf_allow_pid(int shbuf_id, pid_t peer_pid) +{ + int rc = syscall(SC_shbuf_allow_pid, shbuf_id, peer_pid); + __RETURN_WITH_ERRNO(rc, rc, -1); +} + +int shbuf_allow_all(int shbuf_id) +{ + int rc = syscall(SC_shbuf_allow_all, shbuf_id); + __RETURN_WITH_ERRNO(rc, rc, -1); +} } diff --git a/Libraries/LibC/unistd.cpp b/Libraries/LibC/unistd.cpp index b58709f87cd..d9a1dcd6c82 100644 --- a/Libraries/LibC/unistd.cpp +++ b/Libraries/LibC/unistd.cpp @@ -529,52 +529,12 @@ void sync() syscall(SC_sync); } -int shbuf_create(int size, void** buffer) -{ - int rc = syscall(SC_shbuf_create, size, buffer); - __RETURN_WITH_ERRNO(rc, rc, -1); -} - -int shbuf_allow_pid(int shbuf_id, pid_t peer_pid) -{ - int rc = syscall(SC_shbuf_allow_pid, shbuf_id, peer_pid); - __RETURN_WITH_ERRNO(rc, rc, -1); -} - -int shbuf_allow_all(int shbuf_id) -{ - int rc = syscall(SC_shbuf_allow_all, shbuf_id); - __RETURN_WITH_ERRNO(rc, rc, -1); -} - int set_process_icon(int icon_id) { int rc = syscall(SC_set_process_icon, icon_id); __RETURN_WITH_ERRNO(rc, rc, -1); } -void* shbuf_get(int shbuf_id, size_t* size) -{ - int rc = syscall(SC_shbuf_get, shbuf_id, size); - if (rc < 0 && -rc < EMAXERRNO) { - errno = -rc; - return (void*)-1; - } - return (void*)rc; -} - -int shbuf_release(int shbuf_id) -{ - int rc = syscall(SC_shbuf_release, shbuf_id); - __RETURN_WITH_ERRNO(rc, rc, -1); -} - -int shbuf_seal(int shbuf_id) -{ - int rc = syscall(SC_shbuf_seal, shbuf_id); - __RETURN_WITH_ERRNO(rc, rc, -1); -} - char* getlogin() { static char __getlogin_buffer[256];