* unexnext.c:
[bpt/emacs.git] / src / s / gnu.h
1 /* Definitions file for GNU Emacs running on the GNU Hurd.
2 Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21 /* Get most of the stuff from bsd-common */
22 #include "bsd-common.h"
23
24 /* For mem-limits.h. */
25 #define BSD4_2
26
27 #undef SYSTEM_TYPE
28 #define SYSTEM_TYPE "gnu"
29
30 #undef NLIST_STRUCT
31
32 /* XXX should getloadavg be in libc? Should we have a libutil?
33 #define HAVE_GETLOADAVG */
34 #undef NLIST_STRUCT
35 #undef KERNEL_FILE
36 #undef LDAV_SYMBOL
37
38 #define SIGNALS_VIA_CHARACTERS
39
40 #define HAVE_TERMIOS
41 #define NO_TERMIO
42
43 #define LIBS_DEBUG
44
45 /* XXX emacs should not expect TAB3 to be defined. */
46 #define TABDLY OXTABS
47 #define TAB3 OXTABS
48
49 /* Tell Emacs that we are a terminfo based system; disable the use
50 of local termcap. (GNU uses ncurses.) */
51 #ifdef HAVE_LIBNCURSES
52 #define TERMINFO
53 #define LIBS_TERMCAP -lncurses
54 #endif
55
56 #define SYSV_SYSTEM_DIR
57
58 /* GNU has POSIX-style pgrp behavior. */
59 #undef BSD_PGRPS
60 #define GETPGRP_NO_ARG
61
62 /* Use mmap directly for allocating larger buffers. */
63 #ifdef DOUG_LEA_MALLOC
64 #undef REL_ALLOC
65 #endif
66
67 #define HAVE_WAIT_HEADER
68 #define WAIT_USE_INT
69 #define HAVE_UNION_WAIT
70
71 /* GNU needs its own crt0, and libc defines data_start. */
72 #define ORDINARY_LINK
73 #define DATA_START ({ extern int data_start; (char *) &data_start; })
74
75 /* GNU now always uses the ELF format. */
76 #define UNEXEC unexelf.o
77
78 /* Some losing code fails to include this and then assumes
79 that because it is braindead that O_RDONLY==0. */
80 #ifndef NOT_C_CODE
81 #include <fcntl.h>
82 #endif
83
84 #define NARROWPROTO 1
85
86 #ifdef emacs
87 #include <stdio.h> /* Get the definition of _IO_STDIO_H. */
88 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
89 /* new C libio names */
90 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
91 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
92 #endif /* !_IO_STDIO_H */
93 #endif /* emacs */
94
95 /* arch-tag: 577983d9-87a6-4922-b8f8-ff2b563714a4
96 (do not change this comment) */