Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core.solaris/library/openpty.c')
-rw-r--r--core/org.eclipse.cdt.core.solaris/library/openpty.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/core/org.eclipse.cdt.core.solaris/library/openpty.c b/core/org.eclipse.cdt.core.solaris/library/openpty.c
deleted file mode 100644
index e3908ff42d5..00000000000
--- a/core/org.eclipse.cdt.core.solaris/library/openpty.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * (c) Copyright QNX Software Systems Ltd. 2002.
- * All Rights Reserved.
- *
- */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <grp.h>
-
-#include <stdlib.h>
-#include <stropts.h>
-
-/**
- * This is taken from R. W. Stevens book.
- * Alain Magloire.
- */
-
-int ptym_open (char *pts_name);
-int ptys_open (int fdm, char * pts_name);
-
-int
-openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp)
-{
- char line[20];
- line[0]=0;
- *amaster = ptym_open(line);
- if (*amaster < 0)
- return -1;
- *aslave = ptys_open(*amaster, line);
- if (*aslave < 0) {
- close(*amaster);
- return -1;
- }
- if (name)
- strcpy(name, line);
-#ifndef TCSAFLUSH
-#define TCSAFLUSH TCSETAF
-#endif
- if (termp)
- (void) tcsetattr(*aslave, TCSAFLUSH, termp);
-#ifdef TIOCSWINSZ
- if (winp)
- (void) ioctl(*aslave, TIOCSWINSZ, (char *)winp);
-#endif
- return 0;
-}
-
-int
-ptym_open(char * pts_name)
-{
- int fdm;
- char *ptr;
-
- strcpy(pts_name, "/dev/ptmx");
- fdm = open(pts_name, O_RDWR);
- if (fdm < 0)
- return -1;
- if (fdm < 0)
- return -1;
- if (grantpt(fdm) < 0) { /* grant access to slave */
- close(fdm);
- return -2;
- }
- if (unlockpt(fdm) < 0) { /* clear slave's lock flag */
- close(fdm);
- return -3;
- }
- ptr = ptsname(fdm);
- if (ptr == NULL) { /* get slave's name */
- close (fdm);
- return -4;
- }
- strcpy(pts_name, ptr); /* return name of slave */
- return fdm; /* return fd of master */
-}
-
-int
-ptys_open(int fdm, char * pts_name)
-{
- int fds;
- /* following should allocate controlling terminal */
- fds = open(pts_name, O_RDWR);
- if (fds < 0) {
- close(fdm);
- return -5;
- }
- if (ioctl(fds, I_PUSH, "ptem") < 0) {
- printf("pterm:%s\n", strerror(errno));
- close(fdm);
- close(fds);
- return -6;
- }
- if (ioctl(fds, I_PUSH, "ldterm") < 0) {
- printf("ldterm %s\n", strerror(errno));
- close(fdm);
- close(fds);
- return -7;
- }
- return fds;
-}

Back to the top