summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libugly/openpty.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2004-07-15 06:27:30 +0000
committerMystery Man <unknown@mandriva.org>2004-07-15 06:27:30 +0000
commit9a047aaee6ce50ac6f4ed6f51f590764c4a8c4c2 (patch)
treeb5ddf2e127d03e3a0f8fbf0caded464da2ed447c /mdk-stage1/dietlibc/libugly/openpty.c
parent416a326f1fc775511cf1eac2c04cca2a69d9961a (diff)
downloaddrakx-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.c54
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;
-}