diff options
author | Mystery Man <unknown@mandriva.org> | 2004-07-15 06:27:30 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2004-07-15 06:27:30 +0000 |
commit | 9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2 (patch) | |
tree | b5ddf2e127d03e3a0f8fbf0caded464da2ed447c /mdk-stage1/dietlibc/libugly/openpty.c | |
parent | 416a326f1fc775511cf1eac2c04cca2a69d9961a (diff) | |
download | drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.gz drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.bz2 drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.tar.xz drakx-backup-do-not-use-9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2.zip |
This commit was manufactured by cvs2svn to create tag 'V10_54mdk'.V10_54mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/openpty.c')
-rw-r--r-- | mdk-stage1/dietlibc/libugly/openpty.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/mdk-stage1/dietlibc/libugly/openpty.c b/mdk-stage1/dietlibc/libugly/openpty.c deleted file mode 100644 index 8d06f329c..000000000 --- a/mdk-stage1/dietlibc/libugly/openpty.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <unistd.h> -#include <pty.h> -#include <fcntl.h> -#include <termios.h> -#include <sys/ioctl.h> -#include <errno.h> -#include <string.h> - -extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase); - -int openpty(int *amaster, int *aslave, char *name, struct termios - *termp, struct winsize *winp) { - int fd; - char buf[20]; -#if 0 - This is what glibc does: - open("/dev/ptmx", O_RDWR) = 4 - statfs("/dev/pts", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0 - ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0 - ioctl(4, 0x80045430, [0]) = 0 - stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 - statfs("/dev/pts/0", {f_type=0x1cd1, f_bsize=1024, f_blocks=0, f_bfree=0, f_files=0, f_ffree=0, f_namelen=255}) = 0 - ioctl(4, 0x40045431, [0]) = 0 - ioctl(4, TCGETS, {B38400 opost isig icanon echo ...}) = 0 - ioctl(4, 0x80045430, [0]) = 0 - stat("/dev/pts/0", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 - open("/dev/pts/0", O_RDWR|O_NOCTTY) = 5 -#endif - if ((fd=open("/dev/ptmx",O_RDWR))<0) return -1; -#if 0 - if (ioctl(fd,TCGETS,&ts)<0) goto kaputt; -#endif - { - int unlock=0; - while (ioctl(fd,TIOCSPTLCK, &unlock)<0) if (errno!=EINTR) goto kaputt; - } - { - int ptyno; - while (ioctl(fd,TIOCGPTN,&ptyno)<0) if (errno!=EINTR) goto kaputt; - strcpy(buf,"/dev/pts/"); - __ltostr(buf+9,10,ptyno,10,0); - } - *aslave=open(buf,O_RDWR|O_NOCTTY); - if (*aslave<0) goto kaputt; - *amaster=fd; - if (name) strcpy(name,buf); - if (termp) - while (tcsetattr(*aslave,TCSAFLUSH,termp) && errno==EINTR); - if (winp) while (ioctl(*aslave, TIOCSWINSZ, winp) && errno==EINTR); - return 0; -kaputt: - close(fd); - return -1; -} |