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

# Content
1 // This file is part of libptytty. Do not make local modifications.
2 // http://software.schmorp.de/pkg/libptytty
3
4 #ifndef LIBPTYTTY_H_ /* public libptytty header file */
5 #define LIBPTYTTY_H_
6
7 #ifdef __cplusplus
8
9 // C++ API
10
11 struct ptytty {
12 int pty; // pty file descriptor; connected to terminal emulator
13 int tty; // tty file descriptor; connected to child
14
15 virtual ~ptytty ()
16 {
17 }
18
19 virtual bool get () = 0;
20 virtual void login (int cmd_pid, bool login_shell, const char *hostname) = 0;
21
22 void close_tty ();
23 bool make_controlling_tty ();
24 void set_utf8_mode (bool on);
25
26 static void sanitise_stdfd ();
27 static void init ();
28 static ptytty *create (); // create a new pty object
29
30 static void drop_privileges ();
31 static void use_helper ();
32
33 static bool send_fd (int socket, int fd);
34 static int recv_fd (int socket);
35
36 protected:
37
38 ptytty ()
39 : pty(-1), tty(-1)
40 {
41 }
42 };
43
44 #else
45
46 // C API
47
48 typedef void *PTYTTY;
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 ();
61 void ptytty_init ();
62 PTYTTY ptytty_create ();
63
64 void ptytty_drop_privileges ();
65 void ptytty_use_helper ();
66
67 #endif
68
69 #endif
70