annotate src/m/att3b.h @ 24841:d2d412758428

(clear_cached_bitmap_slots): Remove. (get_bitmap_with_cache): Check if CreateBitmap failed. Adjust cache size dynamically so cache is never larger than the system limit of GDI resources. Do cache clearing inline. Move global variables to local scope.
author Jason Rumney <jasonr@gnu.org>
date Sun, 13 Jun 1999 17:49:12 +0000
parents ee40177f6c68
children 4be8406ebef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Machine-dependent configuration for GNU Emacs for AT&T 3b machines.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 Copyright (C) 1986 Free Software Foundation, Inc.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 Modified by David Robinson (daver@csvax.caltech.edu) 6/6/86
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 This file is part of GNU Emacs.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 GNU Emacs is free software; you can redistribute it and/or modify
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 it under the terms of the GNU General Public License as published by
3699
7be0f0a02725 Updated GPL version to 2.
Jim Blandy <jimb@redhat.com>
parents: 3591
diff changeset
10 the Free Software Foundation; either version 2, or (at your option)
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 any later version.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 GNU Emacs is distributed in the hope that it will be useful,
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 GNU General Public License for more details.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13374
diff changeset
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13374
diff changeset
21 Boston, MA 02111-1307, USA. */
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 /* The following line tells the configuration script what sort of
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 operating system this machine is likely to run.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 USUAL-OPSYS="usg5-2-2" */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
9095
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
28 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
29 is the most significant byte. */
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
30
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
31 #define WORDS_BIG_ENDIAN
23f72b18b420 (WORDS_BIG_ENDIAN): define or undef appropriately, superseding BIG_ENDIAN.
Karl Heuer <kwzh@gnu.org>
parents: 8892
diff changeset
32
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 * group of arguments and treat it as an array of the arguments. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 /* #define NO_ARG_ARRAY */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 /* Define WORD_MACHINE if addresses and such have
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 * to be corrected before they can be used as byte counts. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 /* #define WORD_MACHINE */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 /* Now define a symbol for the cpu type, if your compiler
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 does not define it automatically */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 #define ATT3B
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 /* Use type int rather than a union, to represent Lisp_Object */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 /* This is desirable for most machines. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 #define NO_UNION_TYPE
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
10359
5087094fb4d7 (VALBITS, XTYPE): Adjust for new bit layout.
Karl Heuer <kwzh@gnu.org>
parents: 9095
diff changeset
53 the bit field into an int. In other words, if bit fields
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 are always unsigned.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 If you use NO_UNION_TYPE, this flag does not matter. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 #define EXPLICIT_SIGN_EXTEND
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 /* Data type of load average, as read out of kmem. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 /* #define LOAD_AVE_TYPE long */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 /* Convert that into an integer that is 100 for a load average of 1.0 */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 /* Define CANNOT_DUMP on machines where unexec does not work.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 Then the function dump-emacs will not be defined
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 and temacs will do (load "loadup") automatically unless told otherwise. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 /* #define CANNOT_DUMP */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 /* Define VIRT_ADDR_VARIES if the virtual addresses of
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 pure and impure space as loaded can vary, and even their
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 relative order cannot be relied on.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 Otherwise Emacs assumes that text space precedes data space,
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 numerically. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 /* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 /* Define C_ALLOCA if this machine does not support a true alloca
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 and the one written in C should be used instead.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 Define HAVE_ALLOCA to say that the system provides a properly
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 working alloca function and it should be used.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 Define neither one if an assembler-language alloca
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 in the file alloca.s should be used. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 /* SysV has alloca in the PW library */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 #define LIB_STANDARD -lPW -lc
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 #define HAVE_ALLOCA
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 /* Define NO_REMAP if memory segmentation makes it not work well
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 to change the boundary between the text section and data section
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 when Emacs is dumped. If you define this, the preloaded Lisp
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 code will not be sharable; but that's better than failing completely. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 #define NO_REMAP
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 /* #define LD_SWITCH_MACHINE -N */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 /* Use Terminfo, not Termcap. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 #define TERMINFO
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 /* -O has been observed to make correct C code in Emacs not work.
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 So don't try to use it. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 #if u3b2 || u3b5 || u3b15
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 #define C_OPTIMIZE_SWITCH
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 #endif
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 /* Define our page size. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 #define NBPC 2048
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 /* The usual definition of XINT, which involves shifting, does not
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 sign-extend properly on this machine. */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 #define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 ? (sign_extend_temp | 0xFF000000) \
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 : (sign_extend_temp & 0x00FFFFFF))
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123
3591
507f64624555 Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents: 750
diff changeset
124 #ifdef emacs /* Don't do this when making xmakefile! */
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 extern int sign_extend_temp;
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 #endif
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 #if u3b2 || u3b5 || u3b15
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 /* On 3b2/5/15, data space has high order bit on. */
10359
5087094fb4d7 (VALBITS, XTYPE): Adjust for new bit layout.
Karl Heuer <kwzh@gnu.org>
parents: 9095
diff changeset
131 #define VALBITS 27
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #define VALMASK (((1<<VALBITS) - 1) | (1 << 31))
10359
5087094fb4d7 (VALBITS, XTYPE): Adjust for new bit layout.
Karl Heuer <kwzh@gnu.org>
parents: 9095
diff changeset
133 #define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK))
446
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 #endif /* 3b2, 3b5 or 3b15 */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 #define TEXT_START 0
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 /* For alloca.c (not actually used, since HAVE_ALLOCA) */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 #define STACK_DIRECTION 1
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 /* (short) negative-int doesn't sign-extend correctly */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 #define SHORT_CAST_BUG
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 /* 3B2s with WIN/3B have winsize defined in ptem.h */
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 #if u3b2
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 #define NEED_PTEM_H
76b7a95526d3 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149 #endif /* u3b2 */
4199
86d3758ff85b (memmove): Defined as macro.
Richard M. Stallman <rms@gnu.org>
parents: 3699
diff changeset
150
86d3758ff85b (memmove): Defined as macro.
Richard M. Stallman <rms@gnu.org>
parents: 3699
diff changeset
151 /* 3b2 does not have memmove, I'm told. */
86d3758ff85b (memmove): Defined as macro.
Richard M. Stallman <rms@gnu.org>
parents: 3699
diff changeset
152 /* It is safe to have no parens around the args in the safe_bcopy call,
86d3758ff85b (memmove): Defined as macro.
Richard M. Stallman <rms@gnu.org>
parents: 3699
diff changeset
153 and parens would screw up the prototype decl for memmove. */
86d3758ff85b (memmove): Defined as macro.
Richard M. Stallman <rms@gnu.org>
parents: 3699
diff changeset
154 #define memmove(d, s, n) safe_bcopy (s, d, n)
4225
f3717bd9ecf9 (NO_MODE_T): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4199
diff changeset
155
f3717bd9ecf9 (NO_MODE_T): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4199
diff changeset
156 /* This affects filemode.c. */
f3717bd9ecf9 (NO_MODE_T): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4199
diff changeset
157 #define NO_MODE_T