Mercurial > hg > xemacs-beta
comparison src/sysdep.h @ 428:3ecd8885ac67 r21-2-22
Import from CVS: tag r21-2-22
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:28:15 +0200 |
parents | |
children | a5df635868b2 |
comparison
equal
deleted
inserted
replaced
427:0a0253eac470 | 428:3ecd8885ac67 |
---|---|
1 /* System-dependent prototypes | |
2 Copyright (C) 1985, 1993, 1994 Free Software Foundation, Inc. | |
3 | |
4 This file is part of XEmacs. | |
5 | |
6 XEmacs is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License as published by the | |
8 Free Software Foundation; either version 2, or (at your option) any | |
9 later version. | |
10 | |
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with XEmacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 /* Synched up with: FSF 19.30. Split out of sysdep.c/emacs.c. */ | |
22 | |
23 #ifndef _XEMACS_SYSDEP_H_ | |
24 #define _XEMACS_SYSDEP_H_ | |
25 | |
26 #include <setjmp.h> | |
27 | |
28 extern char **environ; | |
29 | |
30 struct emacs_tty; | |
31 int emacs_get_tty (int fd, struct emacs_tty *settings); | |
32 int emacs_set_tty (int fd, struct emacs_tty *settings, int waitp); | |
33 | |
34 int eight_bit_tty (struct device *d); | |
35 | |
36 void stuff_char (struct console *con, int c); | |
37 | |
38 void init_baud_rate (struct device *d); | |
39 | |
40 void set_exclusive_use (int fd); | |
41 | |
42 void set_descriptor_non_blocking (int fd); | |
43 | |
44 void wait_without_blocking (void); | |
45 | |
46 int get_pty_max_bytes (int fd); | |
47 Bufbyte get_eof_char (int fd); | |
48 | |
49 /* Wait for subprocess with process id `pid' to terminate and | |
50 make sure it will get eliminated (not remain forever as a zombie) */ | |
51 void wait_for_termination (int pid); | |
52 | |
53 /* flush any pending output | |
54 * (may flush input as well; it does not matter the way we use it) | |
55 */ | |
56 void flush_pending_output (int channel); | |
57 | |
58 void child_setup_tty (int out); | |
59 | |
60 /* Suspend the Emacs process; give terminal to its superior. */ | |
61 void sys_suspend (void); | |
62 /* Suspend a process if possible; give terminal to its superior. */ | |
63 void sys_suspend_process (int process); | |
64 | |
65 void request_sigio (void); | |
66 void unrequest_sigio (void); | |
67 | |
68 void stop_interrupts (void); | |
69 void start_interrupts (void); | |
70 void slow_down_interrupts (void); | |
71 void speed_up_interrupts (void); | |
72 void init_poll_for_quit (void); | |
73 void reset_poll_for_quit (void); | |
74 | |
75 /* Used so that signals can break out of system calls that aren't | |
76 naturally interruptible. */ | |
77 | |
78 extern JMP_BUF break_system_call_jump; | |
79 extern volatile int can_break_system_calls; | |
80 | |
81 int sys_write_1 (int fildes, CONST void *buf, size_t nbyte, | |
82 int allow_quit); | |
83 int sys_read_1 (int fildes, void *buf, size_t nbyte, | |
84 int allow_quit); | |
85 | |
86 /* Call these functions if you want to change some terminal parameter -- | |
87 reset the console, change the parameter, and init it again. */ | |
88 void init_one_console (struct console *c); | |
89 void reset_one_console (struct console *c); | |
90 void init_one_device (struct device *d); | |
91 void reset_one_device (struct device *d); | |
92 | |
93 /* Prepare all terminals for exiting Emacs; move the cursor to the | |
94 bottom of the frame, turn off special modes, etc. Called at exit. | |
95 This calls reset_one_console() on all consoles and does some other | |
96 stuff (e.g. fix the foreground pgroup). */ | |
97 | |
98 void reset_all_consoles (void); | |
99 | |
100 /* Call these functions if you are going to temporarily exit back to | |
101 the shell (e.g. when suspending). This calls reset_one_console() | |
102 on the initial console and does some other stuff (e.g. fix the | |
103 foreground pgroup). */ | |
104 | |
105 void reset_initial_console (void); | |
106 void reinit_initial_console (void); | |
107 | |
108 /* We muck around with our process group. This function needs | |
109 to be called at startup. The rest of the mucking is done as | |
110 part of the functions reset_all_consoles(), reset_initial_console(), | |
111 and reinit_initial_console(). */ | |
112 | |
113 void init_process_group (void); | |
114 void munge_tty_process_group (void); | |
115 void unmunge_tty_process_group (void); | |
116 | |
117 void disconnect_controlling_terminal (void); | |
118 | |
119 /* Return nonzero if safe to use tabs in output. | |
120 At the time this is called, init_sys_modes has not been done yet. */ | |
121 int tabs_safe_p (struct device *d); | |
122 | |
123 /* Get terminal size from system. | |
124 If zero or a negative number is stored, the value is not valid. */ | |
125 void get_tty_device_size (struct device *d, int *widthp, int *heightp); | |
126 /* Set the logical window size associated with descriptor FD */ | |
127 int set_window_size (int fd, int height, int width); | |
128 | |
129 /* Set up the proper status flags for use of a pty. */ | |
130 void setup_pty (int fd); | |
131 | |
132 /* Return the address of the start of the text segment prior to unexec. */ | |
133 char *start_of_text (void); | |
134 /* Return the address of the start of the data segment prior to unexec. */ | |
135 void *start_of_data (void); | |
136 /* Return the address of the end of the text segment prior to unexec. */ | |
137 char *end_of_text (void); | |
138 /* Return the address of the end of the data segment prior to unexec. */ | |
139 char *end_of_data (void); | |
140 | |
141 /* Get_system_name returns as its value a string for system-name to return. */ | |
142 void init_system_name (void); | |
143 | |
144 #ifndef HAVE_GETCWD | |
145 char *getcwd (char *pathname, int size); | |
146 #endif | |
147 | |
148 #ifndef HAVE_RENAME | |
149 int rename (CONST char *from, CONST char *to); | |
150 #endif | |
151 | |
152 #ifndef HAVE_DUP2 | |
153 int dup2 (int oldd, int newd); | |
154 #endif | |
155 | |
156 #ifndef HAVE_STRERROR | |
157 /* X11R6 defines strerror as a macro */ | |
158 # ifdef strerror | |
159 # undef strerror | |
160 # endif | |
161 CONST char *strerror (int); | |
162 #endif | |
163 | |
164 #ifdef WINDOWSNT | |
165 void mswindows_set_errno (unsigned long win32_error); | |
166 void mswindows_set_last_errno (void); | |
167 #endif | |
168 | |
169 int interruptible_open (CONST char *path, int oflag, int mode); | |
170 | |
171 #ifndef HAVE_H_ERRNO | |
172 extern int h_errno; | |
173 #endif | |
174 | |
175 #ifdef HAVE_REALPATH | |
176 #define xrealpath realpath | |
177 #else | |
178 char *xrealpath(CONST char *path, char resolved_path []); | |
179 #endif | |
180 | |
181 #endif /* _XEMACS_SYSDEP_H_ */ |