Files
Custom-Operating-System/libs/libc/termios/termios.c

32 lines
702 B
C
Raw Normal View History

2025-02-12 09:54:05 -05:00
#include <stdint.h>
#include <sys/ioctl.h>
#include <termios.h>
int tcgetpgrp(int fd)
{
return ioctl(fd, TIOCGPGRP, 0);
}
int tcsetpgrp(int fd, pid_t pgid)
{
return ioctl(fd, TIOCSPGRP, pgid);
}
int tcgetattr(int fd, termios_t* termios_p)
{
return ioctl(0, TCGETS, (uintptr_t)termios_p);
}
int tcsetattr(int fd, int optional_actions, const termios_t* termios_p)
{
if (optional_actions == TCSANOW) {
return ioctl(0, TCSETS, (uintptr_t)termios_p);
}
if (optional_actions == TCSADRAIN) {
return ioctl(0, TCSETSW, (uintptr_t)termios_p);
}
if (optional_actions == TCSAFLUSH) {
return ioctl(0, TCSETSF, (uintptr_t)termios_p);
}
return -1;
}