ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/libptytty.h
Revision: 1.10
Committed: Mon May 30 21:24:41 2011 UTC (12 years, 11 months ago) by sf-exg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.9: +0 -0 lines
State: FILE REMOVED
Log Message:
Embed libptytty.

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