tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

rfc: tcgetattr() error reporting


I'm not so familiar with termios in NetBSD especially for /dev/null.
I tried to find appropriate *ioctl() code which setups that error, but
without success.
The tcgetattr(</dev/null>) probably should set errno to ENOTTY instead

Here is small test case:

#include <errno.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <termios.h>
#include <sys/ioctl.h>

int main()
        int fd, rc;
        struct termios t;
        fd = open("/dev/null", O_RDONLY);
        /*rc = tcgetattr(fd, &t);*/
#ifdef __linux__
        rc = ioctl(fd, TCGETS, &t);
#elif defined(__NetBSD__)
        rc = ioctl(fd, TIOCGETA, &t);
        rc = -1;
        printf("rc: %d, err: %d, ENOTTY: %d\n", rc, errno, ENOTTY);
        return 0;

Results (linux/NetBSD)

andy@FITFIESPPC176:~/tmp/base-ts$ ./termios1
rc: -1, err: 25, ENOTTY: 25

10:25 tmp$ ./termios1
rc: -1, err: 45, ENOTTY: 25

With Best Regards,
Andy Shevchenko

Home | Main Index | Thread Index | Old Index