diff options
Diffstat (limited to 'sbin/fdmaker/fdmaker.c')
-rw-r--r-- | sbin/fdmaker/fdmaker.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/sbin/fdmaker/fdmaker.c b/sbin/fdmaker/fdmaker.c new file mode 100644 index 0000000..6dcc299 --- /dev/null +++ b/sbin/fdmaker/fdmaker.c @@ -0,0 +1,32 @@ +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <fcntl.h> +#include <sys/ioctl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/sysmacros.h> + +int main() { + // make process be sigma (why did i think of this) + if (setsid() < 0) { + perror("setsid"); + exit(1); + } + + // >open /dev/tty1 + // >look inside + // >bits + int fd = open("/dev/tty1", O_RDWR); + if (fd == -1) { + write(2, "Failed to open /dev/tty1\n", 26); + exit(1); + } + // make tty1 be the displayed tty + if (ioctl(fd, TIOCSCTTY, 0) < 0) { + write(2, "ioctl TIOCSCTTY", 16); + exit(1); + } + write(fd, "\e[2J\e[0;0Hwelcome to nyaOS - a distro made by an idiot with no C experience that still somehow works\n\n", 103); + execve("/bin/shel", 0, 0); +} \ No newline at end of file |