Small test.

#include <util.h>
#include <stdio.h>
#include <termios.h>
#include <err.h>
#include <stdlib.h>

#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/stat.h>

#include <errno.h>
#include <fcntl.h>
#include <grp.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>


main (){
    int amaster, aslave, master;
    char name[100] = "/dev/ptm";
    struct termios termp;
    struct winsize winp;
    printf("Pty device is : %s \n", name);
//    if ( openpty(&amaster, &aslave, name, &termp, &winp) == -1 )
	if ((master = open(name, O_RDWR)) != -1) {
		struct ptmget pt;
//		if (ioctl(master, TIOCPTSNAME, &pt) != -1) {
		if (ioctl(master, TIOCPTMGET, &pt) != -1) {
			//(void)close(master);
			master = pt.cfd;
			aslave = pt.sfd;
			(void)strcpy(name, pt.sn);
			goto gotit;
		}
		err(EXIT_FAILURE, "Can't ioctl() TIOCPTSNAME");
	}
	err(EXIT_FAILURE, "Can't open /dev/ptmx");
gotit:
    printf("Name is : %s \n", name);
    open(name, O_RDWR);
    sleep(60);
}

Reply via email to