* configure.in: Match `osf*', not `osf1*'. * configure: Likewise. * sysdeps/unix/bsd/osf: Renamed to `sysdeps/unix/bsd/osf1'.

Thu Mar  9 17:16:53 1995  Brendan Kehoe  (brendan@zen.org)

	* configure.in: Match `osf*', not `osf1*'.
	* configure: Likewise.
	* sysdeps/unix/bsd/osf: Renamed to `sysdeps/unix/bsd/osf1'.
This commit is contained in:
Brendan Kehoe 1995-03-10 01:56:19 +00:00
parent feebe869ae
commit 222c4e717a
28 changed files with 814 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Thu Mar 9 17:16:53 1995 Brendan Kehoe (brendan@zen.org)
* configure.in: Match `osf*', not `osf1*'.
* configure: Likewise.
* sysdeps/unix/bsd/osf: Renamed to `sysdeps/unix/bsd/osf1'.
Wed Mar 8 13:38:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/configure.bat: Fixes from DJ.

2
configure vendored
View File

@ -568,7 +568,7 @@ gnu*)
base_os=mach/hurd ;;
netbsd* | 386bsd*)
base_os=unix/bsd/bsd4.4 ;;
osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
base_os=unix/bsd ;;
linux* | sysv* | isc* | esix* | sco* | minix* | irix4*)
base_os=unix/sysv ;;

View File

@ -80,7 +80,7 @@ gnu*)
base_os=mach/hurd ;;
netbsd* | 386bsd*)
base_os=unix/bsd/bsd4.4 ;;
osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
base_os=unix/bsd ;;
linux* | sysv* | isc* | esix* | sco* | minix* | irix4*)
base_os=unix/sysv ;;

View File

@ -0,0 +1,44 @@
/* Copyright (C) 1993 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef _DIRSTREAM_H
#define _DIRSTREAM_H 1
#define __need_size_t
#include <stddef.h>
/* Directory stream type. */
typedef struct
{
int __fd; /* File descriptor. */
size_t __offset; /* Current offset into the block. */
size_t __size; /* Total valid data in the block. */
char *__data; /* Directory block. */
int __allocation; /* Space allocated for the block. */
int __data_len; /* Size of __data. */
long __dd_seek; /* OSF/1 magic cookie returned by getdents. */
void *dd_lock; /* Used by OSF/1 for inter-thread locking. */
} DIR;
#endif /* dirstream.h */

View File

@ -0,0 +1,2 @@
# OSF/1 has the canonical set of <sys/mman.h> system calls.
unix/mman

View File

@ -0,0 +1,3 @@
# Without -non_shared (via the compiler's -static flag), we'll end up
# with some unresolved symbols wrt exceptions.
LDFLAGS := $(LDFLAGS) -static

View File

@ -0,0 +1,53 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#ifndef SYS_brk
#define SYS_brk 17
#endif
#ifndef HAVE_GNU_LD
#define __end end
#endif
.data
.extern __end,8
.globl __curbrk
__curbrk:
.quad __end
.text
ENTRY(__brk)
! FIXME We do not check for asking for less than a page yet.
ldiq v0, SYS_brk
call_pal PAL_callsys
bne a3, error
/* Update __curbrk and exit cleanly. */
! ldgp gp, 0(t12)
stl a0, __curbrk
mov zero, v0
ret
/* What a horrible way to die. */
error: ldgp gp,0(gp)
jmp zero,syscall_error
.end __brk
weak_alias (__brk, brk)

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
SYSCALL__ (fork, 0)
cmovne a4, 0, v0
ret
weak_alias (__fork, fork)

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
SYSCALL__ (getdirentries, 4)
ret
weak_alias (__getdirentries, getdirentries)

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1993 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_killpg SYS_ult_killpg
SYSCALL (killpg, 2)
ret

View File

@ -0,0 +1,30 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
SYSCALL__ (pipe, 1)
/* Plop in the two descriptors. */
stl r0, 0(a0)
stl r1, 4(a0)
/* Go out with a clean status. */
mov zero, r0
ret
weak_alias (__pipe, pipe)

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_recv SYS_ult_recv
SYSCALL (recv, 4)
ret

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_send SYS_ult_send
SYSCALL (send, 4)
ret

View File

@ -0,0 +1,27 @@
/* Copyright (C) 1994, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_sigblock SYS_ult_sigblock
SYSCALL__ (sigblock, 1)
ret
weak_alias (__sigblock, sigblock)

View File

@ -0,0 +1,27 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_sigpause SYS_ult_sigpause
SYSCALL__ (sigpause, 1)
ret
weak_alias (__sigpause, sigpause)

View File

@ -0,0 +1,27 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_sigsetmask SYS_ult_sigsetmask
SYSCALL__ (sigsetmask, 1)
ret
weak_alias (__sigsetmask, sigsetmask)

View File

@ -0,0 +1,27 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_sigvec SYS_ult_sigvec
SYSCALL__ (sigvec, 3)
ret
weak_alias (__sigvec, sigvec)

View File

@ -0,0 +1,65 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
.comm errno, 4
!.sdata
!.globl STARTFRM
!STARTFRM = 0
.text
ENTRY(__start)
lda sp, -16(sp)
stq zero, 8(sp)
! This branch puts the address of the current insn in t0.
br t0, 10f
10:
! We set the GP register by using the address of the ldgp
! (what we just put into t0).
ldgp gp, 0(t0)
! get argc
ldl a0, 16(sp)
! get argv
lda a1, 24(sp)
! move ahead to envp
s8addq a0, a1, a2
addq a2, 0x8, a2
! Store in environ.
stq a2, environ
! Clear out errno.
! ldgp gp, 0(t12)
stl zero, errno
! Call main.
jsr ra, main
ldgp gp, 0(ra)
mov v0, a0
jsr ra, exit
ldgp gp, 0(ra)
.end __start

View File

@ -0,0 +1,75 @@
/* Copyright (C) 1993 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef _STATBUF_H
#define _STATBUF_H
#include <gnu/types.h>
/* Structure describing file characteristics. */
struct stat
{
int st_dev; /* Device. */
unsigned int st_ino; /* File serial number. */
unsigned int st_mode; /* File mode. */
unsigned short st_nlink; /* Link count. */
unsigned int st_uid; /* User ID of the file's owner. */
unsigned int st_gid; /* Group ID of the file's group.*/
int st_rdev; /* Device number, if device. */
long st_size; /* Size of file, in bytes. */
int st_atime; /* Time of last access. */
int st_atime_usec;
int st_mtime; /* Time of last modification. */
int st_mtime_usec;
int st_ctime; /* Time of last status change. */
int st_ctime_usec;
unsigned int st_blksize; /* Optimal block size for I/O. */
#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */
int st_blocks; /* Number of 512-byte blocks allocated. */
unsigned int st_flags;
unsigned int st_gen;
};
/* Encoding of the file mode. */
#define __S_IFMT 0170000 /* These bits determine file type. */
/* File types. */
#define __S_IFDIR 0040000 /* Directory. */
#define __S_IFCHR 0020000 /* Character device. */
#define __S_IFBLK 0060000 /* Block device. */
#define __S_IFREG 0100000 /* Regular file. */
#define __S_IFIFO 0010000 /* FIFO. */
#define __S_IFLNK 0120000 /* Symbolic link. */
#define __S_IFSOCK 0140000 /* Socket. */
/* Protection bits. */
#define __S_ISUID 04000 /* Set user ID on execution. */
#define __S_ISGID 02000 /* Set group ID on execution. */
#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
#define __S_IREAD 0400 /* Read by owner. */
#define __S_IWRITE 0200 /* Write by owner. */
#define __S_IEXEC 0100 /* Execute by owner. */
#endif /* statbuf.h */

View File

@ -0,0 +1,40 @@
/* Copyright (C) 1993 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#define _ERRNO_H
#include <errnos.h>
ENTRY(syscall_error)
#ifdef EWOULDBLOCK_sys
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
EWOULDBLOCK_sys is the original number. */
subq v0, EWOULDBLOCK_sys, t0
cmoveq t0, EAGAIN, v0
#endif
/* Store it in errno... */
! ldgp gp, 0(t12)
stl v0, errno
/* And just kick back a -1. */
ldil v0, -1
ret
.end syscall_error

View File

@ -0,0 +1,73 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdeps/unix/sysdep.h>
#ifdef ASSEMBLER
#include <machine/pal.h> /* get PAL_callsys */
#include <regdef.h>
#ifdef __STDC__
#define ENTRY(name) \
.globl name; \
.ent name,0; \
name##:; \
.frame sp,0,ra
#else
#define ENTRY(name) \
.globl name; \
.ent name,0; \
name/**/:; \
.frame sp,0,ra
#endif
#ifdef __STDC__
#define PSEUDO(name, syscall_name, args) \
ENTRY(name); \
ldiq v0, SYS_##syscall_name; \
.set noat; \
call_pal PAL_callsys; \
.set at; \
beq a3, 10f; \
br gp, 20f; \
20:; \
ldgp gp, 0(gp); \
jmp zero, syscall_error; \
10:
#else
#define PSEUDO(name, syscall_name, args) \
ENTRY(name); \
ldiq v0, SYS_/**/syscall_name; \
.set noat; \
call_pal PAL_callsys; \
.set at; \
beq a3, 10f; \
br gp, 20f; \
20:; \
ldgp gp, 0(gp); \
jmp zero, syscall_error; \
10:
#endif
#define ret ret zero,(ra),1
#define r0 v0
#define r1 a4
#define MOVE(x,y) mov x, y
#endif /* ASSEMBLER */

View File

@ -0,0 +1,25 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
#include <sys/ult_syscall.h>
#define SYS_vhangup SYS_ult_vhangup
SYSCALL (vhangup, 1)
ret

View File

@ -0,0 +1 @@
#include <sysdeps/unix/bsd/bsd4.4/wait4.S>

View File

@ -0,0 +1 @@
#include <sysdeps/unix/bsd/bsd4.4/waitpid.c>

View File

@ -0,0 +1 @@
#include <sysdeps/unix/bsd/sun/sunos4/msync.S>

View File

@ -0,0 +1,45 @@
/* Structure and constand definitions for sigaction et al. OSF/1 version.
Copyright (C) 1993 Free Software Foundation, Inc.
Contributed by Brendan Kehoe (brendan@zen.org).
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
/* Structure describing the action to be taken when a signal arrives. */
struct sigaction
{
/* Signal handler. */
__sighandler_t sa_handler;
/* Additional set of signals to be blocked. */
__sigset_t sa_mask;
/* Special flags. */
int sa_flags;
};
/* Bits in `sa_flags'. */
#ifdef __USE_BSD
#define SA_ONSTACK 0x1 /* Take signal on signal stack. */
#define SA_RESTART 0x2 /* Don't restart syscall on signal return. */
#define SA_DISABLE 0x4 /* Disable alternate signal stack. */
#endif
#define SA_NOCLDSTOP 0x4 /* Don't send SIGCHLD when children stop. */
/* Values for the HOW argument to `sigprocmask'. */
#define SIG_BLOCK 1 /* Block signals. */
#define SIG_UNBLOCK 2 /* Unblock signals. */
#define SIG_SETMASK 3 /* Set the set of blocked signals. */

View File

@ -0,0 +1,113 @@
/* Definitions for BSD-style memory management. OSF/1 version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef _SYS_MMAN_H
#define _SYS_MMAN_H 1
#include <features.h>
#include <gnu/types.h>
#define __need_size_t
#include <stddef.h>
/* Protections are chosen from these bits, OR'd together. The
implementation does not necessarily support PROT_EXEC or PROT_WRITE
without PROT_READ. The only guarantees are that no writing will be
allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */
#define PROT_NONE 0x00 /* No access. */
#define PROT_READ 0x01 /* Pages can be read. */
#define PROT_WRITE 0x02 /* Pages can be written. */
#define PROT_EXEC 0x04 /* Pages can be executed. */
/* Flags contain mapping type, sharing type and options. */
/* Mapping type (must choose one and only one of these). */
#define MAP_FILE 0x00 /* Mapped from a file or device. */
#define MAP_ANON 0x10 /* Allocated from anonymous virtual memory. */
#define MAP_ANONYMOUS MAP_ANON
#define MAP_TYPE 0xf0 /* Mask for type field. */
/* Sharing types (must choose one and only one of these). */
#define MAP_SHARED 0x01 /* Share changes. */
#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */
/* Other flags. */
#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */
#define MAP_VARIABLE 0 /* Absence of MAP_FIXED. */
#define MAP_HASSEMPHORE 0x0200 /* Region may contain semaphores. */
#define MAP_INHERIT 0x0400 /* Region is retained after exec. */
#define MAP_UNALIGNED 0x0800 /* File offset need not be page-aligned. */
/* Advice to `madvise'. */
#define MADV_NORMAL 0 /* No further special treatment. */
#define MADV_RANDOM 1 /* Expect random page references. */
#define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
#define MADV_WILLNEED 3 /* Will need these pages. */
#define MADV_DONTNEED 4 /* Don't need these pages. */
#define MADV_SPACEAVAIL 5 /* Ensure that resources are available. */
/* Flags to `msync'. */
#define MS_ASYNC 1 /* Asynchronous cache flush. */
#define MS_SYNC 3 /* Synchronous cache flush. */
#define MS_INVALIDATE 4 /* Invalidate cached pages. */
#include <sys/cdefs.h>
__BEGIN_DECLS
/* Map addresses starting near ADDR and extending for LEN bytes. from
OFFSET into the file FD describes according to PROT and FLAGS. If ADDR
is nonzero, it is the desired mapping address. If the MAP_FIXED bit is
set in FLAGS, the mapping will be at ADDR exactly (which must be
page-aligned); otherwise the system chooses a convenient nearby address.
The return value is the actual mapping address chosen or (caddr_t) -1
for errors (in which case `errno' is set). A successful `mmap' call
deallocates any previous mapping for the affected region. */
__caddr_t __mmap __P ((__caddr_t __addr, size_t __len,
int __prot, int __flags, int __fd, off_t __offset));
__caddr_t mmap __P ((__caddr_t __addr, size_t __len,
int __prot, int __flags, int __fd, off_t __offset));
/* Deallocate any mapping for the region starting at ADDR and extending LEN
bytes. Returns 0 if successful, -1 for errors (and sets errno). */
int __munmap __P ((__caddr_t __addr, size_t __len));
int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the
file it maps. Filesystem operations on a file being mapped are
unpredictable before this is done. */
int msync __P ((__caddr_t __addr, size_t __len, int __flags));
/* Advise the system about particular usage patterns the program follows
for the region starting at ADDR and extending LEN bytes. */
int madvise __P ((__caddr_t __addr, size_t __len, int __advice));
__END_DECLS
#endif /* sys/mman.h */

View File

@ -0,0 +1,2 @@
/* OSF/1 does have `waitpid'. Avoid unix/system.c, which says we don't. */
#include <sysdeps/posix/system.c>