1/* Definitions file for GNU Emacs running on the GNU Hurd.
2   Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004,
3                 2005, 2006, 2007  Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
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
18along with GNU Emacs; see the file COPYING.  If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, 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) */
99