Update years in copyright notice; nfc.
[bpt/emacs.git] / src / s / gnu.h
1 /* Definitions file for GNU Emacs running on the GNU Hurd.
2 Copyright (C) 1994, 1995, 1996, 2002, 2003, 2004,
3 2005, 2006 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 2, or (at your option)
10 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; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
21
22
23 /* Get most of the stuff from bsd4.3 */
24 #include "bsd4-3.h"
25
26 /* For mem-limits.h. */
27 #define BSD4_2
28
29 #undef SYSTEM_TYPE
30 #define SYSTEM_TYPE "gnu"
31
32 #undef NLIST_STRUCT
33
34 /* XXX should getloadavg be in libc? Should we have a libutil?
35 #define HAVE_GETLOADAVG */
36 #undef NLIST_STRUCT
37 #undef KERNEL_FILE
38 #undef LDAV_SYMBOL
39
40 #define SIGNALS_VIA_CHARACTERS
41
42 #define HAVE_TERMIOS
43 #define NO_TERMIO
44
45 #define LIBS_DEBUG
46
47 /* XXX emacs should not expect TAB3 to be defined. */
48 #define TABDLY OXTABS
49 #define TAB3 OXTABS
50
51 /* Tell Emacs that we are a terminfo based system; disable the use
52 of local termcap. (GNU uses ncurses.) */
53 #ifdef HAVE_LIBNCURSES
54 #define TERMINFO
55 #define LIBS_TERMCAP -lncurses
56 #endif
57
58 #define SYSV_SYSTEM_DIR
59
60 /* GNU has POSIX-style pgrp behavior. */
61 #undef BSD_PGRPS
62 #define GETPGRP_NO_ARG
63
64 /* Use mmap directly for allocating larger buffers. */
65 #ifdef DOUG_LEA_MALLOC
66 #undef REL_ALLOC
67 #endif
68
69 #define HAVE_WAIT_HEADER
70 #define WAIT_USE_INT
71 #define HAVE_UNION_WAIT
72
73 /* GNU needs its own crt0, and libc defines data_start. */
74 #define ORDINARY_LINK
75 #define DATA_START ({ extern int data_start; (char *) &data_start; })
76
77 /* GNU now always uses the ELF format. */
78 #define UNEXEC unexelf.o
79
80 /* Some losing code fails to include this and then assumes
81 that because it is braindead that O_RDONLY==0. */
82 #ifndef NOT_C_CODE
83 #include <fcntl.h>
84 #endif
85
86 #define NARROWPROTO 1
87
88 #ifdef emacs
89 #include <stdio.h> /* Get the definition of _IO_STDIO_H. */
90 #if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
91 /* new C libio names */
92 #define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
93 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
94 #endif /* !_IO_STDIO_H */
95 #endif /* emacs */
96
97 /* arch-tag: 577983d9-87a6-4922-b8f8-ff2b563714a4
98 (do not change this comment) */