ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/libptytty.h
Revision: 1.6
Committed: Wed Jan 25 10:51:26 2006 UTC (18 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-7_3, rel-7_6, rel-7_5, rel-7_9, rel-7_8, rel-7_7, rel-7_4, rel-7_3a
Changes since 1.5: +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 rxvt
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 init ();
27 static ptytty *create (); // create a new pty object
28
29 static void drop_privileges ();
30 static void use_helper ();
31
32 static bool send_fd (int socket, int fd);
33 static int recv_fd (int socket);
34
35 protected:
36
37 ptytty ()
38 : pty(-1), tty(-1)
39 {
40 }
41 };
42
43 #else
44
45 // c api
46
47 typedef void *PTYTTY;
48
49 int ptytty_pty (PTYTTY ptytty);
50 int ptytty_tty (PTYTTY ptytty);
51 void ptytty_delete (PTYTTY ptytty);
52 int ptytty_get (PTYTTY ptytty);
53 void ptytty_login (PTYTTY ptytty, int cmd_pid, int login_shell, const char *hostname);
54
55 void ptytty_close_tty (PTYTTY ptytty);
56 int ptytty_make_controlling_tty (PTYTTY ptytty);
57 void ptytty_set_utf8_mode (PTYTTY ptytty, int on);
58
59 void ptytty_init ();
60 PTYTTY ptytty_create ();
61
62 void ptytty_drop_privileges ();
63 void ptytty_use_helper ();
64
65 #endif
66
67 #endif
68