Remove POSIX_SIGNALS.
[bpt/emacs.git] / src / s / unixware.h
1 /* s/ file for Unixware.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22 #include "usg5-4.h"
23
24 /* fnf@cygnus.com says these exist. */
25 #define HAVE_TCATTR
26 /* #define HAVE_GETWD (appears to be buggy on SVR4.2) */
27 #undef HAVE_GETWD
28
29 #undef HAVE_SYSV_SIGPAUSE
30
31 /* Motif needs -lgen. */
32 #define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
33
34 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
35 rather than sighold/sigrelse, which appear to be BSD4.1 specific.
36 It may also be appropriate for SVR4.x
37 (x<2) but I'm not sure. fnf@cygnus.com */
38 /* This sets the name of the slave side of the PTY. On SysVr4,
39 grantpt(3) forks a subprocess, so keep sigchld_handler() from
40 intercepting that death. If any child but grantpt's should die
41 within, it should be caught after sigrelse(2). */
42
43 #define PTY_TTY_NAME_SPRINTF \
44 { \
45 char *ptsname(), *ptyname; \
46 \
47 sigblock(sigmask(SIGCLD)); \
48 if (grantpt(fd) == -1) \
49 fatal("could not grant slave pty"); \
50 sigunblock(sigmask(SIGCLD)); \
51 if (unlockpt(fd) == -1) \
52 fatal("could not unlock slave pty"); \
53 if (!(ptyname = ptsname(fd))) \
54 fatal ("could not enable slave pty"); \
55 strncpy(pty_name, ptyname, sizeof(pty_name)); \
56 pty_name[sizeof(pty_name) - 1] = 0; \
57 }
58
59 /* Data type of load average, as read out of kmem. */
60
61 #define LOAD_AVE_TYPE long
62
63 /* Convert that into an integer that is 100 for a load average of 1.0 */
64 /* This is totally uncalibrated. */
65
66 #define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
67 #define FSCALE 256.0
68
69
70 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
71
72 /* arch-tag: d82e92e7-9443-4a60-a581-7f293cbae8a3
73 (do not change this comment) */