Add defines for accessing system processes.
[bpt/emacs.git] / admin / CPP-DEFINES
1 Here are some of the cpp macros used, together with some short explanation
2 of their use. Feel free to add more macros and more categories.
3
4 ** Distinguishing OSes **
5
6 CYGWIN Compiling the Cygwin port.
7 __CYGWIN__ Ditto
8 MSDOS Compiling the MS-DOS port.
9 __MSDOS__ Ditto.
10 __DJGPP__ Major version number of the DJGPP library for the DOS port.
11 __DJGPP_MINOR__ Minor version number of the DJGPP library.
12 __GO32__ Compiling the DOS port with DJGPP v1.x (obsolete).
13 DOS_NT Compiling for either the MS-DOS or native MS-Windows port.
14 WINDOWSNT Compiling the native MS-Windows (W32) port.
15 __MINGW32__ Compiling the W32 port with the MinGW port of GCC.
16 _MSC_VER Compiling the W32 port with the Microsoft C compiler.
17 USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int.
18
19 ** Distinguishing GUIs **
20
21 HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
22 HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
23 NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
24 NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
25 HAVE_X11 Compile support for the X11 GUI.
26 HAVE_X_WINDOWS Compile support for X Window system
27 X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
28 USE_LUCID Use the Lucid toolkit for menus&scrollbars. Requires HAVE_X11.
29 USE_MOTIF Use the Motif toolkit for menus&scrollbars. Requires HAVE_X11.
30 USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
31
32 ** Frame types **
33
34 FRAME_TERMCAP_P A tty (character terminal) frame.
35 FRAME_X_P A frame on X Window system.
36 FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
37 FRAME_W32_P A frame using native MS-Windows GUI.
38 FRAME_WINDOW_P A GUI frame (like X, w32, etc.)
39
40 ** Support for accessing other processes on the system **
41
42 HAVE_PROCFS The /proc filesystem is supported.
43 LISTPROC A function that returns a list of PIDs of system processes.
44 PROCATTR A function that returns attributes of a process.
45
46 ** Compile-time options **
47
48 REL_ALLOC Compile in the relocatable memory allocator ralloc.c.
49 SYSTEM_MALLOC Use the system library's malloc.
50 subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it.
51
52 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
53
54 ** Defines from src/m/*.h and src/s/*.h. Some of these might not be used in the code anymore, so they can be removed. The HAVE_* definitions are probably handled by autoconf, so it might be possible to just remove them from src/[sm]/*.h.
55
56
57 AIX
58 AMPERSAND_FULL_NAME
59 BCOPY_DOWNWARD_SAFE
60 BCOPY_UPWARD_SAFE
61 BITS_PER_EMACS_INT
62 BITS_PER_LONG
63 BROKEN_DATAGRAM_SOCKETS
64 BROKEN_FIONREAD
65 BROKEN_GET_CURRENT_DIR_NAME
66 BROKEN_NON_BLOCKING_CONNECT
67 BROKEN_PTY_READ_AFTER_EAGAIN
68 BROKEN_SA_RESTART
69 BROKEN_SIGAIO
70 BROKEN_SIGIO
71 BROKEN_SIGPOLL
72 BROKEN_SIGPTY
73 BSD4_2
74 BSD4_3
75 BSD_PGRPS
76 BSD_SYSTEM
77 BSTRING
78 CANNOT_DUMP
79 CLASH_DETECTION
80 COFF
81 COFF_BSD_SYMBOLS
82 CRT0_DUMMIES
83 C_DEBUG_SWITCH
84 C_SWITCH_MACHINE
85 C_SWITCH_SYSTEM
86 C_SWITCH_SYSTEM_TEMACS
87 C_SWITCH_X_SYSTEM
88 DATA_SEG_BITS
89 DATA_START
90 DBL_MIN_REPLACEMENT
91 DECLARE_GETPWUID_WITH_UID_T
92 DEFAULT_SOUND_DEVICE
93 DEVICE_SEP
94 DIRECTORY_SEP
95 DONT_REOPEN_PTY
96 DOUG_LEA_MALLOC
97 DebPrint
98 EMACSDEBUG
99 EMACS_CONFIGURATION
100 EMACS_CONFIG_OPTIONS
101 EMACS_INT
102 EMACS_UINT
103 END_FILES_1
104 EXPLICIT_SIGN_EXTEND
105 FILE_SYSTEM_CASE
106 FIRST_PTY_LETTER
107 FLOAT_CHECK_DOMAIN
108 FSCALE
109 Fread
110 GAP_USE_BCOPY
111 GC_LISP_OBJECT_ALIGNMENT
112 GC_MARK_SECONDARY_STACK
113 GC_MARK_STACK
114 GC_SETJMP_WORKS
115 GMALLOC_INHIBIT_VALLOC
116 GNU_LIBRARY_PENDING_OUTPUT_COUNT
117 GNU_LINUX
118 GNU_MALLOC
119 HAVE_AIX_SMT_EXP
120 HAVE_ALLOCA
121 HAVE_AVAILABILITYMACROS_H
122 HAVE_BCMP
123 HAVE_BCOPY
124 HAVE_CBRT
125 HAVE_CLOSEDIR
126 HAVE_CRTIN
127 HAVE_DUP2
128 HAVE_EUIDACCESS
129 HAVE_FMOD
130 HAVE_FPATHCONF
131 HAVE_FREXP
132 HAVE_FSYNC
133 HAVE_FTIME
134 HAVE_GETCWD
135 HAVE_GETDOMAINNAME
136 HAVE_GETHOSTNAME
137 HAVE_GETLOADAVG
138 HAVE_GETPAGESIZE
139 HAVE_GETPT
140 HAVE_GETTIMEOFDAY
141 HAVE_GETWD
142 HAVE_H_ERRNO
143 HAVE_INDEX
144 HAVE_INET_SOCKETS
145 HAVE_INVERSE_HYPERBOLIC
146 HAVE_LIB64_DIR
147 HAVE_LIBKSTAT
148 HAVE_LIBNCURSES
149 HAVE_LIBPTHREADS
150 HAVE_LIBXMU
151 HAVE_LIMITS_H
152 HAVE_LINUX_VERSION_H
153 HAVE_LOGB
154 HAVE_LONG_FILE_NAMES
155 HAVE_LRAND48
156 HAVE_MENUS
157 HAVE_MKDIR
158 HAVE_MKTIME
159 HAVE_MOUSE
160 HAVE_PERROR
161 HAVE_PSTAT_GETDYNAMIC
162 HAVE_PTYS
163 HAVE_PWD_H
164 HAVE_RANDOM
165 HAVE_RENAME
166 HAVE_RES_INIT
167 HAVE_RINDEX
168 HAVE_RINT
169 HAVE_RMDIR
170 HAVE_SELECT
171 HAVE_SETLOCALE
172 HAVE_SETPGID
173 HAVE_SETRLIMIT
174 HAVE_SETSID
175 HAVE_SHUTDOWN
176 HAVE_SOCKETS
177 HAVE_SOUND
178 HAVE_STDLIB_H
179 HAVE_STRERROR
180 HAVE_STRFTIME
181 HAVE_STRING_H
182 HAVE_STRUCT_UTIMBUF
183 HAVE_SYSINFO
184 HAVE_SYSV_SIGPAUSE
185 HAVE_SYS_SELECT_H
186 HAVE_SYS_SYSTEMINFO_H
187 HAVE_SYS_TIMEB_H
188 HAVE_SYS_TIME_H
189 HAVE_TCATTR
190 HAVE_TERMIO
191 HAVE_TERMIOS
192 HAVE_TERMIOS_H
193 HAVE_TEXT_START
194 HAVE_TIMEVAL
195 HAVE_TM_ZONE
196 HAVE_TZSET
197 HAVE_UNISTD_H
198 HAVE_UTIMES
199 HAVE_UTIME_H
200 HAVE_VOLATILE
201 HAVE_WINDOW_SYSTEM
202 HAVE_WORKING_VFORK
203 HAVE_XRMSETDATABASE
204 HPUX
205 IBMR2AIX
206 INHIBIT_X11R6_XIM
207 INTERNAL_TERMINAL
208 INTERRUPT_INPUT
209 IS_ANY_SEP
210 IS_DIRECTORY_SEP
211 KERNEL_FILE
212 LDAV_SYMBOL
213 LD_SWITCH_MACHINE
214 LD_SWITCH_MACHINE_TEMACS
215 LD_SWITCH_SYSTEM
216 LD_SWITCH_SYSTEM_TEMACS
217 LD_SWITCH_SYSTEM_tmp
218 LD_SWITCH_X_DEFAULT
219 LIBS_DEBUG
220 LIBS_MACHINE
221 LIBS_SYSTEM
222 LIBS_TERMCAP
223 LIBX11_SYSTEM
224 LIBXMU
225 LIB_GCC
226 LIB_MATH
227 LIB_MOTIF
228 LIB_STANDARD
229 LINKER
230 LINUX_VERSION_CODE
231 LISP_FLOAT_TYPE
232 LNOFLSH
233 LOAD_AVE_CVT
234 LOAD_AVE_TYPE
235 LOCALTIME_CACHE
236 MAIL_USE_FLOCK
237 MAIL_USE_LOCKF
238 MAIL_USE_POP
239 MAIL_USE_SYSTEM_LOCK
240 MAXPATHLEN
241 MIN_PTY_KERNEL_VERSION -- only used on Mac
242 MODE_LINE_BINARY_TEXT
243 MUST_UNDEF__STDC__
244 NARROWPROTO
245 NEED_BSDTTY
246 NEED_ERRNO
247 NEED_LIBW
248 NEED_UNISTD_H
249 NLIST_STRUCT
250 NOMULTIPLEJOBS
251 NOT_C_CODE
252 NOT_USING_MOTIF
253 NO_ABORT
254 NO_ARG_ARRAY
255 NO_EDITRES
256 NO_MATHERR
257 NO_REMAP
258 NO_SHARED_LIBS
259 NO_SOCK_SIGIO
260 NO_TERMIO
261 NSIG
262 NSIG_MINIMUM
263 NULL
264 NULL_DEVICE
265 ORDINARY_LINK
266 OTHER_FILES
267 O_APPEND
268 O_BINARY
269 O_CREAT
270 O_EXCL
271 O_RDONLY
272 O_RDWR
273 O_TEXT
274 O_TRUNC
275 O_WRONLY
276 PAGESIZE
277 PENDING_OUTPUT_COUNT
278 POSIX
279 POSIX_SIGNALS
280 PREFER_VSUSP
281 PTY_ITERATION
282 PTY_NAME_SPRINTF
283 PTY_OPEN
284 PTY_TTY_NAME_SPRINTF
285 PURESIZE
286 RUN_TIME_REMAP
287 SA_RESTART
288 SECTION_ALIGNMENT
289 SEGMENT_MASK
290 SEPCHAR
291 SETPGRP_RELEASES_CTTY
292 SETUP_SLAVE_PTY
293 SIGALRM
294 SIGCHLD
295 SIGHUP
296 SIGKILL
297 SIGNALS_VIA_CHARACTERS
298 SIGPIPE
299 SIGQUIT
300 SIGTRAP
301 SIGTYPE
302 SOLARIS2
303 START_FILES
304 START_FILES_1
305 STDC_HEADERS
306 SYMS_SYSTEM
307 SYSTEM_PURESIZE_EXTRA
308 SYSTEM_TYPE
309 SYSTEM_MALLOC
310 SYSV_SYSTEM_DIR
311 Srandom
312 TAB3
313 TABDLY
314 TERM
315 TERMINFO
316 TEXT_END
317 TEXT_START
318 THIS_IS_CONFIGURE
319 THIS_IS_MAKEFILE
320 TIME_WITH_SYS_TIME
321 TIOCSIGSEND
322 TM_IN_SYS_TIME
323 ULIMIT_BREAK_VALUE
324 UNEXEC
325 UNIX98_PTYS
326 USE_CRT_DLL
327 USE_MAC_IMAGE_IO
328 USE_MMAP_FOR_BUFFERS
329 USE_TOOLKIT_SCROLL_BARS
330 USG
331 USG5
332 USG5_4
333 USG_SUBTTY_WORKS
334 VALBITS
335 VIRT_ADDR_VARIES
336 WORDS_BIG_ENDIAN
337 WRETCODE
338 XINT
339 XOS_NEEDS_TIME_H
340 XPNTR
341 XSET
342 XUINT
343 _AIX
344 _ARCH_PPC64
345 _CALLBACK_
346 _FILE_OFFSET_BITS
347 _LP64
348 _MALLOC_INTERNAL
349 _NAIVE_DOS_REGS
350 _VARARGS_
351 _WINSOCKAPI_
352 _WINSOCK_H
353 __ELF__
354 __FreeBSD__
355 __FreeBSD_version
356 __GNUC__
357 __GNU_LIBRARY__
358 __GNUC_MINOR__
359 __NetBSD__
360 __OpenBSD__
361 __STDC__
362 __arch64__
363 __cplusplus
364 __hpux
365 __ia64__
366 __linux__
367 __mc68000__
368 __mips__
369 _longjmp
370 _setjmp
371 _start
372 abort
373 access
374 alloca
375 bcmp
376 bcopy
377 brk
378 bzero
379 calloc
380 chdir
381 chmod
382 chown
383 close
384 const
385 creat
386 ctime
387 dup
388 dup2
389 edata
390 emacs
391 etext
392 execlp
393 execvp
394 fdopen
395 fileno
396 fopen
397 free
398 fsync
399 ftruncate
400 fwrite
401 getdefdir
402 getdisk
403 getenv
404 getpid
405 getuid
406 gmtime
407 i386
408 index
409 init_process
410 isatty
411 kill
412 link
413 linux
414 localtime
415 logb
416 lseek
417 m68k
418 malloc
419 mkdir
420 mktemp
421 open
422 pclose
423 pipe
424 popen
425 random
426 read
427 realloc
428 rename
429 rindex
430 rmdir
431 sbrk
432 select
433 sigmask
434 signal
435 sigsetmask
436 sleep
437 spawnve
438 srandom
439 strdup
440 strerror
441 stricmp
442 strnicmp
443 strupr
444 sys_nerr
445 system
446 temacs
447 tzname
448 tzset
449 umask
450 unix
451 unlink
452 utimbuf
453 utime
454 vfork
455 wait
456 write
457 xfree
458
459 # arch-tag: bc80061a-1168-4911-9766-46aaf2640250