annotate src/msdos.h @ 12076:ee38e93ccf7e

(Fkill_buffer): When killing indirect buffer, unchain that buffer's markers (only) from the common chain. Don't rekill this buffer's indirect buffers that are dead. Do nothing if this buffer is already dead.
author Karl Heuer <kwzh@gnu.org>
date Mon, 05 Jun 1995 17:32:51 +0000
parents 4d94f31dc555
children 84916366643e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* MS-DOS specific C utilities, interface.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 Copyright (C) 1993 Free Software Foundation, Inc.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 any later version.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
20 #ifndef _MSDOS_H_
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
21 #define _MSDOS_H_
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
22
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 #include <dpmi.h>
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 int dos_ttraw ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 int dos_ttcooked ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 int getdefdir (int, char*);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 void unixtodos_filename (char *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 void dostounix_filename (char *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 void sleep_or_kbd_hit (int, int);
7822
17b96e349369 Add template for rootrelativepath.
Richard M. Stallman <rms@gnu.org>
parents: 7604
diff changeset
31 char *rootrelativepath (char *);
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 void init_environment ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 void internal_terminal_init ();
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
34 #ifdef _stdio_h_
5503
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 int internal_flush (FILE *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 #endif
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 void ctrl_break_func (_go32_dpmi_registers *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 void install_ctrl_break_check ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 extern int have_mouse;
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 int mouse_init1 ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 void mouse_init ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 void mouse_on ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 void mouse_off ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 void mouse_moveto (int, int);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 void mouse_check_moved ();
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 int mouse_pressed (int, int *, int *);
003e84b91d21 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 int mouse_released (int, int *, int *);
7604
caae041f9b9e Add template for init_gettimeofday.
Richard M. Stallman <rms@gnu.org>
parents: 5503
diff changeset
49 void init_gettimeofday ();
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
50
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
51 #ifndef HAVE_X_WINDOWS
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
52 /* Dummy types. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
53 typedef int XFontStruct;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
54 typedef int GC;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
55 typedef int Pixmap;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
56 typedef int Display;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
57 typedef int Window;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
58 #define PIX_TYPE int
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
59 #define XDISPLAY
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
60
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
61 /* This is a cut-down version of the one in xterm.h, which see. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
62 struct x_display
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
63 {
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
64 int left_pos;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
65 int top_pos;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
66 int line_height;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
67 PIX_TYPE background_pixel;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
68 PIX_TYPE foreground_pixel;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
69 XFontStruct *font;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
70 struct face **param_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
71 int n_param_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
72 struct face **computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
73 int n_computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
74 int size_computed_faces;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
75 };
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
76
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
77 extern struct x_display the_only_x_display;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
78 extern Display *x_current_display;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
79
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
80 #define FRAME_PARAM_FACES(f) (the_only_x_display.param_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
81 #define FRAME_N_PARAM_FACES(f) (the_only_x_display.n_param_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
82 #define FRAME_DEFAULT_PARAM_FACE(f) (FRAME_PARAM_FACES (f)[0])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
83 #define FRAME_MODE_LINE_PARAM_FACE(f) (FRAME_PARAM_FACES (f)[1])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
84 #define FRAME_COMPUTED_FACES(f) (the_only_x_display.computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
85 #define FRAME_N_COMPUTED_FACES(f) (the_only_x_display.n_computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
86 #define FRAME_SIZE_COMPUTED_FACES(f) (the_only_x_display.size_computed_faces)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
87 #define FRAME_DEFAULT_FACE(f) (the_only_x_display.computed_faces[0])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
88 #define FRAME_MODE_LINE_FACE(f) (the_only_x_display.computed_faces[1])
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
89 #define FRAME_X_DISPLAY(f) ((Display *) 0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
90 #define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
91 #define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
92 #define FRAME_FONT(f) (the_only_x_display.font)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
93
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
94 #define XFreeGC (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
95 #define same_size_fonts(foo,bar) (1)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
96 #define unload_font(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
97 #define unload_color(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
98 #define x_destroy_bitmap(p1,p2)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
99 #define load_pixmap(p1,p2,p3,p4) (0)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
100 #define XGetGeometry(p1,p2,p3,p4,p5,p6,p7,p8,p9)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
101 #define DisplayWidth(p1,p2) (the_only_frame.width)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
102 #define DisplayHeight(p1,p2) (the_only_frame.height)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
103 #define XMenuSetAEQ (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
104 #define XMenuSetFreeze (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
105 #define XMenuRecompute (void)
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
106 #define FONT_WIDTH(foo) 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
107 /* Function `getcbrk' is the most harmless I can think of right now... */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
108 #define check_x if (FRAME_TERMCAP_P (bar)) error ("Not running under a windows system."); else getcbrk
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
109 #define x_mouse_leave getcbrk
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
110 #define XM_FAILURE -1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
111 #define XM_SUCCESS 1
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
112 #define XM_NO_SELECT 2
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
113 #define XM_IA_SELECT 3
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
114 #define ButtonReleaseMask 0
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
115
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
116 typedef struct x_menu_struct
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
117 {
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
118 int count;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
119 char **text;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
120 struct x_menu_struct **submenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
121 int *panenumber; /* Also used as enable. */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
122 int allocated;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
123 int panecount;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
124 int width;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
125 } XMenu;
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
126
10503
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
127 XMenu *XMenuCreate (Display *, Window, char *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
128 int XMenuAddPane (Display *, XMenu *, char *, int);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
129 int XMenuAddSelection (Display *, XMenu *, int, int, char *, int);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
130 void XMenuLocate (Display *, XMenu *, int, int, int, int,
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
131 int *, int *, int *, int *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
132 int XMenuActivate (Display *, XMenu *, int *, int *, int, int, unsigned, char **);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
133 void XMenuDestroy (Display *, XMenu *);
4d94f31dc555 (x_mouse_leave): Add neutralizing define.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
134
9572
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
135 #endif /* not HAVE_X_WINDOWS */
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
136
b36d5e88cccc *** empty log message ***
Morten Welinder <terra@diku.dk>
parents: 7822
diff changeset
137 #endif /* not _MSDOS_H_ */