view src/syswait.h @ 103444:61b1b668390e

(Top): Mention which Emacs version this FAQ is about. Recommend the latest release. Mention how to get older FAQs. Recommend the Emacs manual. (Guidelines for newsgroup postings): Discourage cross-posts. (Underlining paragraphs): Remove. (Editing MS-DOS files): Remove pre-Emacs 20 information. (Bugs and problems): Update key-binding. (Problems with very large files): Mention 64-bit. (Shell process exits abnormally): Remove. (Problems with Shell Mode): Rename and update. (Spontaneous entry into isearch-mode) (Problems talking to certain hosts): Remove. This is old information, in etc/PROBLEMS if needed. (Emacs takes a long time to visit files, Updating Emacs): Remove. (Dired claims that no file is on this line): Update. (Installing Emacs, Problems building Emacs): Simplify. (Emacs for MS-DOS): Refer to msdos/INSTALL rather than duplicating information. (Emacs for MS-Windows): Rename from "Emacs for Windows". Simplify. (Emacs for Mac OS X): Rename from "Emacs for Apple computers". (JDEE): "JDEE", not "JDE". (Handling C-s and C-q with flow control, Binding C-s and C-q): Remove. This is old information, in etc/PROBLEMS if needed. (stty and Backspace key, Kanji and Chinese characters): Remove. (Right-to-left alphabets): Update section. (Changing the included text prefix): Gnus uses message-yank-prefix. Add cross-reference to Supercite manual. (Saving a copy of outgoing mail): Simplify output file description. (Expanding aliases when sending mail): Refer to Emacs manual. Remove old info about RFC822. Correct description of how to rebuild aliases. (Rmail writes to /var/spool/mail): Update location from /usr/spool/mail. (MIME with Emacs mail packages) (Viewing articles with embedded underlining) (Saving a multi-part Gnus posting, Gnus hangs for a long time): Remove old sections. (Killing based on nonstandard headers): Remove. Scoring is preferable, and is well-documented in the Gnus manual. (Reading news with Emacs): Merge "Learning more about Gnus" into here. (Making Gnus faster): Rename from "Starting Gnus faster". Merge "Catch-up is slow in Gnus" into here.
author Glenn Morris <rgm@gnu.org>
date Tue, 16 Jun 2009 02:51:00 +0000
parents e038c1a8307c
children 1d1d5d9bd884
line wrap: on
line source

/* Define wait system call interface for Emacs.
   Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
                 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */

/* Define the structure that the wait system call stores.
   On many systems, there is a structure defined for this.
   But on vanilla-ish USG systems there is not.  */

#ifndef EMACS_SYSWAIT_H
#define EMACS_SYSWAIT_H

#include <sys/types.h>

#ifdef HAVE_SYS_WAIT_H	/* We have sys/wait.h with POSIXoid definitions. */
#include <sys/wait.h>
#endif  /* !HAVE_SYS_WAIT_H */

#ifndef WCOREDUMP		/* not POSIX */
#define WCOREDUMP(status) ((status) & 0x80)
#endif
#ifndef WEXITSTATUS
#define WEXITSTATUS(status) (((status)  & 0xff00) >> 8)
#endif
#ifndef WIFEXITED
#define WIFEXITED(status) (WTERMSIG(status) == 0)
#endif
#ifndef WIFSTOPPED
#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
#endif
#ifndef WIFSIGNALED
#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
#endif
#ifndef WSTOPSIG
#define WSTOPSIG(status) WEXITSTATUS(status)
#endif
#ifndef WTERMSIG
#define WTERMSIG(status) ((status) & 0x7f)
#endif

#undef WRETCODE
#define WRETCODE(status) WEXITSTATUS (status)


#endif /* EMACS_SYSWAIT_H */

/* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899
   (do not change this comment) */