blob: 2fe01ab2043f9d6a2f5ce645d9d4a7bd9cad6e42 [file] [log] [blame]
/*
* pty.c
*
* Basic Unix98 PTY functionality; assumes devpts mounted on /dev/pts
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <termios.h>
#include <sys/ioctl.h>
char *ptsname(int fd)
{
static char buffer[32]; /* Big enough to hold even a 64-bit pts no */
unsigned int ptyno;
if ( ioctl(fd, TIOCGPTN, &ptyno) )
return NULL;
snprintf(buffer, sizeof buffer, "/dev/pts/%u", ptyno);
return buffer;
}
int unlockpt(int fd)
{
int unlock = 0;
return ioctl(fd, TIOCSPTLCK, &unlock);
}