initial import
[glibc.git] / misc / bsd-compat.c
blob03c43eec576d672ba6638f234deb15219fa26644
1 /* BSD-compatible versions of functions where BSD and POSIX.1 conflict.
3 Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public License as
8 published by the Free Software Foundation; either version 2 of the
9 License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
16 You should have received a copy of the GNU Library General Public
17 License along with the GNU C Library; see the file COPYING.LIB. If
18 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
19 Cambridge, MA 02139, USA. */
21 #define _BSD_SOURCE
23 #include <ansidecl.h>
24 #include <sys/types.h>
25 #include <unistd.h>
26 #include <gnu-stabs.h>
27 #include <limits.h>
28 #include <setjmp.h>
30 #undef getpgrp
31 function_alias(getpgrp, __getpgrp, pid_t, (pid),
32 DEFUN(getpgrp, (pid), pid_t pid))
34 /* These entry points allow for things compiled for another C library
35 that want the BSD-compatible definitions. (Of course, their jmp_buf
36 must be big enough.) */
38 #undef longjmp
39 #ifdef __STDC__
40 #define void __NORETURN void
41 #endif
42 function_alias_void(longjmp, siglongjmp, (env, val),
43 DEFUN(longjmp, (env, val), CONST jmp_buf env AND int val))
45 #undef setjmp
46 int
47 DEFUN(setjmp, (env), jmp_buf env)
49 return sigsetjmp (env, 1);