8
int d = open("/device", O_RDWR);
9
int f = open("/", O_RDONLY);
15
stdin = open("/dev/stdin", O_RDONLY);
16
null = open("/dev/null", O_RDONLY);
17
dev = open("/dev", O_RDONLY);
12
19
result = ctermid(buffer);
14
printf("ctermid: %s\n", result);
16
printf("ctermid errno: %d\n", errno);
20
if (ttyname_r(d, buffer, 256) == 0) {
21
printf("ttyname_r(d, ..., 256): %s\n", buffer);
23
printf("ttyname_r(d, ..., 256) errno: %d\n", errno);
27
if (ttyname_r(d, buffer, 2) == 0) {
28
printf("ttyname_r(d, ..., 2): %s\n", buffer);
30
printf("ttyname_r(d, ..., 2) errno: %d\n", errno);
36
printf("ttyname(d): %s\n", result);
38
printf("ttyname(d) errno: %d\n", errno);
44
printf("ttyname(f): %s\n", result);
46
printf("ttyname(f) errno: %d\n", errno);
20
assert(!strcmp(result, "/dev/tty"));
22
// strstr instead of strcmp as native code may
23
// be using a virtual console (e.g. /dev/tty02)
24
err = ttyname_r(stdin, buffer, 256);
26
assert(strstr(buffer, "/dev/tty"));
28
err = ttyname_r(stdin, buffer, 2);
29
assert(err == ERANGE);
31
result = ttyname(stdin);
32
assert(strstr(result, "/dev/tty"));
34
result = ttyname(null);
37
result = ttyname(dev);