* syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
[bpt/emacs.git] / src / s / gnu.h
CommitLineData
7dbddb94 1/* Definitions file for GNU Emacs running on the GNU Hurd.
4b158629
GM
2 Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
3 2007, 2008 Free Software Foundation, Inc.
7dbddb94
RM
4
5This file is part of GNU Emacs.
6
4b158629 7GNU Emacs is free software: you can redistribute it and/or modify
7dbddb94 8it under the terms of the GNU General Public License as published by
4b158629
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
7dbddb94
RM
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
4b158629 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
7dbddb94
RM
19
20
f2a77c3a
DN
21/* Get most of the stuff from bsd-common */
22#include "bsd-common.h"
7dbddb94
RM
23
24/* For mem-limits.h. */
25#define BSD4_2
26
27#undef SYSTEM_TYPE
28#define SYSTEM_TYPE "gnu"
29
8fffa182
DL
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
d5844360
RS
35#undef KERNEL_FILE
36#undef LDAV_SYMBOL
7dbddb94 37
7dbddb94
RM
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
2abc0cca
MB
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
7dbddb94
RM
55
56#define SYSV_SYSTEM_DIR
57
58/* GNU has POSIX-style pgrp behavior. */
59#undef BSD_PGRPS
afe3e774 60#define GETPGRP_NO_ARG
7dbddb94 61
6b529d78
RS
62/* Use mmap directly for allocating larger buffers. */
63#ifdef DOUG_LEA_MALLOC
64#undef REL_ALLOC
65#endif
66
7dbddb94
RM
67/* GNU needs its own crt0, and libc defines data_start. */
68#define ORDINARY_LINK
69#define DATA_START ({ extern int data_start; (char *) &data_start; })
70
afe3e774
RM
71/* GNU now always uses the ELF format. */
72#define UNEXEC unexelf.o
7dbddb94 73
79e50e4f
RM
74/* Some losing code fails to include this and then assumes
75 that because it is braindead that O_RDONLY==0. */
76#ifndef NOT_C_CODE
77#include <fcntl.h>
78#endif
2327e4a0
GM
79
80#define NARROWPROTO 1
397214d4
RS
81
82#ifdef emacs
83#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
84#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
85/* new C libio names */
86#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
87 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
88#endif /* !_IO_STDIO_H */
89#endif /* emacs */
ab5796a9
MB
90
91/* arch-tag: 577983d9-87a6-4922-b8f8-ff2b563714a4
92 (do not change this comment) */