]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - unix/pty.c
First phase of porting. pterm now compiles and runs under Linux+gtk.
[PuTTY.git] / unix / pty.c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include "putty.h"
5
6 #ifndef FALSE
7 #define FALSE 0
8 #endif
9 #ifndef TRUE
10 #define TRUE 1
11 #endif
12
13 static void pty_size(void);
14
15 static void c_write(char *buf, int len)
16 {
17     from_backend(0, buf, len);
18 }
19
20 /*
21  * Called to set up the pty.
22  * 
23  * Returns an error message, or NULL on success.
24  *
25  * Also places the canonical host name into `realhost'. It must be
26  * freed by the caller.
27  */
28 static char *pty_init(char *host, int port, char **realhost, int nodelay)
29 {
30     /* FIXME: do nothing for now */
31     return NULL;
32 }
33
34 /*
35  * Called to send data down the pty.
36  */
37 static int pty_send(char *buf, int len)
38 {
39     c_write(buf, len);                 /* FIXME: diagnostic thingy */
40     return 0;
41 }
42
43 /*
44  * Called to query the current socket sendability status.
45  */
46 static int pty_sendbuffer(void)
47 {
48     return 0;
49 }
50
51 /*
52  * Called to set the size of the window
53  */
54 static void pty_size(void)
55 {
56     /* FIXME: will need to do TIOCSWINSZ or whatever. */
57     return;
58 }
59
60 /*
61  * Send special codes.
62  */
63 static void pty_special(Telnet_Special code)
64 {
65     /* Do nothing! */
66     return;
67 }
68
69 static Socket pty_socket(void)
70 {
71     return NULL;                       /* shouldn't ever be needed */
72 }
73
74 static int pty_sendok(void)
75 {
76     return 1;
77 }
78
79 static void pty_unthrottle(int backlog)
80 {
81     /* do nothing */
82 }
83
84 static int pty_ldisc(int option)
85 {
86     return 0;                          /* neither editing nor echoing */
87 }
88
89 static int pty_exitcode(void)
90 {
91     /* Shouldn't ever be required */
92     return 0;
93 }
94
95 Backend pty_backend = {
96     pty_init,
97     pty_send,
98     pty_sendbuffer,
99     pty_size,
100     pty_special,
101     pty_socket,
102     pty_exitcode,
103     pty_sendok,
104     pty_ldisc,
105     pty_unthrottle,
106     1
107 };