/* Portability declarations.
Copyright (C) 1988 Free Software Foundation
This file is part of GNU Tar.
GNU Tar 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 1, or (at your option)
GNU Tar 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 Tar; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
* Portability declarations for tar.
* @(#)port.h 1.3 87/11/11 by John Gilmore, 1986
* Everybody does wait() differently. There seem to be no definitions
* for this in V7 (e.g. you are supposed to shift and mask things out
* using constant shifts and masks.) So fuck 'em all -- my own non
* standard but portable macros. Don't change to a "union wait"
* based approach -- the ordering of the elements of the struct
* depends on the byte-sex of the machine. Foo!
#define TERM_SIGNAL(status) ((status) & 0x7F)
#define TERM_COREDUMP(status) (((status) & 0x80) != 0)
#define TERM_VALUE(status) ((status) >> 8)
/* missing things from sys/stat.h */
#define makedev(ma, mi) ((ma << 8) | mi)