Mercurial > hg > xemacs-beta
annotate src/sysdep.h @ 5925:08cfc8f77fb6 cygwin
make space for long ptr, and store as such, for frame in WINDOW data,
add a bit more debugging to debug-mswindow,
Vin Shelton patch to fix M-x shell
| author | Henry Thompson <ht@markup.co.uk> |
|---|---|
| date | Fri, 27 Feb 2015 17:41:20 +0000 |
| parents | 308d34e9f07d |
| children |
| rev | line source |
|---|---|
| 428 | 1 /* System-dependent prototypes |
| 2 Copyright (C) 1985, 1993, 1994 Free Software Foundation, Inc. | |
| 814 | 3 Copyright (C) 2001, 2002 Ben Wing. |
| 428 | 4 |
| 5 This file is part of XEmacs. | |
| 6 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4029
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
| 428 | 8 under the terms of the GNU General Public License as published by the |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4029
diff
changeset
|
9 Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4029
diff
changeset
|
10 option) any later version. |
| 428 | 11 |
| 12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 15 for more details. | |
| 16 | |
| 17 You should have received a copy of the GNU General Public License | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4029
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 428 | 19 |
| 20 /* Synched up with: FSF 19.30. Split out of sysdep.c/emacs.c. */ | |
| 21 | |
| 440 | 22 #ifndef INCLUDED_sysdep_h_ |
| 23 #define INCLUDED_sysdep_h_ | |
| 428 | 24 |
| 25 #include <setjmp.h> | |
| 26 | |
| 442 | 27 #ifdef PDUMP |
| 28 int pdump_read_file (char **pdump_start_pos, size_t *pdump_length); | |
| 29 #endif | |
| 30 | |
| 428 | 31 int eight_bit_tty (struct device *d); |
| 32 | |
| 33 void stuff_char (struct console *con, int c); | |
| 34 | |
| 35 void init_baud_rate (struct device *d); | |
| 36 | |
| 37 void set_exclusive_use (int fd); | |
| 38 | |
| 39 void set_descriptor_non_blocking (int fd); | |
| 40 | |
| 41 int get_pty_max_bytes (int fd); | |
| 867 | 42 Ibyte get_eof_char (int fd); |
| 428 | 43 |
| 44 /* Wait for subprocess with process id `pid' to terminate and | |
| 45 make sure it will get eliminated (not remain forever as a zombie) */ | |
| 46 void wait_for_termination (int pid); | |
| 47 | |
| 48 /* flush any pending output | |
| 49 * (may flush input as well; it does not matter the way we use it) | |
| 50 */ | |
| 51 void flush_pending_output (int channel); | |
| 52 | |
| 53 void child_setup_tty (int out); | |
| 54 | |
| 55 /* Suspend the Emacs process; give terminal to its superior. */ | |
| 56 void sys_suspend (void); | |
| 57 /* Suspend a process if possible; give terminal to its superior. */ | |
| 58 void sys_suspend_process (int process); | |
| 59 | |
| 60 void request_sigio (void); | |
| 61 void unrequest_sigio (void); | |
| 62 | |
| 1928 | 63 BEGIN_C_DECLS |
| 64 | |
| 4029 | 65 #ifndef WIN32_NATIVE |
| 66 extern char **environ; | |
| 67 #endif | |
| 68 | |
| 428 | 69 void stop_interrupts (void); |
| 70 void start_interrupts (void); | |
| 1927 | 71 MODULE_API void slow_down_interrupts (void); |
| 72 MODULE_API void speed_up_interrupts (void); | |
| 428 | 73 void init_poll_for_quit (void); |
| 74 | |
| 1928 | 75 END_C_DECLS |
| 76 | |
| 428 | 77 /* Used so that signals can break out of system calls that aren't |
| 78 naturally interruptible. */ | |
| 79 | |
| 80 extern JMP_BUF break_system_call_jump; | |
| 81 extern volatile int can_break_system_calls; | |
| 82 | |
| 83 /* Call these functions if you want to change some terminal parameter -- | |
| 84 reset the console, change the parameter, and init it again. */ | |
| 85 void init_one_console (struct console *c); | |
| 86 void reset_one_console (struct console *c); | |
| 87 void init_one_device (struct device *d); | |
| 88 void reset_one_device (struct device *d); | |
| 89 | |
| 90 /* Prepare all terminals for exiting Emacs; move the cursor to the | |
| 91 bottom of the frame, turn off special modes, etc. Called at exit. | |
| 92 This calls reset_one_console() on all consoles and does some other | |
| 93 stuff (e.g. fix the foreground pgroup). */ | |
| 94 | |
| 95 void reset_all_consoles (void); | |
| 96 | |
| 97 /* Call these functions if you are going to temporarily exit back to | |
| 98 the shell (e.g. when suspending). This calls reset_one_console() | |
| 99 on the initial console and does some other stuff (e.g. fix the | |
| 100 foreground pgroup). */ | |
| 101 | |
| 102 void reset_initial_console (void); | |
| 103 void reinit_initial_console (void); | |
| 104 | |
| 105 /* We muck around with our process group. This function needs | |
| 106 to be called at startup. The rest of the mucking is done as | |
| 107 part of the functions reset_all_consoles(), reset_initial_console(), | |
| 108 and reinit_initial_console(). */ | |
| 109 | |
| 110 void init_process_group (void); | |
| 111 void munge_tty_process_group (void); | |
| 112 void unmunge_tty_process_group (void); | |
| 113 | |
| 114 void disconnect_controlling_terminal (void); | |
| 115 | |
| 116 /* Return nonzero if safe to use tabs in output. | |
| 117 At the time this is called, init_sys_modes has not been done yet. */ | |
| 118 int tabs_safe_p (struct device *d); | |
| 119 | |
| 120 /* Get terminal size from system. | |
| 121 If zero or a negative number is stored, the value is not valid. */ | |
| 122 void get_tty_device_size (struct device *d, int *widthp, int *heightp); | |
| 123 /* Set the logical window size associated with descriptor FD */ | |
| 124 int set_window_size (int fd, int height, int width); | |
| 125 | |
| 126 /* Set up the proper status flags for use of a pty. */ | |
| 127 void setup_pty (int fd); | |
| 128 | |
| 129 /* Return the address of the start of the text segment prior to unexec. */ | |
| 130 char *start_of_text (void); | |
| 131 /* Return the address of the start of the data segment prior to unexec. */ | |
| 132 void *start_of_data (void); | |
| 133 | |
| 134 /* Get_system_name returns as its value a string for system-name to return. */ | |
| 135 void init_system_name (void); | |
| 136 | |
| 771 | 137 #ifdef WIN32_NATIVE |
| 138 void *sbrk (unsigned long increment); | |
| 428 | 139 #endif |
| 140 | |
| 801 | 141 Bytecount total_data_usage (void); |
| 142 | |
| 440 | 143 #endif /* INCLUDED_sysdep_h_ */ |
