ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libptytty/src/libptytty.h
Revision: 1.14
Committed: Mon Jun 11 20:19:41 2007 UTC (19 years, 3 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-9_14, rel-9_12, rel-1_3, rel-1_2, rel-1_5, rel-1_4
Changes since 1.13: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.10 // This file is part of libptytty. Do not make local modifications.
2     // http://software.schmorp.de/pkg/libptytty
3 root 1.5
4 root 1.10 #ifndef LIBPTYTTY_H_ /* public libptytty header file */
5     #define LIBPTYTTY_H_
6 root 1.1
7 root 1.10 #ifdef __cplusplus
8 root 1.8
9 root 1.12 // C++ API
10 root 1.8
11 root 1.10 struct ptytty {
12 root 1.14 int pty; // pty file descriptor; connected to terminal emulator
13 root 1.10 int tty; // tty file descriptor; connected to child
14 root 1.1
15 root 1.10 virtual ~ptytty ()
16     {
17     }
18 root 1.1
19 root 1.10 virtual bool get () = 0;
20     virtual void login (int cmd_pid, bool login_shell, const char *hostname) = 0;
21 root 1.1
22 root 1.10 void close_tty ();
23     bool make_controlling_tty ();
24     void set_utf8_mode (bool on);
25 root 1.1
26 root 1.13 static void sanitise_stdfd ();
27 root 1.10 static void init ();
28     static ptytty *create (); // create a new pty object
29 root 1.6
30 root 1.10 static void drop_privileges ();
31     static void use_helper ();
32 root 1.4
33 root 1.10 static bool send_fd (int socket, int fd);
34     static int recv_fd (int socket);
35 root 1.4
36 root 1.10 protected:
37 root 1.4
38 root 1.10 ptytty ()
39     : pty(-1), tty(-1)
40     {
41     }
42     };
43 root 1.1
44 root 1.10 #else
45 root 1.8
46 root 1.12 // C API
47 root 1.8
48 root 1.10 typedef void *PTYTTY;
49 root 1.8
50 root 1.10 int ptytty_pty (PTYTTY ptytty);
51     int ptytty_tty (PTYTTY ptytty);
52     void ptytty_delete (PTYTTY ptytty);
53     int ptytty_get (PTYTTY ptytty);
54 root 1.11 void ptytty_login (PTYTTY ptytty, int cmd_pid, int login_shell, const char *hostname);
55 root 1.8
56 root 1.10 void ptytty_close_tty (PTYTTY ptytty);
57     int ptytty_make_controlling_tty (PTYTTY ptytty);
58     void ptytty_set_utf8_mode (PTYTTY ptytty, int on);
59 root 1.8
60 root 1.13 void ptytty_sanitise_stdfd ();
61 root 1.10 void ptytty_init ();
62     PTYTTY ptytty_create ();
63 root 1.8
64 root 1.10 void ptytty_drop_privileges ();
65     void ptytty_use_helper ();
66 root 1.1
67 root 1.10 #endif
68 root 1.9
69 root 1.10 #endif
70 root 1.9