… | |
… | |
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 rxvt |
13 | int tty; // tty file descriptor; connected to child |
13 | int tty; // tty file descriptor; connected to child |
14 | |
14 | |
… | |
… | |
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 | |
47 | |
47 | typedef void *PTYTTY; |
48 | typedef void *PTYTTY; |
48 | |
49 | |
49 | int ptytty_pty (PTYTTY ptytty); |
50 | int ptytty_pty (PTYTTY ptytty); |
50 | int ptytty_tty (PTYTTY ptytty); |
51 | int ptytty_tty (PTYTTY ptytty); |
51 | void ptytty_delete (PTYTTY ptytty); |
52 | void ptytty_delete (PTYTTY ptytty); |
52 | int ptytty_get (PTYTTY ptytty); |
53 | int ptytty_get (PTYTTY ptytty); |
53 | void ptytty_login (PTYTTY ptytty, int cmd_pid, bool login_shell, const char *hostname); |
54 | void ptytty_login (PTYTTY ptytty, int cmd_pid, int login_shell, const char *hostname); |
54 | |
55 | |
55 | void ptytty_close_tty (PTYTTY ptytty); |
56 | void ptytty_close_tty (PTYTTY ptytty); |
56 | int ptytty_make_controlling_tty (PTYTTY ptytty); |
57 | int ptytty_make_controlling_tty (PTYTTY ptytty); |
57 | void ptytty_set_utf8_mode (PTYTTY ptytty, int on); |
58 | void ptytty_set_utf8_mode (PTYTTY ptytty, int on); |
58 | |
59 | |
|
|
60 | void ptytty_sanitise_stdfd (); |
59 | void ptytty_init (); |
61 | void ptytty_init (); |
60 | PTYTTY ptytty_create (); |
62 | PTYTTY ptytty_create (); |
61 | |
63 | |
62 | void ptytty_drop_privileges (); |
64 | void ptytty_drop_privileges (); |
63 | void ptytty_use_helper (); |
65 | void ptytty_use_helper (); |