… | |
… | |
4 | #ifndef LIBPTYTTY_H_ /* public libptytty header file */ |
4 | #ifndef LIBPTYTTY_H_ /* public libptytty header file */ |
5 | #define LIBPTYTTY_H_ |
5 | #define LIBPTYTTY_H_ |
6 | |
6 | |
7 | #ifdef __cplusplus |
7 | #ifdef __cplusplus |
8 | |
8 | |
9 | // c++ api |
9 | // C++ API |
10 | |
10 | |
11 | struct ptytty { |
11 | struct ptytty { |
12 | int pty; // pty file descriptor; connected to rxvt |
12 | int pty; // pty file descriptor; connected to terminal emulator |
13 | int tty; // tty file descriptor; connected to child |
13 | int tty; // tty file descriptor; connected to child |
14 | |
14 | |
15 | virtual ~ptytty () |
15 | virtual ~ptytty () |
16 | { |
16 | { |
17 | } |
17 | } |
… | |
… | |
21 | |
21 | |
22 | void close_tty (); |
22 | void close_tty (); |
23 | bool make_controlling_tty (); |
23 | bool make_controlling_tty (); |
24 | void set_utf8_mode (bool on); |
24 | void set_utf8_mode (bool on); |
25 | |
25 | |
|
|
26 | static void sanitise_stdfd (); |
26 | static void init (); |
27 | static void init (); |
27 | static ptytty *create (); // create a new pty object |
28 | static ptytty *create (); // create a new pty object |
28 | |
29 | |
29 | static void drop_privileges (); |
30 | static void drop_privileges (); |
30 | static void use_helper (); |
31 | static void use_helper (); |
… | |
… | |
40 | } |
41 | } |
41 | }; |
42 | }; |
42 | |
43 | |
43 | #else |
44 | #else |
44 | |
45 | |
45 | // c api |
46 | // C API |
46 | int ptytty_pty (void *ptytty); |
|
|
47 | int ptytty_tty (void *ptytty); |
|
|
48 | void ptytty_delete (void *ptytty); |
|
|
49 | int ptytty_get (void *ptytty); |
|
|
50 | void ptytty_login (void *ptytty, int cmd_pid, bool login_shell, const char *hostname); |
|
|
51 | |
47 | |
52 | void ptytty_close_tty (void *ptytty); |
48 | typedef void *PTYTTY; |
53 | int ptytty_make_controlling_tty (void *ptytty); |
|
|
54 | void ptytty_set_utf8_mode (void *ptytty, int on); |
|
|
55 | |
49 | |
|
|
50 | int ptytty_pty (PTYTTY ptytty); |
|
|
51 | int ptytty_tty (PTYTTY ptytty); |
|
|
52 | void ptytty_delete (PTYTTY ptytty); |
|
|
53 | int ptytty_get (PTYTTY ptytty); |
|
|
54 | void ptytty_login (PTYTTY ptytty, int cmd_pid, int login_shell, const char *hostname); |
|
|
55 | |
|
|
56 | 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 | |
|
|
60 | void ptytty_sanitise_stdfd (); |
56 | void ptytty_init (); |
61 | void ptytty_init (); |
57 | void *ptytty_create (); |
62 | PTYTTY ptytty_create (); |
58 | |
63 | |
59 | void ptytty_drop_privileges (); |
64 | void ptytty_drop_privileges (); |
60 | void ptytty_use_helper (); |
65 | void ptytty_use_helper (); |
61 | |
66 | |
62 | #endif |
67 | #endif |