Bladeren bron

LibCore: Add wrapper for posix_openpt(), grantpt() and unlockpt()

Lucas CHOLLET 3 jaren geleden
bovenliggende
commit
5d29f64c99
2 gewijzigde bestanden met toevoegingen van 27 en 0 verwijderingen
  1. 24 0
      Userland/Libraries/LibCore/System.cpp
  2. 3 0
      Userland/Libraries/LibCore/System.h

+ 24 - 0
Userland/Libraries/LibCore/System.cpp

@@ -1084,4 +1084,28 @@ ErrorOr<void> setenv(StringView name, StringView value, bool overwrite)
     return {};
 }
 
+ErrorOr<int> posix_openpt(int flags)
+{
+    int const rc = ::posix_openpt(flags);
+    if (rc < 0)
+        return Error::from_syscall("posix_openpt", -errno);
+    return rc;
+}
+
+ErrorOr<void> grantpt(int fildes)
+{
+    auto const rc = ::grantpt(fildes);
+    if (rc < 0)
+        return Error::from_syscall("grantpt", -errno);
+    return {};
+}
+
+ErrorOr<void> unlockpt(int fildes)
+{
+    auto const rc = ::unlockpt(fildes);
+    if (rc < 0)
+        return Error::from_syscall("unlockpt", -errno);
+    return {};
+}
+
 }

+ 3 - 0
Userland/Libraries/LibCore/System.h

@@ -146,5 +146,8 @@ ErrorOr<Vector<gid_t>> getgroups();
 ErrorOr<void> mknod(StringView pathname, mode_t mode, dev_t dev);
 ErrorOr<void> mkfifo(StringView pathname, mode_t mode);
 ErrorOr<void> setenv(StringView, StringView, bool);
+ErrorOr<int> posix_openpt(int flags);
+ErrorOr<void> grantpt(int fildes);
+ErrorOr<void> unlockpt(int fildes);
 
 }