aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp')
-rw-r--r--lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp76
1 files changed, 0 insertions, 76 deletions
diff --git a/lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp b/lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp
deleted file mode 100644
index ec74e22..0000000
--- a/lib/mlibc/sysdeps/ironclad/generic/utmpx.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <bits/ensure.h>
-#include <stddef.h>
-#include <errno.h>
-#include <utmpx.h>
-#include <stdio.h>
-#include <time.h>
-#include <paths.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-int utmpx_file = -1;
-
-void updwtmpx(const char *, const struct utmpx *) {
- // Empty as musl does
-}
-
-void endutxent(void) {
- if (utmpx_file >= 0) {
- close(utmpx_file);
- }
-}
-
-void setutxent(void) {
- if (utmpx_file < 0) {
- utmpx_file = open(UTMPX_FILE, O_RDWR | O_CREAT, 0755);
- } else {
- lseek(utmpx_file, 0, SEEK_SET);
- }
-}
-
-struct utmpx returned;
-
-struct utmpx *getutxent(void) {
- if (utmpx_file < 0) {
- setutxent();
- if (utmpx_file < 0) {
- return NULL;
- }
- }
-
- if (read(utmpx_file, &returned, sizeof(struct utmpx)) != sizeof(struct utmpx)) {
- return NULL;
- }
-
- return &returned;
-}
-
-struct utmpx *pututxline(const struct utmpx *added) {
- if (utmpx_file < 0) {
- setutxent();
- if (utmpx_file < 0) {
- return NULL;
- }
- }
-
- lseek(utmpx_file, 0, SEEK_END);
- if (write(utmpx_file, added, sizeof(struct utmpx)) != sizeof(struct utmpx)) {
- return NULL;
- }
-
- return (struct utmpx *)added;
-}
-
-int utmpxname(const char *path) {
- if (utmpx_file > 0) {
- close(utmpx_file);
- }
-
- utmpx_file = open(path, O_RDWR | O_CREAT, 0755);
- if (utmpx_file > 0) {
- lseek(utmpx_file, 0, SEEK_END);
- return 1;
- } else {
- return 0;
- }
-}