Merge from emacs-23
[bpt/emacs.git] / src / s / gnu.h
CommitLineData
7dbddb94 1/* Definitions file for GNU Emacs running on the GNU Hurd.
4b158629 2 Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
114f9c96 3 2007, 2008, 2009, 2010 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 23
7dbddb94
RM
24#undef SYSTEM_TYPE
25#define SYSTEM_TYPE "gnu"
26
8fffa182 27#undef NLIST_STRUCT
7dbddb94 28
7dbddb94
RM
29#define SIGNALS_VIA_CHARACTERS
30
6b529d78
RS
31/* Use mmap directly for allocating larger buffers. */
32#ifdef DOUG_LEA_MALLOC
33#undef REL_ALLOC
34#endif
35
7dbddb94
RM
36/* GNU needs its own crt0, and libc defines data_start. */
37#define ORDINARY_LINK
38#define DATA_START ({ extern int data_start; (char *) &data_start; })
39
79e50e4f
RM
40/* Some losing code fails to include this and then assumes
41 that because it is braindead that O_RDONLY==0. */
42#ifndef NOT_C_CODE
43#include <fcntl.h>
44#endif
2327e4a0 45
397214d4
RS
46#ifdef emacs
47#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
48#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
49/* new C libio names */
50#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
51 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
52#endif /* !_IO_STDIO_H */
53#endif /* emacs */
ab5796a9
MB
54
55/* arch-tag: 577983d9-87a6-4922-b8f8-ff2b563714a4
56 (do not change this comment) */