summaryrefslogtreecommitdiffstats
path: root/kdesu/kdesu_pty.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdesu/kdesu_pty.h')
-rw-r--r--kdesu/kdesu_pty.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/kdesu/kdesu_pty.h b/kdesu/kdesu_pty.h
new file mode 100644
index 000000000..c9eadceda
--- /dev/null
+++ b/kdesu/kdesu_pty.h
@@ -0,0 +1,71 @@
+/* vi: ts=8 sts=4 sw=4
+ *
+ * $Id$
+ *
+ * This file is part of the KDE project, module kdesu.
+ * Copyright (C) 1999,2000 Geert Jansen <jansen@kde.org>
+ *
+ * This is free software; you can use this library under the GNU Library
+ * General Public License, version 2. See the file "COPYING.LIB" for the
+ * exact licensing terms.
+ */
+
+
+/**
+ * PTY compatibility routines. This class tries to emulate a UNIX98 PTY API
+ * on various platforms.
+ */
+#ifndef __PTY_h_Included__
+#define __PTY_h_Included__
+
+#include <qcstring.h>
+
+#include <kdelibs_export.h>
+
+class KDESU_EXPORT PTY {
+
+public:
+ /**
+ * Construct a PTY object.
+ */
+ PTY();
+
+ /**
+ * Destructs the object. The PTY is closed if it is still open.
+ */
+ ~PTY();
+
+ /**
+ * Allocate a pty.
+ * @return A filedescriptor to the master side.
+ */
+ int getpt();
+
+ /**
+ * Grant access to the slave side.
+ * @return Zero if succesfull, < 0 otherwise.
+ */
+ int grantpt();
+
+ /**
+ * Unlock the slave side.
+ * @return Zero if successful, < 0 otherwise.
+ */
+ int unlockpt();
+
+ /**
+ * Get the slave name.
+ * @return The slave name.
+ */
+ QCString ptsname();
+
+private:
+
+ int ptyfd;
+ QCString ptyname, ttyname;
+
+ class PTYPrivate;
+ PTYPrivate *d;
+};
+
+#endif // __PTY_h_Included__