mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
initial import
This commit is contained in:
44
sysdeps/unix/bsd/Attic/osf1/=dirstream.h
Normal file
44
sysdeps/unix/bsd/Attic/osf1/=dirstream.h
Normal 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 */
|
2
sysdeps/unix/bsd/Attic/osf1/Implies
Normal file
2
sysdeps/unix/bsd/Attic/osf1/Implies
Normal file
@ -0,0 +1,2 @@
|
||||
# OSF/1 has the canonical set of <sys/mman.h> system calls.
|
||||
unix/mman
|
3
sysdeps/unix/bsd/Attic/osf1/Makefile
Normal file
3
sysdeps/unix/bsd/Attic/osf1/Makefile
Normal 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
|
53
sysdeps/unix/bsd/Attic/osf1/alpha/brk.S
Normal file
53
sysdeps/unix/bsd/Attic/osf1/alpha/brk.S
Normal 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)
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/fork.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/fork.S
Normal 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)
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/getdents.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/getdents.S
Normal 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)
|
||||
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/killpg.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/killpg.S
Normal 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
|
30
sysdeps/unix/bsd/Attic/osf1/alpha/pipe.S
Normal file
30
sysdeps/unix/bsd/Attic/osf1/alpha/pipe.S
Normal 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)
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/recv.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/recv.S
Normal 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
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/send.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/send.S
Normal 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
|
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigblock.S
Normal file
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigblock.S
Normal 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)
|
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigpause.S
Normal file
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigpause.S
Normal 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)
|
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigsetmask.S
Normal file
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigsetmask.S
Normal 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)
|
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigvec.S
Normal file
27
sysdeps/unix/bsd/Attic/osf1/alpha/sigvec.S
Normal 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)
|
72
sysdeps/unix/bsd/Attic/osf1/alpha/start.S
Normal file
72
sysdeps/unix/bsd/Attic/osf1/alpha/start.S
Normal file
@ -0,0 +1,72 @@
|
||||
/* 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 HAVE_WEAK_SYMBOLS
|
||||
#define __environ environ
|
||||
#else
|
||||
weak_alias (__environ, environ)
|
||||
#endif
|
||||
|
||||
.comm __environ, 8
|
||||
.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
|
75
sysdeps/unix/bsd/Attic/osf1/alpha/statbuf.h
Normal file
75
sysdeps/unix/bsd/Attic/osf1/alpha/statbuf.h
Normal 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 */
|
40
sysdeps/unix/bsd/Attic/osf1/alpha/sysdep.S
Normal file
40
sysdeps/unix/bsd/Attic/osf1/alpha/sysdep.S
Normal 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
|
73
sysdeps/unix/bsd/Attic/osf1/alpha/sysdep.h
Normal file
73
sysdeps/unix/bsd/Attic/osf1/alpha/sysdep.h
Normal 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 */
|
25
sysdeps/unix/bsd/Attic/osf1/alpha/vhangup.S
Normal file
25
sysdeps/unix/bsd/Attic/osf1/alpha/vhangup.S
Normal 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
|
1
sysdeps/unix/bsd/Attic/osf1/alpha/wait4.S
Normal file
1
sysdeps/unix/bsd/Attic/osf1/alpha/wait4.S
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/bsd/bsd4.4/wait4.S>
|
1
sysdeps/unix/bsd/Attic/osf1/alpha/waitpid.c
Normal file
1
sysdeps/unix/bsd/Attic/osf1/alpha/waitpid.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/bsd/bsd4.4/waitpid.c>
|
1
sysdeps/unix/bsd/Attic/osf1/msync.S
Normal file
1
sysdeps/unix/bsd/Attic/osf1/msync.S
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/bsd/sun/sunos4/msync.S>
|
45
sysdeps/unix/bsd/Attic/osf1/sigaction.h
Normal file
45
sysdeps/unix/bsd/Attic/osf1/sigaction.h
Normal 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. */
|
114
sysdeps/unix/bsd/Attic/osf1/sys/mman.h
Normal file
114
sysdeps/unix/bsd/Attic/osf1/sys/mman.h
Normal file
@ -0,0 +1,114 @@
|
||||
/* Definitions for BSD-style memory management. OSF/1 version.
|
||||
Copyright (C) 1994 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. */
|
||||
|
||||
/* These are the bits used by 4.4 BSD and its derivatives. On systems
|
||||
(such as GNU) where these facilities are not system services but can be
|
||||
emulated in the C library, these are the definitions we emulate. */
|
||||
|
||||
#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));
|
||||
|
||||
/* 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));
|
||||
|
||||
/* 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 */
|
2
sysdeps/unix/bsd/Attic/osf1/system.c
Normal file
2
sysdeps/unix/bsd/Attic/osf1/system.c
Normal file
@ -0,0 +1,2 @@
|
||||
/* OSF/1 does have `waitpid'. Avoid unix/system.c, which says we don't. */
|
||||
#include <sysdeps/posix/system.c>
|
1
sysdeps/unix/bsd/Dist
Normal file
1
sysdeps/unix/bsd/Dist
Normal file
@ -0,0 +1 @@
|
||||
bsdtty.h
|
5
sysdeps/unix/bsd/Implies
Normal file
5
sysdeps/unix/bsd/Implies
Normal file
@ -0,0 +1,5 @@
|
||||
# The directory unix/common contains things which are common to both BSD
|
||||
# and SVR4.
|
||||
unix/common
|
||||
# The directory unix/inet implements sockets and networking in the usual way.
|
||||
unix/inet
|
43
sysdeps/unix/bsd/alarm.c
Normal file
43
sysdeps/unix/bsd/alarm.c
Normal file
@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 1991, 1992, 1994 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 <ansidecl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
/* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM.
|
||||
If SECONDS is zero, any currently scheduled alarm will be cancelled.
|
||||
The function returns the number of seconds remaining until the last
|
||||
alarm scheduled would have signaled, or zero if there wasn't one.
|
||||
There is no return value to indicate an error, but you can set `errno'
|
||||
to 0 and check its value after calling `alarm', and this might tell you.
|
||||
The signal may come late due to processor scheduling. */
|
||||
unsigned int
|
||||
DEFUN(alarm, (seconds), unsigned int seconds)
|
||||
{
|
||||
struct itimerval old, new;
|
||||
|
||||
new.it_interval.tv_usec = 0;
|
||||
new.it_interval.tv_sec = 0;
|
||||
new.it_value.tv_usec = 0;
|
||||
new.it_value.tv_sec = (long int) seconds;
|
||||
if (__setitimer(ITIMER_REAL, &new, &old) < 0)
|
||||
return 0;
|
||||
|
||||
return (old.it_value.tv_sec + (old.it_value.tv_usec + 999999) / 1000000);
|
||||
}
|
2
sysdeps/unix/bsd/bsd4.4/Implies
Normal file
2
sysdeps/unix/bsd/bsd4.4/Implies
Normal file
@ -0,0 +1,2 @@
|
||||
# 4.4 BSD has the canonical set of <sys/mman.h> system calls.
|
||||
unix/mman
|
22
sysdeps/unix/bsd/bsd4.4/chflags.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/chflags.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (chflags, 2)
|
||||
ret
|
16
sysdeps/unix/bsd/bsd4.4/direct.h
Normal file
16
sysdeps/unix/bsd/bsd4.4/direct.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef MAXNAMLEN
|
||||
#define MAXNAMLEN 255
|
||||
#endif
|
||||
|
||||
struct direct
|
||||
{
|
||||
unsigned long int d_fileno;
|
||||
unsigned short int d_reclen;
|
||||
unsigned char d_type; /* File type, possibly unknown. */
|
||||
unsigned char d_namlen; /* Length of the file name. */
|
||||
char d_name[MAXNAMLEN + 1];
|
||||
};
|
||||
|
||||
#define D_NAMLEN(d) ((d)->d_namlen)
|
||||
|
||||
#define HAVE_D_TYPE
|
168
sysdeps/unix/bsd/bsd4.4/errnos.h
Normal file
168
sysdeps/unix/bsd/bsd4.4/errnos.h
Normal file
@ -0,0 +1,168 @@
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)errno.h 8.5 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifdef _ERRNO_H
|
||||
|
||||
#define EPERM 1 /* Operation not permitted */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* Input/output error */
|
||||
#define ENXIO 6 /* Device not configured */
|
||||
#define E2BIG 7 /* Argument list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file descriptor */
|
||||
#define ECHILD 10 /* No child processes */
|
||||
#define EDEADLK 11 /* Resource deadlock avoided */
|
||||
/* 11 was EAGAIN */
|
||||
#define ENOMEM 12 /* Cannot allocate memory */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#ifdef __USE_BSD
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#endif
|
||||
#define EBUSY 16 /* Device busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* Operation not supported by device */
|
||||
#define ENOTDIR 20 /* Not a directory */
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* Too many open files in system */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Inappropriate ioctl for device */
|
||||
#ifdef __USE_BSD
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#endif
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read-only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
|
||||
#endif /* <errno.h> included. */
|
||||
|
||||
/* math software */
|
||||
|
||||
#if !defined(__Emath_defined) && (defined(_ERRNO_H) || defined(__need_Emath))
|
||||
#define EDOM 33 /* Numerical argument out of domain */
|
||||
#endif /* Emath not defined and <errno.h> included or need Emath. */
|
||||
#if !defined(__Emath_defined) && (defined(_ERRNO_H) || defined(__need_Emath))
|
||||
#define ERANGE 34 /* Result too large */
|
||||
#endif /* Emath not defined and <errno.h> included or need Emath. */
|
||||
|
||||
#ifdef _ERRNO_H
|
||||
|
||||
/* non-blocking and interrupt i/o */
|
||||
#define EAGAIN 35 /* Resource temporarily unavailable */
|
||||
#ifdef __USE_BSD
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
#define EINPROGRESS 36 /* Operation now in progress */
|
||||
#define EALREADY 37 /* Operation already in progress */
|
||||
|
||||
/* ipc/network software -- argument errors */
|
||||
#define ENOTSOCK 38 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 39 /* Destination address required */
|
||||
#define EMSGSIZE 40 /* Message too long */
|
||||
#define EPROTOTYPE 41 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 42 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 43 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 45 /* Operation not supported */
|
||||
#define EPFNOSUPPORT 46 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */
|
||||
#define EADDRINUSE 48 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 49 /* Can't assign requested address */
|
||||
|
||||
/* ipc/network software -- operational errors */
|
||||
#define ENETDOWN 50 /* Network is down */
|
||||
#define ENETUNREACH 51 /* Network is unreachable */
|
||||
#define ENETRESET 52 /* Network dropped connection on reset */
|
||||
#define ECONNABORTED 53 /* Software caused connection abort */
|
||||
#define ECONNRESET 54 /* Connection reset by peer */
|
||||
#define ENOBUFS 55 /* No buffer space available */
|
||||
#define EISCONN 56 /* Socket is already connected */
|
||||
#define ENOTCONN 57 /* Socket is not connected */
|
||||
#define ESHUTDOWN 58 /* Can't send after socket shutdown */
|
||||
#define ETOOMANYREFS 59 /* Too many references: can't splice */
|
||||
#define ETIMEDOUT 60 /* Operation timed out */
|
||||
#define ECONNREFUSED 61 /* Connection refused */
|
||||
|
||||
#define ELOOP 62 /* Too many levels of symbolic links */
|
||||
#endif /* __USE_BSD */
|
||||
#define ENAMETOOLONG 63 /* File name too long */
|
||||
|
||||
/* should be rearranged */
|
||||
#ifdef __USE_BSD
|
||||
#define EHOSTDOWN 64 /* Host is down */
|
||||
#define EHOSTUNREACH 65 /* No route to host */
|
||||
#endif /* __USE_BSD */
|
||||
#define ENOTEMPTY 66 /* Directory not empty */
|
||||
|
||||
/* quotas & mush */
|
||||
#ifdef __USE_BSD
|
||||
#define EPROCLIM 67 /* Too many processes */
|
||||
#define EUSERS 68 /* Too many users */
|
||||
#define EDQUOT 69 /* Disc quota exceeded */
|
||||
|
||||
/* Network File System */
|
||||
#define ESTALE 70 /* Stale NFS file handle */
|
||||
#define EREMOTE 71 /* Too many levels of remote in path */
|
||||
#define EBADRPC 72 /* RPC struct is bad */
|
||||
#define ERPCMISMATCH 73 /* RPC version wrong */
|
||||
#define EPROGUNAVAIL 74 /* RPC prog. not avail */
|
||||
#define EPROGMISMATCH 75 /* Program version wrong */
|
||||
#define EPROCUNAVAIL 76 /* Bad procedure for program */
|
||||
#endif /* __USE_BSD */
|
||||
|
||||
#define ENOLCK 77 /* No locks available */
|
||||
#define ENOSYS 78 /* Function not implemented */
|
||||
|
||||
#define EFTYPE 79 /* Inappropriate file type or format */
|
||||
|
||||
#ifdef __USE_BSD
|
||||
#define EAUTH 80 /* Authentication error */
|
||||
#define ENEEDAUTH 81 /* Need authenticator */
|
||||
#define ELAST 81 /* Must be equal largest errno */
|
||||
#endif /* __USE_BSD */
|
||||
|
||||
|
||||
#endif /* <errno.h> included. */
|
22
sysdeps/unix/bsd/bsd4.4/fchdir.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/fchdir.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright (C) 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>
|
||||
|
||||
SYSCALL (fchdir, 2)
|
||||
ret
|
22
sysdeps/unix/bsd/bsd4.4/fchflags.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/fchflags.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (fchflags, 2)
|
||||
ret
|
116
sysdeps/unix/bsd/bsd4.4/fcntlbits.h
Normal file
116
sysdeps/unix/bsd/bsd4.4/fcntlbits.h
Normal file
@ -0,0 +1,116 @@
|
||||
/* O_*, F_*, FD_* bit values for 4.4 BSD.
|
||||
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. */
|
||||
|
||||
#ifndef _FCNTLBITS_H
|
||||
|
||||
#define _FCNTLBITS_H 1
|
||||
|
||||
|
||||
/* File access modes for `open' and `fcntl'. */
|
||||
#define O_RDONLY 0 /* Open read-only. */
|
||||
#define O_WRONLY 1 /* Open write-only. */
|
||||
#define O_RDWR 2 /* Open read/write. */
|
||||
|
||||
|
||||
/* Bits OR'd into the second argument to open. */
|
||||
#define O_CREAT 0x0200 /* Create file if it doesn't exist. */
|
||||
#define O_EXCL 0x0800 /* Fail if file already exists. */
|
||||
#define O_TRUNC 0x0400 /* Truncate file to zero length. */
|
||||
/* Apparently not assigning a controlling terminal is the default
|
||||
behavior in BSD, so no bit is required to request that behavior. */
|
||||
#define O_NOCTTY 0 /* Don't assign a controlling terminal. */
|
||||
#ifdef __USE_MISC
|
||||
#define O_ASYNC 0x0040 /* Send SIGIO to owner when data is ready. */
|
||||
#define O_FSYNC 0x0080 /* Synchronous writes. */
|
||||
#define O_SYNC O_FSYNC
|
||||
#define O_SHLOCK 0x0010 /* Open with shared file lock. */
|
||||
#define O_EXLOCK 0x0020 /* Open with shared exclusive lock. */
|
||||
#endif
|
||||
|
||||
/* File status flags for `open' and `fcntl'. */
|
||||
#define O_APPEND 0x0008 /* Writes append to the file. */
|
||||
#define O_NONBLOCK 0x0004 /* Non-blocking I/O. */
|
||||
|
||||
#ifdef __USE_BSD
|
||||
#define O_NDELAY O_NONBLOCK
|
||||
#endif
|
||||
|
||||
#ifdef __USE_BSD
|
||||
/* Bits in the file status flags returned by F_GETFL.
|
||||
These are all the O_* flags, plus FREAD and FWRITE, which are
|
||||
independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was
|
||||
given to `open'. */
|
||||
#define FREAD 1
|
||||
#define FWRITE 2
|
||||
|
||||
/* Traditional BSD names the O_* bits. */
|
||||
#define FASYNC O_ASYNC
|
||||
#define FCREAT O_CREAT
|
||||
#define FEXCL O_EXCL
|
||||
#define FTRUNC O_TRUNC
|
||||
#define FNOCTTY O_NOCTTY
|
||||
#define FFSYNC O_FSYNC
|
||||
#define FSYNC O_SYNC
|
||||
#define FAPPEND O_APPEND
|
||||
#define FNONBLOCK O_NONBLOCK
|
||||
#define FNDELAY O_NDELAY
|
||||
#endif
|
||||
|
||||
/* Mask for file access modes. This is system-dependent in case
|
||||
some system ever wants to define some other flavor of access. */
|
||||
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
|
||||
/* Values for the second argument to `fcntl'. */
|
||||
#define F_DUPFD 0 /* Duplicate file descriptor. */
|
||||
#define F_GETFD 1 /* Get file descriptor flags. */
|
||||
#define F_SETFD 2 /* Set file descriptor flags. */
|
||||
#define F_GETFL 3 /* Get file status flags. */
|
||||
#define F_SETFL 4 /* Set file status flags. */
|
||||
#ifdef __USE_BSD
|
||||
#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
|
||||
#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
|
||||
#endif
|
||||
#define F_GETLK 7 /* Get record locking info. */
|
||||
#define F_SETLK 8 /* Set record locking info (non-blocking). */
|
||||
#define F_SETLKW 9 /* Set record locking info (blocking). */
|
||||
|
||||
/* File descriptor flags used with F_GETFD and F_SETFD. */
|
||||
#define FD_CLOEXEC 1 /* Close on exec. */
|
||||
|
||||
|
||||
#include <gnu/types.h>
|
||||
|
||||
/* The structure describing an advisory lock. This is the type of the third
|
||||
argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */
|
||||
struct flock
|
||||
{
|
||||
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||
__off_t l_start; /* Offset where the lock begins. */
|
||||
__off_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||
short int l_pid; /* Process holding the lock. */
|
||||
};
|
||||
|
||||
/* Values for the `l_type' field of a `struct flock'. */
|
||||
#define F_RDLCK 1 /* Read lock. */
|
||||
#define F_WRLCK 2 /* Write lock. */
|
||||
#define F_UNLCK 3 /* Remove lock. */
|
||||
|
||||
|
||||
#endif /* fcntlbits.h */
|
1
sysdeps/unix/bsd/bsd4.4/getdents.S
Normal file
1
sysdeps/unix/bsd/bsd4.4/getdents.S
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/bsd/sun/getdents.S>
|
22
sysdeps/unix/bsd/bsd4.4/getdomain.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/getdomain.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright (C) 1994 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>
|
||||
|
||||
SYSCALL (getdomainname, 2)
|
||||
ret
|
292
sysdeps/unix/bsd/bsd4.4/ioctls.h
Normal file
292
sysdeps/unix/bsd/bsd4.4/ioctls.h
Normal file
@ -0,0 +1,292 @@
|
||||
/*-
|
||||
* Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ioctl.h 7.19 (Berkeley) 6/26/91
|
||||
*/
|
||||
|
||||
#ifndef _IOCTLS_H_
|
||||
#define _IOCTLS_H_
|
||||
|
||||
#define TIOCGSIZE TIOCGWINSZ
|
||||
#define TIOCSSIZE TIOCSWINSZ
|
||||
|
||||
/*
|
||||
* Ioctl's have the command encoded in the lower word, and the size of
|
||||
* any in or out parameters in the upper word. The high 3 bits of the
|
||||
* upper word are used to encode the in/out status of the parameter.
|
||||
*/
|
||||
#define IOCPARM_MASK 0x1fff /* parameter length, at most 13 bits */
|
||||
#define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
|
||||
#define IOCBASECMD(x) ((x) & ~IOCPARM_MASK)
|
||||
#define IOCGROUP(x) (((x) >> 8) & 0xff)
|
||||
|
||||
#define IOCPARM_MAX NBPG /* max size of ioctl, mult. of NBPG */
|
||||
#define IOC_VOID 0x20000000 /* no parameters */
|
||||
#define IOC_OUT 0x40000000 /* copy out parameters */
|
||||
#define IOC_IN 0x80000000 /* copy in parameters */
|
||||
#define IOC_INOUT (IOC_IN|IOC_OUT)
|
||||
#define IOC_DIRMASK 0xe0000000 /* mask for IN/OUT/VOID */
|
||||
|
||||
#define _IOC(inout,group,num,len) \
|
||||
(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))
|
||||
#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)
|
||||
#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t))
|
||||
#define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t))
|
||||
/* this should be _IORW, but stdio got there first */
|
||||
#define _IOWR(g,n,t) _IOC(IOC_INOUT, (g), (n), sizeof(t))
|
||||
|
||||
#define TIOCMODG _IOR('t', 3, int) /* get modem control state */
|
||||
#define TIOCMODS _IOW('t', 4, int) /* set modem control state */
|
||||
#define TIOCM_LE 0001 /* line enable */
|
||||
#define TIOCM_DTR 0002 /* data terminal ready */
|
||||
#define TIOCM_RTS 0004 /* request to send */
|
||||
#define TIOCM_ST 0010 /* secondary transmit */
|
||||
#define TIOCM_SR 0020 /* secondary receive */
|
||||
#define TIOCM_CTS 0040 /* clear to send */
|
||||
#define TIOCM_CAR 0100 /* carrier detect */
|
||||
#define TIOCM_CD TIOCM_CAR
|
||||
#define TIOCM_RNG 0200 /* ring */
|
||||
#define TIOCM_RI TIOCM_RNG
|
||||
#define TIOCM_DSR 0400 /* data set ready */
|
||||
/* 8-10 compat */
|
||||
#define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */
|
||||
#define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */
|
||||
/* 15 unused */
|
||||
#define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */
|
||||
/* 17-18 compat */
|
||||
#define TIOCGETA _IOR('t', 19, struct termios) /* get termios struct */
|
||||
#define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */
|
||||
#define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */
|
||||
#define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */
|
||||
#define TIOCGETD _IOR('t', 26, int) /* get line discipline */
|
||||
#define TIOCSETD _IOW('t', 27, int) /* set line discipline */
|
||||
/* 127-124 compat */
|
||||
#define TIOCSBRK _IO('t', 123) /* set break bit */
|
||||
#define TIOCCBRK _IO('t', 122) /* clear break bit */
|
||||
#define TIOCSDTR _IO('t', 121) /* set data terminal ready */
|
||||
#define TIOCCDTR _IO('t', 120) /* clear data terminal ready */
|
||||
#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */
|
||||
#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */
|
||||
/* 117-116 compat */
|
||||
#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
|
||||
#define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */
|
||||
#define TIOCNOTTY _IO('t', 113) /* void tty association */
|
||||
#define TIOCPKT _IOW('t', 112, int) /* pty: set/clear packet mode */
|
||||
#define TIOCPKT_DATA 0x00 /* data packet */
|
||||
#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */
|
||||
#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */
|
||||
#define TIOCPKT_STOP 0x04 /* stop output */
|
||||
#define TIOCPKT_START 0x08 /* start output */
|
||||
#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */
|
||||
#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */
|
||||
#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */
|
||||
#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
|
||||
#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
|
||||
#define TIOCMSET _IOW('t', 109, int) /* set all modem bits */
|
||||
#define TIOCMBIS _IOW('t', 108, int) /* bis modem bits */
|
||||
#define TIOCMBIC _IOW('t', 107, int) /* bic modem bits */
|
||||
#define TIOCMGET _IOR('t', 106, int) /* get all modem bits */
|
||||
#define TIOCREMOTE _IOW('t', 105, int) /* remote input editing */
|
||||
#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */
|
||||
#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */
|
||||
#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */
|
||||
#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */
|
||||
#define TIOCCONS _IOW('t', 98, int) /* become virtual console */
|
||||
#define TIOCSCTTY _IO('t', 97) /* become controlling tty */
|
||||
#define TIOCEXT _IOW('t', 96, int) /* pty: external processing */
|
||||
#define TIOCSIG _IO('t', 95) /* pty: generate signal */
|
||||
#define TIOCDRAIN _IO('t', 94) /* wait till output drained */
|
||||
|
||||
#define TTYDISC 0 /* termios tty line discipline */
|
||||
#define TABLDISC 3 /* tablet discipline */
|
||||
#define SLIPDISC 4 /* serial IP discipline */
|
||||
|
||||
|
||||
#define FIOCLEX _IO('f', 1) /* set close on exec on fd */
|
||||
#define FIONCLEX _IO('f', 2) /* remove close on exec */
|
||||
#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */
|
||||
#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */
|
||||
#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */
|
||||
#define FIOSETOWN _IOW('f', 124, int) /* set owner */
|
||||
#define FIOGETOWN _IOR('f', 123, int) /* get owner */
|
||||
|
||||
/* socket i/o controls */
|
||||
#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */
|
||||
#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */
|
||||
#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */
|
||||
#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */
|
||||
#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */
|
||||
#define SIOCSPGRP _IOW('s', 8, int) /* set process group */
|
||||
#define SIOCGPGRP _IOR('s', 9, int) /* get process group */
|
||||
|
||||
#define SIOCADDRT _IOW('r', 10, struct ortentry) /* add route */
|
||||
#define SIOCDELRT _IOW('r', 11, struct ortentry) /* delete route */
|
||||
|
||||
#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */
|
||||
#define OSIOCGIFADDR _IOWR('i',13, struct ifreq) /* get ifnet address */
|
||||
#define SIOCGIFADDR _IOWR('i',33, struct ifreq) /* get ifnet address */
|
||||
#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */
|
||||
#define OSIOCGIFDSTADDR _IOWR('i',15, struct ifreq) /* get p-p address */
|
||||
#define SIOCGIFDSTADDR _IOWR('i',34, struct ifreq) /* get p-p address */
|
||||
#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */
|
||||
#define SIOCGIFFLAGS _IOWR('i',17, struct ifreq) /* get ifnet flags */
|
||||
#define OSIOCGIFBRDADDR _IOWR('i',18, struct ifreq) /* get broadcast addr */
|
||||
#define SIOCGIFBRDADDR _IOWR('i',35, struct ifreq) /* get broadcast addr */
|
||||
#define SIOCSIFBRDADDR _IOW('i',19, struct ifreq) /* set broadcast addr */
|
||||
#define OSIOCGIFCONF _IOWR('i',20, struct ifconf) /* get ifnet list */
|
||||
#define SIOCGIFCONF _IOWR('i',36, struct ifconf) /* get ifnet list */
|
||||
#define OSIOCGIFNETMASK _IOWR('i',21, struct ifreq) /* get net addr mask */
|
||||
#define SIOCGIFNETMASK _IOWR('i',37, struct ifreq) /* get net addr mask */
|
||||
#define SIOCSIFNETMASK _IOW('i',22, struct ifreq) /* set net addr mask */
|
||||
#define SIOCGIFMETRIC _IOWR('i',23, struct ifreq) /* get IF metric */
|
||||
#define SIOCSIFMETRIC _IOW('i',24, struct ifreq) /* set IF metric */
|
||||
#define SIOCDIFADDR _IOW('i',25, struct ifreq) /* delete IF addr */
|
||||
#define SIOCAIFADDR _IOW('i',26, struct ifaliasreq) /* add/chg IF alias */
|
||||
|
||||
#define SIOCSARP _IOW('i', 30, struct arpreq) /* set arp entry */
|
||||
#define OSIOCGARP _IOWR('i',31, struct arpreq) /* get arp entry */
|
||||
#define SIOCGARP _IOWR('i',38, struct arpreq) /* get arp entry */
|
||||
#define SIOCDARP _IOW('i', 32, struct arpreq) /* delete arp entry */
|
||||
|
||||
|
||||
/* Compatibility with 4.3 BSD terminal driver.
|
||||
From 4.4 <sys/ioctl_compat.h>. */
|
||||
|
||||
#ifdef USE_OLD_TTY
|
||||
# undef TIOCGETD
|
||||
# define TIOCGETD _IOR('t', 0, int) /* get line discipline */
|
||||
# undef TIOCSETD
|
||||
# define TIOCSETD _IOW('t', 1, int) /* set line discipline */
|
||||
#else
|
||||
# define OTIOCGETD _IOR('t', 0, int) /* get line discipline */
|
||||
# define OTIOCSETD _IOW('t', 1, int) /* set line discipline */
|
||||
#endif
|
||||
#define TIOCHPCL _IO('t', 2) /* hang up on last close */
|
||||
#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
|
||||
#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */
|
||||
#define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty*/
|
||||
#define TIOCSETC _IOW('t',17,struct tchars)/* set special characters */
|
||||
#define TIOCGETC _IOR('t',18,struct tchars)/* get special characters */
|
||||
#define TANDEM 0x00000001 /* send stopc on out q full */
|
||||
#define CBREAK 0x00000002 /* half-cooked mode */
|
||||
#define LCASE 0x00000004 /* simulate lower case */
|
||||
#define ECHO 0x00000008 /* echo input */
|
||||
#define CRMOD 0x00000010 /* map \r to \r\n on output */
|
||||
#define RAW 0x00000020 /* no i/o processing */
|
||||
#define ODDP 0x00000040 /* get/send odd parity */
|
||||
#define EVENP 0x00000080 /* get/send even parity */
|
||||
#define ANYP 0x000000c0 /* get any parity/send none */
|
||||
#define NLDELAY 0x00000300 /* \n delay */
|
||||
#define NL0 0x00000000
|
||||
#define NL1 0x00000100 /* tty 37 */
|
||||
#define NL2 0x00000200 /* vt05 */
|
||||
#define NL3 0x00000300
|
||||
#define TBDELAY 0x00000c00 /* horizontal tab delay */
|
||||
#define TAB0 0x00000000
|
||||
#define TAB1 0x00000400 /* tty 37 */
|
||||
#define TAB2 0x00000800
|
||||
#define XTABS 0x00000c00 /* expand tabs on output */
|
||||
#define CRDELAY 0x00003000 /* \r delay */
|
||||
#define CR0 0x00000000
|
||||
#define CR1 0x00001000 /* tn 300 */
|
||||
#define CR2 0x00002000 /* tty 37 */
|
||||
#define CR3 0x00003000 /* concept 100 */
|
||||
#define VTDELAY 0x00004000 /* vertical tab delay */
|
||||
#define FF0 0x00000000
|
||||
#define FF1 0x00004000 /* tty 37 */
|
||||
#define BSDELAY 0x00008000 /* \b delay */
|
||||
#define BS0 0x00000000
|
||||
#define BS1 0x00008000
|
||||
#define ALLDELAY (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY)
|
||||
#define CRTBS 0x00010000 /* do backspacing for crt */
|
||||
#define PRTERA 0x00020000 /* \ ... / erase */
|
||||
#define CRTERA 0x00040000 /* " \b " to wipe out char */
|
||||
#define TILDE 0x00080000 /* hazeltine tilde kludge */
|
||||
#define MDMBUF 0x00100000 /*start/stop output on carrier*/
|
||||
#define LITOUT 0x00200000 /* literal output */
|
||||
#define TOSTOP 0x00400000 /*SIGSTOP on background output*/
|
||||
#define FLUSHO 0x00800000 /* flush output to terminal */
|
||||
#define NOHANG 0x01000000 /* (no-op) was no SIGHUP on carrier drop */
|
||||
#define L001000 0x02000000
|
||||
#define CRTKIL 0x04000000 /* kill line with " \b " */
|
||||
#define PASS8 0x08000000
|
||||
#define CTLECH 0x10000000 /* echo control chars as ^X */
|
||||
#define PENDIN 0x20000000 /* tp->t_rawq needs reread */
|
||||
#define DECCTQ 0x40000000 /* only ^Q starts after ^S */
|
||||
#define NOFLSH 0x80000000 /* no output flush on signal */
|
||||
#define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */
|
||||
#define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */
|
||||
#define TIOCLSET _IOW('t', 125, int) /* set entire local mode word */
|
||||
#define TIOCLGET _IOR('t', 124, int) /* get local modes */
|
||||
#define LCRTBS (CRTBS>>16)
|
||||
#define LPRTERA (PRTERA>>16)
|
||||
#define LCRTERA (CRTERA>>16)
|
||||
#define LTILDE (TILDE>>16)
|
||||
#define LMDMBUF (MDMBUF>>16)
|
||||
#define LLITOUT (LITOUT>>16)
|
||||
#define LTOSTOP (TOSTOP>>16)
|
||||
#define LFLUSHO (FLUSHO>>16)
|
||||
#define LNOHANG (NOHANG>>16)
|
||||
#define LCRTKIL (CRTKIL>>16)
|
||||
#define LPASS8 (PASS8>>16)
|
||||
#define LCTLECH (CTLECH>>16)
|
||||
#define LPENDIN (PENDIN>>16)
|
||||
#define LDECCTQ (DECCTQ>>16)
|
||||
#define LNOFLSH (NOFLSH>>16)
|
||||
#define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars*/
|
||||
#define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/
|
||||
#define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */
|
||||
#define OTTYDISC 0
|
||||
#define NETLDISC 1
|
||||
#define NTTYDISC 2
|
||||
|
||||
/* From 4.4 <sys/ttydev.h>. */
|
||||
#ifdef USE_OLD_TTY
|
||||
#define B0 0
|
||||
#define B50 1
|
||||
#define B75 2
|
||||
#define B110 3
|
||||
#define B134 4
|
||||
#define B150 5
|
||||
#define B200 6
|
||||
#define B300 7
|
||||
#define B600 8
|
||||
#define B1200 9
|
||||
#define B1800 10
|
||||
#define B2400 11
|
||||
#define B4800 12
|
||||
#define B9600 13
|
||||
#define EXTA 14
|
||||
#define EXTB 15
|
||||
#endif /* USE_OLD_TTY */
|
||||
|
||||
#endif /* !_IOCTLS_H_ */
|
22
sysdeps/unix/bsd/bsd4.4/setdomain.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/setdomain.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright (C) 1994 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>
|
||||
|
||||
SYSCALL (setdomainname, 2)
|
||||
ret
|
22
sysdeps/unix/bsd/bsd4.4/setegid.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/setegid.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (setegid, 1)
|
||||
ret
|
22
sysdeps/unix/bsd/bsd4.4/seteuid.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/seteuid.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (seteuid, 1)
|
||||
ret
|
22
sysdeps/unix/bsd/bsd4.4/setlogin.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/setlogin.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (setlogin, 2)
|
||||
ret
|
24
sysdeps/unix/bsd/bsd4.4/setsid.S
Normal file
24
sysdeps/unix/bsd/bsd4.4/setsid.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (setsid, 0)
|
||||
ret
|
||||
|
||||
weak_alias (__setsid, setsid)
|
22
sysdeps/unix/bsd/bsd4.4/sigaltstack.S
Normal file
22
sysdeps/unix/bsd/bsd4.4/sigaltstack.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (sigaltstack, 2)
|
||||
ret
|
1
sysdeps/unix/bsd/bsd4.4/sigblock.c
Normal file
1
sysdeps/unix/bsd/bsd4.4/sigblock.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/posix/sigblock.c>
|
1
sysdeps/unix/bsd/bsd4.4/sigsetmask.c
Normal file
1
sysdeps/unix/bsd/bsd4.4/sigsetmask.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/posix/sigsetmask.c>
|
1
sysdeps/unix/bsd/bsd4.4/sigvec.c
Normal file
1
sysdeps/unix/bsd/bsd4.4/sigvec.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/posix/sigvec.c>
|
35
sysdeps/unix/bsd/bsd4.4/sockaddrcom.h
Normal file
35
sysdeps/unix/bsd/bsd4.4/sockaddrcom.h
Normal file
@ -0,0 +1,35 @@
|
||||
/* Definition of `struct sockaddr_*' common members. 4.4 BSD version.
|
||||
Copyright (C) 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 _SOCKADDRCOM_H
|
||||
#define _SOCKADDRCOM_H 1
|
||||
|
||||
|
||||
/* This macro is used to declare the initial common members
|
||||
of the data types used for socket addresses, `struct sockaddr',
|
||||
`struct sockaddr_in', `struct sockaddr_un', etc. */
|
||||
|
||||
#define __SOCKADDR_COMMON(sa_prefix) \
|
||||
unsigned char sa_prefix##len; \
|
||||
unsigned char sa_prefix##family
|
||||
|
||||
#define __SOCKADDR_COMMON_SIZE (2 * sizeof (unsigned char))
|
||||
|
||||
|
||||
#endif /* sockaddrcom.h */
|
23
sysdeps/unix/bsd/bsd4.4/sstk.S
Normal file
23
sysdeps/unix/bsd/bsd4.4/sstk.S
Normal file
@ -0,0 +1,23 @@
|
||||
/* 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>
|
||||
|
||||
/* XXX: not 0 args */
|
||||
SYSCALL (sstk, 0)
|
||||
ret
|
2
sysdeps/unix/bsd/bsd4.4/system.c
Normal file
2
sysdeps/unix/bsd/bsd4.4/system.c
Normal file
@ -0,0 +1,2 @@
|
||||
/* BSD 4.4 does have `waitpid'. Avoid unix/system.c, which says we don't. */
|
||||
#include <sysdeps/posix/system.c>
|
28
sysdeps/unix/bsd/bsd4.4/tcdrain.c
Normal file
28
sysdeps/unix/bsd/bsd4.4/tcdrain.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright (C) 1992, 1994 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 <ansidecl.h>
|
||||
#include <stddef.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
/* Wait for pending output to be written on FD. */
|
||||
int
|
||||
DEFUN(tcdrain, (fd), int fd)
|
||||
{
|
||||
return __ioctl (fd, TIOCDRAIN);
|
||||
}
|
41
sysdeps/unix/bsd/bsd4.4/tcgetattr.c
Normal file
41
sysdeps/unix/bsd/bsd4.4/tcgetattr.c
Normal file
@ -0,0 +1,41 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <stddef.h>
|
||||
#include <termios.h>
|
||||
|
||||
/* These are defined both in termbits.h and in ioctls.h.
|
||||
They should have the same values, but perhaps not written the same way. */
|
||||
#undef ECHO
|
||||
#undef MDMBUF
|
||||
#undef TOSTOP
|
||||
#undef FLUSHO
|
||||
#undef PENDIN
|
||||
#undef NOFLSH
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
/* Put the state of FD into *TERMIOS_P. */
|
||||
int
|
||||
DEFUN(__tcgetattr, (fd, termios_p),
|
||||
int fd AND struct termios *termios_p)
|
||||
{
|
||||
return __ioctl (fd, TIOCGETA, termios_p);
|
||||
}
|
||||
|
||||
weak_alias (__tcgetattr, tcgetattr)
|
61
sysdeps/unix/bsd/bsd4.4/tcsetattr.c
Normal file
61
sysdeps/unix/bsd/bsd4.4/tcsetattr.c
Normal file
@ -0,0 +1,61 @@
|
||||
/* Copyright (C) 1992, 1994 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 <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <termios.h>
|
||||
|
||||
/* These are defined both in termbits.h and in ioctls.h.
|
||||
They should have the same values, but perhaps not written the same way. */
|
||||
#undef ECHO
|
||||
#undef MDMBUF
|
||||
#undef TOSTOP
|
||||
#undef FLUSHO
|
||||
#undef PENDIN
|
||||
#undef NOFLSH
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
|
||||
/* Set the state of FD to *TERMIOS_P. */
|
||||
int
|
||||
DEFUN(tcsetattr, (fd, optional_actions, termios_p),
|
||||
int fd AND int optional_actions AND CONST struct termios *termios_p)
|
||||
{
|
||||
struct termios myt;
|
||||
|
||||
if (optional_actions & TCSASOFT)
|
||||
{
|
||||
myt = *termios_p;
|
||||
myt.c_cflag |= CIGNORE;
|
||||
termios_p = &myt;
|
||||
optional_actions &= ~TCSASOFT;
|
||||
}
|
||||
|
||||
switch (optional_actions)
|
||||
{
|
||||
case TCSANOW:
|
||||
return __ioctl (fd, TIOCSETA, termios_p);
|
||||
|
||||
case TCSADRAIN:
|
||||
return __ioctl (fd, TIOCSETAW, termios_p);
|
||||
|
||||
default:
|
||||
return __ioctl (fd, TIOCSETAF, termios_p);
|
||||
}
|
||||
}
|
33
sysdeps/unix/bsd/bsd4.4/wait.c
Normal file
33
sysdeps/unix/bsd/bsd4.4/wait.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright (C) 1991, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <sys/wait.h>
|
||||
#include <errno.h>
|
||||
#include <sys/resource.h>
|
||||
#include <stddef.h>
|
||||
|
||||
/* Wait for a child to die. When one does, put its status in *STAT_LOC
|
||||
and return its process ID. For errors, return (pid_t) -1. */
|
||||
__pid_t
|
||||
DEFUN(__wait, (stat_loc), __WAIT_STATUS_DEFN stat_loc)
|
||||
{
|
||||
return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL);
|
||||
}
|
||||
|
||||
weak_alias (__wait, wait)
|
36
sysdeps/unix/bsd/bsd4.4/wait3.c
Normal file
36
sysdeps/unix/bsd/bsd4.4/wait3.c
Normal file
@ -0,0 +1,36 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* Wait for a child to exit. When one does, put its status in *STAT_LOC and
|
||||
return its process ID. For errors return (pid_t) -1. If USAGE is not nil,
|
||||
store information about the child's resource usage (as a `struct rusage')
|
||||
there. If the WUNTRACED bit is set in OPTIONS, return status for stopped
|
||||
children; otherwise don't. */
|
||||
pid_t
|
||||
DEFUN(__wait3, (stat_loc, options, usage),
|
||||
__WAIT_STATUS_DEFN stat_loc AND int options AND struct rusage *usage)
|
||||
{
|
||||
return __wait4 (WAIT_ANY, stat_loc, options, usage);
|
||||
}
|
||||
|
||||
weak_alias (__wait3, wait3)
|
24
sysdeps/unix/bsd/bsd4.4/wait4.S
Normal file
24
sysdeps/unix/bsd/bsd4.4/wait4.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (wait4, 4)
|
||||
ret
|
||||
|
||||
weak_alias (__wait4, wait4)
|
44
sysdeps/unix/bsd/bsd4.4/waitpid.c
Normal file
44
sysdeps/unix/bsd/bsd4.4/waitpid.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* Copyright (C) 1991, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/types.h>
|
||||
#include <stddef.h>
|
||||
|
||||
/* Wait for a child matching PID to die.
|
||||
If PID is greater than 0, match any process whose process ID is PID.
|
||||
If PID is (pid_t) -1, match any process.
|
||||
If PID is (pid_t) 0, match any process with the
|
||||
same process group as the current process.
|
||||
If PID is less than -1, match any process whose
|
||||
process group is the absolute value of PID.
|
||||
If the WNOHANG bit is set in OPTIONS, and that child
|
||||
is not already dead, return (pid_t) 0. If successful,
|
||||
return PID and store the dead child's status in STAT_LOC.
|
||||
Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS,
|
||||
return status for stopped children; otherwise don't. */
|
||||
pid_t
|
||||
DEFUN(__waitpid, (pid, stat_loc, options),
|
||||
pid_t pid AND int *stat_loc AND int options)
|
||||
{
|
||||
return __wait4 (pid, (union wait *) stat_loc, options, NULL);
|
||||
}
|
||||
|
||||
weak_alias (__waitpid, waitpid)
|
112
sysdeps/unix/bsd/bsdstat.h
Normal file
112
sysdeps/unix/bsd/bsdstat.h
Normal file
@ -0,0 +1,112 @@
|
||||
/* Copyright (C) 1991 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 "ansidecl.h"
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* This will make it not define major, minor, makedev, and S_IF*. */
|
||||
#undef __USE_BSD
|
||||
#undef __USE_MISC
|
||||
#include <sys/stat.h>
|
||||
|
||||
#undef stat
|
||||
#undef fstat
|
||||
|
||||
#undef S_IRWXU
|
||||
#undef S_IRUSR
|
||||
#undef S_IWUSR
|
||||
#undef S_IXUSR
|
||||
#undef S_IRWXG
|
||||
#undef S_IRGRP
|
||||
#undef S_IWGRP
|
||||
#undef S_IXGRP
|
||||
#undef S_IRWXO
|
||||
#undef S_IROTH
|
||||
#undef S_IWOTH
|
||||
#undef S_IXOTH
|
||||
#undef S_ISBLK
|
||||
#undef S_ISCHR
|
||||
#undef S_ISDIR
|
||||
#undef S_ISFIFO
|
||||
#undef S_ISREG
|
||||
#undef S_ISUID
|
||||
#undef S_ISGID
|
||||
#define stat system_stat
|
||||
#define fstat system_fstat
|
||||
#define KERNEL /* Try to avoid misc decls. */
|
||||
#include "/usr/include/sys/stat.h"
|
||||
#undef KERNEL
|
||||
#undef stat
|
||||
#undef fstat
|
||||
|
||||
#define member_same(statbufp, sysbufp, member) \
|
||||
(offsetof(struct __stat, member) == offsetof(struct system_stat, member) && \
|
||||
sizeof((statbufp)->member) == sizeof((sysbufp)->member))
|
||||
#define need_stat_mapping(statbufp, sysbufp) \
|
||||
(!(member_same(statbufp, sysbufp, st_dev) && \
|
||||
member_same(statbufp, sysbufp, st_ino) && \
|
||||
member_same(statbufp, sysbufp, st_mode) && \
|
||||
member_same(statbufp, sysbufp, st_nlink) && \
|
||||
member_same(statbufp, sysbufp, st_uid) && \
|
||||
member_same(statbufp, sysbufp, st_gid) && \
|
||||
member_same(statbufp, sysbufp, st_rdev) && \
|
||||
member_same(statbufp, sysbufp, st_size) && \
|
||||
member_same(statbufp, sysbufp, st_atime) && \
|
||||
member_same(statbufp, sysbufp, st_mtime) && \
|
||||
member_same(statbufp, sysbufp, st_ctime) && \
|
||||
member_same(statbufp, sysbufp, st_blksize) && \
|
||||
member_same(statbufp, sysbufp, st_blocks)))
|
||||
|
||||
/* Map a system `struct stat' to our `struct stat'. */
|
||||
#ifdef __GNUC__
|
||||
inline
|
||||
#endif
|
||||
static int
|
||||
DEFUN(mapstat, (sysbuf, statbuf),
|
||||
CONST struct system_stat *sysbuf AND struct __stat *buf)
|
||||
{
|
||||
if (buf == NULL)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!need_stat_mapping(buf, sysbuf))
|
||||
/* Hopefully this will be optimized out. */
|
||||
*buf = *(struct __stat *) sysbuf;
|
||||
else
|
||||
{
|
||||
buf->st_dev = (dev_t) sysbuf->st_dev;
|
||||
buf->st_ino = (ino_t) sysbuf->st_ino;
|
||||
buf->st_mode = (mode_t) sysbuf->st_mode;
|
||||
buf->st_nlink = (nlink_t) sysbuf->st_nlink;
|
||||
buf->st_uid = (uid_t) sysbuf->st_uid;
|
||||
buf->st_gid = (gid_t) sysbuf->st_gid;
|
||||
buf->st_rdev = (dev_t) sysbuf->st_rdev;
|
||||
buf->st_size = (size_t) sysbuf->st_size;
|
||||
buf->st_atime = (time_t) sysbuf->st_atime;
|
||||
buf->st_mtime = (time_t) sysbuf->st_mtime;
|
||||
buf->st_ctime = (time_t) sysbuf->st_ctime;
|
||||
buf->st_blksize = (size_t) sysbuf->st_blksize;
|
||||
buf->st_blocks = (size_t) sysbuf->st_blocks;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
218
sysdeps/unix/bsd/bsdtty.h
Normal file
218
sysdeps/unix/bsd/bsdtty.h
Normal file
@ -0,0 +1,218 @@
|
||||
#undef B0
|
||||
#undef B50
|
||||
#undef B75
|
||||
#undef B110
|
||||
#undef B134
|
||||
#undef B150
|
||||
#undef B200
|
||||
#undef B300
|
||||
#undef B600
|
||||
#undef B1200
|
||||
#undef B1800
|
||||
#undef B2400
|
||||
#undef B4800
|
||||
#undef B9600
|
||||
#undef B19200
|
||||
#undef B38400
|
||||
#undef EXTA
|
||||
#undef EXTB
|
||||
#undef ECHO
|
||||
#undef TOSTOP
|
||||
#undef NOFLSH
|
||||
#undef MDMBUF
|
||||
#undef FLUSHO
|
||||
#undef PENDIN
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
#undef CERASE
|
||||
#undef CKILL
|
||||
#undef CINTR
|
||||
#undef CQUIT
|
||||
#undef CSTART
|
||||
#undef CSTOP
|
||||
#undef CEOF
|
||||
#undef CEOT
|
||||
#undef CBRK
|
||||
#undef CSUSP
|
||||
#undef CDSUSP
|
||||
#undef CRPRNT
|
||||
#undef CFLUSH
|
||||
#undef CWERASE
|
||||
#undef CLNEXT
|
||||
#undef CSTATUS
|
||||
|
||||
#include <sys/ioctl.h>
|
45
sysdeps/unix/bsd/clock.c
Normal file
45
sysdeps/unix/bsd/clock.c
Normal file
@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 1991 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 <ansidecl.h>
|
||||
#include <sys/resource.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#endif
|
||||
static clock_t
|
||||
DEFUN(timeval_to_clock_t, (tv), CONST struct timeval *tv)
|
||||
{
|
||||
return (clock_t) ((tv->tv_sec * CLK_TCK) +
|
||||
(tv->tv_usec * CLK_TCK / 1000));
|
||||
}
|
||||
|
||||
/* Return the time used by the program so far (user time + system time). */
|
||||
clock_t
|
||||
DEFUN_VOID(clock)
|
||||
{
|
||||
struct rusage usage;
|
||||
|
||||
if (__getrusage(RUSAGE_SELF, &usage) < 0)
|
||||
return (clock_t) -1;
|
||||
|
||||
return (timeval_to_clock_t(&usage.ru_stime) +
|
||||
timeval_to_clock_t(&usage.ru_utime)) * CLOCKS_PER_SEC;
|
||||
}
|
1
sysdeps/unix/bsd/confstr.h
Normal file
1
sysdeps/unix/bsd/confstr.h
Normal file
@ -0,0 +1 @@
|
||||
#define CS_PATH "/usr/ucb:/bin:/usr/bin"
|
13
sysdeps/unix/bsd/direct.h
Normal file
13
sysdeps/unix/bsd/direct.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef MAXNAMLEN
|
||||
#define MAXNAMLEN 255
|
||||
#endif
|
||||
|
||||
struct direct
|
||||
{
|
||||
unsigned int d_fileno; /* 32 bits. */
|
||||
unsigned short int d_reclen; /* 16 bits. */
|
||||
unsigned short int d_namlen; /* 16 bits. */
|
||||
char d_name[MAXNAMLEN + 1];
|
||||
};
|
||||
|
||||
#define D_NAMLEN(d) ((d)->d_namlen)
|
48
sysdeps/unix/bsd/dirstream.h
Normal file
48
sysdeps/unix/bsd/dirstream.h
Normal file
@ -0,0 +1,48 @@
|
||||
/* Copyright (C) 1993, 1994 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 _DIRSTREAM_H
|
||||
|
||||
#define _DIRSTREAM_H 1
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
#include <gnu/types.h> /* For __off_t. */
|
||||
|
||||
/* Directory stream type.
|
||||
|
||||
The BSD directory format is the same as `struct dirent', so `readdir'
|
||||
returns a pointer into the buffer we read directory data into. */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int __fd; /* File descriptor. */
|
||||
|
||||
char *__data; /* Directory block. */
|
||||
size_t __allocation; /* Space allocated for the block. */
|
||||
size_t __offset; /* Current offset into the block. */
|
||||
size_t __size; /* Total valid data in the block. */
|
||||
__off_t __pos; /* Position in directory of this block. */
|
||||
} DIR;
|
||||
|
||||
#ifdef __USE_BSD
|
||||
/* Macro to return the file descriptor used for an open directory. */
|
||||
#define dirfd(DIR) ((DIR)->__fd)
|
||||
#endif
|
||||
|
||||
#endif /* dirstream.h */
|
117
sysdeps/unix/bsd/fcntlbits.h
Normal file
117
sysdeps/unix/bsd/fcntlbits.h
Normal file
@ -0,0 +1,117 @@
|
||||
/* O_*, F_*, FD_* bit values for 4.3 BSD.
|
||||
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. */
|
||||
|
||||
#ifndef _FCNTLBITS_H
|
||||
|
||||
#define _FCNTLBITS_H 1
|
||||
|
||||
|
||||
/* File access modes for `open' and `fcntl'. */
|
||||
#define O_RDONLY 0 /* Open read-only. */
|
||||
#define O_WRONLY 1 /* Open write-only. */
|
||||
#define O_RDWR 2 /* Open read/write. */
|
||||
|
||||
|
||||
/* Bits OR'd into the second argument to open. */
|
||||
#define O_CREAT 0x0200 /* Create file if it doesn't exist. */
|
||||
#define O_EXCL 0x0800 /* Fail if file already exists. */
|
||||
#define O_TRUNC 0x0400 /* Truncate file to zero length. */
|
||||
/* Apparently not assigning a controlling terminal is the default
|
||||
behavior in BSD, so no bit is required to request that behavior. */
|
||||
#define O_NOCTTY 0 /* Don't assign a controlling terminal. */
|
||||
#if defined (__USE_BSD) || defined (__USE_SVID)
|
||||
#define O_ASYNC 0x0040 /* Send SIGIO to owner when data is ready. */
|
||||
#define O_FSYNC 0x2000 /* Synchronous writes. */
|
||||
#define O_SYNC O_FSYNC
|
||||
#endif
|
||||
|
||||
/* File status flags for `open' and `fcntl'. */
|
||||
#define O_APPEND 0x0008 /* Writes append to the file. */
|
||||
#define O_NONBLOCK 0x0004 /* Non-blocking I/O. */
|
||||
|
||||
#ifdef __USE_BSD
|
||||
/* BSD before 4.4 doesn't support POSIX.1 O_NONBLOCK,
|
||||
but O_NDELAY is close. */
|
||||
#define O_NDELAY O_NONBLOCK
|
||||
#endif
|
||||
|
||||
#ifdef __USE_BSD
|
||||
/* Bits in the file status flags returned by F_GETFL.
|
||||
These are all the O_* flags, plus FREAD and FWRITE, which are
|
||||
independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was
|
||||
given to `open'. */
|
||||
#define FREAD 1
|
||||
#define FWRITE 2
|
||||
|
||||
/* Traditional BSD names the O_* bits. */
|
||||
#define FASYNC O_ASYNC
|
||||
#define FCREAT O_CREAT
|
||||
#define FEXCL O_EXCL
|
||||
#define FTRUNC O_TRUNC
|
||||
#define FNOCTTY O_NOCTTY
|
||||
#define FFSYNC O_FSYNC
|
||||
#define FSYNC O_SYNC
|
||||
#define FAPPEND O_APPEND
|
||||
#define FNONBLOCK O_NONBLOCK
|
||||
#define FNDELAY O_NDELAY
|
||||
#endif
|
||||
|
||||
/* Mask for file access modes. This is system-dependent in case
|
||||
some system ever wants to define some other flavor of access. */
|
||||
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
|
||||
/* Values for the second argument to `fcntl'. */
|
||||
#define F_DUPFD 0 /* Duplicate file descriptor. */
|
||||
#define F_GETFD 1 /* Get file descriptor flags. */
|
||||
#define F_SETFD 2 /* Set file descriptor flags. */
|
||||
#define F_GETFL 3 /* Get file status flags. */
|
||||
#define F_SETFL 4 /* Set file status flags. */
|
||||
#ifdef __USE_BSD
|
||||
#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
|
||||
#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
|
||||
#endif
|
||||
#define F_GETLK 7 /* Get record locking info. */
|
||||
#define F_SETLK 8 /* Set record locking info (non-blocking). */
|
||||
#define F_SETLKW 9 /* Set record locking info (blocking). */
|
||||
|
||||
/* File descriptor flags used with F_GETFD and F_SETFD. */
|
||||
#define FD_CLOEXEC 1 /* Close on exec. */
|
||||
|
||||
|
||||
#include <gnu/types.h>
|
||||
|
||||
/* The structure describing an advisory lock. This is the type of the third
|
||||
argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */
|
||||
struct flock
|
||||
{
|
||||
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||
__off_t l_start; /* Offset where the lock begins. */
|
||||
__off_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||
short int l_pid; /* Process holding the lock. */
|
||||
short int l_xxx; /* Reserved for future use. */
|
||||
};
|
||||
|
||||
/* Values for the `l_type' field of a `struct flock'. */
|
||||
#define F_RDLCK 1 /* Read lock. */
|
||||
#define F_WRLCK 2 /* Write lock. */
|
||||
#define F_UNLCK 3 /* Remove lock. */
|
||||
|
||||
|
||||
#endif /* fcntlbits.h */
|
24
sysdeps/unix/bsd/flock.S
Normal file
24
sysdeps/unix/bsd/flock.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (flock, 2)
|
||||
ret
|
||||
|
||||
weak_alias (__flock, flock)
|
37
sysdeps/unix/bsd/ftime.c
Normal file
37
sysdeps/unix/bsd/ftime.c
Normal file
@ -0,0 +1,37 @@
|
||||
/* Copyright (C) 1994 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 <sys/timeb.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
int
|
||||
ftime (timebuf)
|
||||
struct timeb *timebuf;
|
||||
{
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
|
||||
if (__gettimeofday (&tv, &tz) < 0)
|
||||
return -1;
|
||||
|
||||
timebuf->time = tv.tv_sec;
|
||||
timebuf->millitm = (tv.tv_usec + 999) / 1000;
|
||||
timebuf->timezone = tz.tz_minuteswest;
|
||||
timebuf->dstflag = tz.tz_dsttime;
|
||||
return 0;
|
||||
}
|
24
sysdeps/unix/bsd/getdtsz.S
Normal file
24
sysdeps/unix/bsd/getdtsz.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (getdtablesize, 0)
|
||||
ret
|
||||
|
||||
weak_alias (__getdtablesize, getdtablesize)
|
24
sysdeps/unix/bsd/getpagesize.S
Normal file
24
sysdeps/unix/bsd/getpagesize.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (getpagesize, 0)
|
||||
ret
|
||||
|
||||
weak_alias (__getpagesize, getpagesize)
|
29
sysdeps/unix/bsd/gtty.c
Normal file
29
sysdeps/unix/bsd/gtty.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 1991 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 <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <sgtty.h>
|
||||
|
||||
/* Fill in *PARAMS with terminal parameters associated with FD. */
|
||||
int
|
||||
DEFUN(gtty, (fd, params),
|
||||
int fd AND struct sgttyb *params)
|
||||
{
|
||||
return ioctl(fd, TIOCGETP, (PTR) params);
|
||||
}
|
46
sysdeps/unix/bsd/hp/m68k/brk.S
Normal file
46
sysdeps/unix/bsd/hp/m68k/brk.S
Normal file
@ -0,0 +1,46 @@
|
||||
/* Copyright (C) 1991, 1993, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
#ifndef SYS_brk
|
||||
#define SYS_brk 17
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_GNU_LD
|
||||
#define __end _end
|
||||
#endif
|
||||
|
||||
.data
|
||||
.globl ___curbrk
|
||||
___curbrk:
|
||||
.long __end
|
||||
|
||||
.text
|
||||
ENTRY (__brk)
|
||||
movel #__end, d0
|
||||
cmpl sp@(4), d0
|
||||
ble 0f
|
||||
movel d0, sp@(4)
|
||||
0: DO_CALL (#SYS_brk, 1)
|
||||
movel sp@(4), ___curbrk
|
||||
clrl d0
|
||||
rts
|
||||
error: jmp syscall_error
|
||||
|
||||
weak_alias (__brk, brk)
|
1
sysdeps/unix/bsd/hp/m68k/getdents.S
Normal file
1
sysdeps/unix/bsd/hp/m68k/getdents.S
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/unix/bsd/sun/getdents.S>
|
10
sysdeps/unix/bsd/hp/m68k/start.c
Normal file
10
sysdeps/unix/bsd/hp/m68k/start.c
Normal file
@ -0,0 +1,10 @@
|
||||
/* hp300 4.3 BSD starts at 4, rather than 0, when the start address is 0.
|
||||
Go figure. */
|
||||
asm(".globl __start");
|
||||
asm("__start: .long 0");
|
||||
|
||||
#define _start __start0
|
||||
|
||||
#define DUMMIES dummy0
|
||||
|
||||
#include <sysdeps/unix/start.c>
|
56
sysdeps/unix/bsd/hp/m68k/sysdep.h
Normal file
56
sysdeps/unix/bsd/hp/m68k/sysdep.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 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. */
|
||||
|
||||
/* This code wants to be run through m4. */
|
||||
|
||||
#include <sysdeps/unix/sysdep.h>
|
||||
|
||||
#ifdef ASSEMBLER
|
||||
|
||||
#define POUND #
|
||||
|
||||
#ifdef __STDC__
|
||||
#define ENTRY(name) \
|
||||
.globl _##name; \
|
||||
.even; \
|
||||
_##name##:
|
||||
#else
|
||||
#define ENTRY(name) \
|
||||
.globl _/**/name; \
|
||||
.even; \
|
||||
_/**/name/**/:
|
||||
#endif
|
||||
|
||||
#define PSEUDO(name, syscall_name, args) \
|
||||
.even; \
|
||||
.globl syscall_error; \
|
||||
error: jmp syscall_error; \
|
||||
ENTRY (name) \
|
||||
DO_CALL (POUND SYS_ify (syscall_name), args)
|
||||
|
||||
#define DO_CALL(syscall, args) \
|
||||
movel syscall, d0; \
|
||||
trap POUND 0; \
|
||||
bcs error
|
||||
|
||||
#define ret rts
|
||||
#define r0 d0
|
||||
#define r1 d1
|
||||
#define MOVE(x,y) movel x , y
|
||||
|
||||
#endif /* ASSEMBLER */
|
39
sysdeps/unix/bsd/hp/m68k/wait3.S
Normal file
39
sysdeps/unix/bsd/hp/m68k/wait3.S
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
ENTRY(__wait3)
|
||||
movel sp@(8), d1
|
||||
moveal sp@(12), a0
|
||||
movel #SYS_wait, d0
|
||||
/* Set all condition codes to tell the kernel this is wait3. */
|
||||
movew #31, ccr
|
||||
trap #0
|
||||
bcs error
|
||||
|
||||
tstl sp@(4)
|
||||
beq 1f
|
||||
moveal sp@(4), a0
|
||||
movel d1, a0@
|
||||
1: rts
|
||||
|
||||
.globl syscall_error
|
||||
error: jmp syscall_error
|
||||
|
||||
weak_alias (__wait3, wait3)
|
44
sysdeps/unix/bsd/i386/wait3.S
Normal file
44
sysdeps/unix/bsd/i386/wait3.S
Normal file
@ -0,0 +1,44 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
/* <sysdeps/unix/bsd/sequent/i386/sysdep.h> defines this to put the first
|
||||
two arguments into registers. Since the arguments to wait3 are
|
||||
transferred magically through the same registers, we want to disable this.
|
||||
This allows us to avoid rewriting this file for that system. */
|
||||
|
||||
#undef ARGS_2
|
||||
#define ARGS_2 /* Special-case no-op. */
|
||||
|
||||
.text
|
||||
.globl syscall_error
|
||||
.align 4
|
||||
ENTRY (__wait3)
|
||||
mov 8(%esp), %ecx /* Flags. */
|
||||
mov 12(%esp), %edx /* rusage pointer. */
|
||||
pushl $0xdf; popf /* Set all the condition codes. */
|
||||
DO_CALL (wait, 2) /* Do the system call. */
|
||||
je syscall_error /* Check for error. */
|
||||
mov 4(%esp), scratch /* Status pointer. */
|
||||
orl scratch, scratch /* Is it nil? */
|
||||
je done /* Yup; return. */
|
||||
mov r1, 0(scratch) /* Non-nil; store the status in it. */
|
||||
done: ret
|
||||
|
||||
weak_alias (__wait3, wait3)
|
36
sysdeps/unix/bsd/init-posix.c
Normal file
36
sysdeps/unix/bsd/init-posix.c
Normal file
@ -0,0 +1,36 @@
|
||||
/* Copyright (C) 1991, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <stddef.h>
|
||||
#include <time.h>
|
||||
|
||||
/* This must be initialized data or its presence will not be sufficient to
|
||||
merit linkage of this file, which is necessary for the real
|
||||
initialization function below to be called. */
|
||||
time_t _posix_start_time = -1;
|
||||
|
||||
void
|
||||
DEFUN_VOID(__init_posix)
|
||||
{
|
||||
_posix_start_time = time((time_t *) NULL);
|
||||
}
|
||||
|
||||
#ifdef HAVE_GNU_LD
|
||||
text_set_element(__libc_subinit, __init_posix);
|
||||
#endif
|
39
sysdeps/unix/bsd/isatty.c
Normal file
39
sysdeps/unix/bsd/isatty.c
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright (C) 1991, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
/* Return 1 if FD is a terminal, 0 if not. */
|
||||
int
|
||||
DEFUN(__isatty, (fd), int fd)
|
||||
{
|
||||
int save;
|
||||
int is_tty;
|
||||
struct sgttyb term;
|
||||
|
||||
save = errno;
|
||||
is_tty = __ioctl (fd, TIOCGETP, &term) == 0;
|
||||
errno = save;
|
||||
|
||||
return is_tty;
|
||||
}
|
||||
|
||||
weak_alias (__isatty, isatty)
|
22
sysdeps/unix/bsd/killpg.S
Normal file
22
sysdeps/unix/bsd/killpg.S
Normal file
@ -0,0 +1,22 @@
|
||||
/* 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>
|
||||
|
||||
SYSCALL (killpg, 2)
|
||||
ret
|
32
sysdeps/unix/bsd/m68k/pipe.S
Normal file
32
sysdeps/unix/bsd/m68k/pipe.S
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (pipe, 1)
|
||||
#ifdef __motorola__
|
||||
move.l 4(sp), a0
|
||||
movem.l d0-d1, (a0)
|
||||
#else
|
||||
movel sp@(4), a0
|
||||
moveml d0-d1, a0@
|
||||
#endif
|
||||
clrl d0
|
||||
rts
|
||||
|
||||
weak_alias (__pipe, pipe)
|
3
sysdeps/unix/bsd/m68k/start.c
Normal file
3
sysdeps/unix/bsd/m68k/start.c
Normal file
@ -0,0 +1,3 @@
|
||||
#define DUMMIES ignore0
|
||||
|
||||
#include <sysdeps/unix/start.c>
|
26
sysdeps/unix/bsd/m68k/syscall.S
Normal file
26
sysdeps/unix/bsd/m68k/syscall.S
Normal file
@ -0,0 +1,26 @@
|
||||
/* Copyright (C) 1993 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>
|
||||
|
||||
ENTRY (syscall)
|
||||
movel sp@+, a0 /* Pop return address into A0. */
|
||||
DO_CALL (sp@, 0) /* Do system call. */
|
||||
jmp a0@ /* Return to A0. */
|
||||
error: movel a0, sp@- /* Error; push return address */
|
||||
jmp syscall_error /* and jump to error handler. */
|
44
sysdeps/unix/bsd/m68k/sysdep.S
Normal file
44
sysdeps/unix/bsd/m68k/sysdep.S
Normal file
@ -0,0 +1,44 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 1994 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. */
|
||||
|
||||
#define _ERRNO_H
|
||||
#include <errnos.h>
|
||||
|
||||
.globl syscall_error
|
||||
syscall_error:
|
||||
/* We translate the system's EWOULDBLOCK error into EAGAIN.
|
||||
The GNU C library always defines EWOULDBLOCK==EAGAIN.
|
||||
EWOULDBLOCK_sys is the original number. */
|
||||
#ifdef __motorola__
|
||||
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
|
||||
cmp.l #EWOULDBLOCK_sys, d0
|
||||
bne store
|
||||
moveq.l #EAGAIN, d0
|
||||
#endif
|
||||
store: move.l d0, _errno
|
||||
moveq.l #-1, d0
|
||||
#else
|
||||
#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN
|
||||
cmpl #EWOULDBLOCK_sys, d0
|
||||
bne store
|
||||
moveq #EAGAIN, d0
|
||||
#endif
|
||||
store: movel d0, _errno
|
||||
moveq #-1, d0
|
||||
#endif
|
||||
rts
|
35
sysdeps/unix/bsd/m68k/wait.S
Normal file
35
sysdeps/unix/bsd/m68k/wait.S
Normal file
@ -0,0 +1,35 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (wait, 1)
|
||||
#ifdef __motorola__
|
||||
tst.l 4(sp)
|
||||
beq 1f
|
||||
movea.l 4(sp), a0
|
||||
move.l d1, (a0)
|
||||
#else
|
||||
tstl sp@(4)
|
||||
beq 1f
|
||||
moveal sp@(4), a0
|
||||
movel d1, a0@
|
||||
#endif
|
||||
1: rts
|
||||
|
||||
weak_alias (__wait, wait)
|
45
sysdeps/unix/bsd/nice.c
Normal file
45
sysdeps/unix/bsd/nice.c
Normal file
@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 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 <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
/* Increment the scheduling priority of the calling process by INCR.
|
||||
The superuser may use a negative INCR to decrement the priority. */
|
||||
int
|
||||
DEFUN(nice, (incr), int incr)
|
||||
{
|
||||
int save;
|
||||
int prio;
|
||||
|
||||
/* -1 is a valid priority, so we use errno to check for an error. */
|
||||
save = errno;
|
||||
errno = 0;
|
||||
prio = getpriority (PRIO_PROCESS, 0);
|
||||
if (prio == -1)
|
||||
{
|
||||
if (errno != 0)
|
||||
return -1;
|
||||
else
|
||||
errno = save;
|
||||
}
|
||||
|
||||
return setpriority (PRIO_PROCESS, 0, prio + incr);
|
||||
}
|
31
sysdeps/unix/bsd/pause.c
Normal file
31
sysdeps/unix/bsd/pause.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* Copyright (C) 1991 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 <ansidecl.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
/* Suspend the process until a signal arrives.
|
||||
This always returns -1 and sets errno to EINTR. */
|
||||
|
||||
int
|
||||
DEFUN_VOID(pause)
|
||||
{
|
||||
return __sigpause(__sigblock(0));
|
||||
}
|
81
sysdeps/unix/bsd/poll.c
Normal file
81
sysdeps/unix/bsd/poll.c
Normal file
@ -0,0 +1,81 @@
|
||||
/* Copyright (C) 1994 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 <sys/poll.h>
|
||||
#include <sys/types.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
/* Poll the file descriptors described by the NFDS structures starting at
|
||||
FDS. If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for
|
||||
an event to occur; if TIMEOUT is -1, block until an event occurs.
|
||||
Returns the number of file descriptors with events, zero if timed out,
|
||||
or -1 for errors. */
|
||||
|
||||
int
|
||||
poll (fds, nfds, timeout)
|
||||
struct pollfd *fds;
|
||||
unsigned long int nfds;
|
||||
int timeout;
|
||||
{
|
||||
struct timeval tv;
|
||||
fd_set rset, wset, xset;
|
||||
struct pollfd *f;
|
||||
int ready;
|
||||
int maxfd = 0;
|
||||
|
||||
FD_ZERO (&rset);
|
||||
FD_ZERO (&wset);
|
||||
FD_ZERO (&xset);
|
||||
|
||||
for (f = fds; f < &fds[nfds]; ++f)
|
||||
if (f->fd >= 0)
|
||||
{
|
||||
if (f->events & POLLIN)
|
||||
FD_SET (f->fd, &rset);
|
||||
if (f->events & POLLOUT)
|
||||
FD_SET (f->fd, &wset);
|
||||
if (f->events & POLLPRI)
|
||||
FD_SET (f->fd, &xset);
|
||||
if (f->fd > maxfd && (f->events & (POLLIN|POLLOUT|POLLPRI)))
|
||||
maxfd = f->fd;
|
||||
}
|
||||
|
||||
tv.tv_sec = timeout / 1000;
|
||||
tv.tv_usec = (timeout + 999) / 1000;
|
||||
|
||||
ready = __select (maxfd + 1, &rset, &wset, &xset,
|
||||
timeout == -1 ? NULL : &tv);
|
||||
if (ready > 0)
|
||||
for (f = fds; f < &fds[nfds]; ++f)
|
||||
{
|
||||
f->revents = 0;
|
||||
if (f->fd >= 0)
|
||||
{
|
||||
if (FD_ISSET (f->fd, &rset))
|
||||
f->revents |= POLLIN;
|
||||
if (FD_ISSET (f->fd, &wset))
|
||||
f->revents |= POLLOUT;
|
||||
if (FD_ISSET (f->fd, &xset))
|
||||
f->revents |= POLLPRI;
|
||||
}
|
||||
}
|
||||
|
||||
return ready;
|
||||
}
|
5
sysdeps/unix/bsd/posix_opt.h
Normal file
5
sysdeps/unix/bsd/posix_opt.h
Normal file
@ -0,0 +1,5 @@
|
||||
#define _POSIX_JOB_CONTROL 1
|
||||
#undef _POSIX_SAVED_IDS
|
||||
#define _POSIX_CHOWN_RESTRICTED 1
|
||||
#define _POSIX_NO_TRUNC -1
|
||||
#define _POSIX_VDISABLE ((unsigned char) -1)
|
70
sysdeps/unix/bsd/readdir.c
Normal file
70
sysdeps/unix/bsd/readdir.c
Normal file
@ -0,0 +1,70 @@
|
||||
/* Copyright (C) 1991, 1992, 1993, 1994 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 <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <dirent.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include "direct.h"
|
||||
|
||||
|
||||
/* Read a directory entry from DIRP. */
|
||||
struct dirent *
|
||||
DEFUN(readdir, (dirp), DIR *dirp)
|
||||
{
|
||||
struct dirent *dp;
|
||||
|
||||
if (dirp == NULL || dirp->__data == NULL)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
if (dirp->__offset >= dirp->__size)
|
||||
{
|
||||
/* We've emptied out our buffer. Refill it. */
|
||||
|
||||
ssize_t bytes = __getdirentries (dirp->__fd, dirp->__data,
|
||||
dirp->__allocation, &dirp->__pos);
|
||||
if (bytes <= 0)
|
||||
return NULL;
|
||||
dirp->__size = (size_t) bytes;
|
||||
|
||||
/* Reset the offset into the buffer. */
|
||||
dirp->__offset = 0;
|
||||
}
|
||||
|
||||
dp = (struct dirent *) &dirp->__data[dirp->__offset];
|
||||
dirp->__offset += dp->d_reclen;
|
||||
|
||||
#ifndef HAVE_D_TYPE
|
||||
dp->d_namlen = ((struct direct *) dp)->d_namlen;
|
||||
dp->d_type = DT_UNKNOWN;
|
||||
#endif
|
||||
|
||||
/* Loop to ignore deleted files. */
|
||||
} while (dp->d_fileno == 0);
|
||||
|
||||
return dp;
|
||||
}
|
1
sysdeps/unix/bsd/seekdir.c
Normal file
1
sysdeps/unix/bsd/seekdir.c
Normal file
@ -0,0 +1 @@
|
||||
/* Because they share a private data structure, seekdir is in telldir.c. */
|
44
sysdeps/unix/bsd/sequent/i386/getgroups.S
Normal file
44
sysdeps/unix/bsd/sequent/i386/getgroups.S
Normal file
@ -0,0 +1,44 @@
|
||||
/* 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <limits.h>
|
||||
|
||||
/* Dynix erroneously reports `getgroups (0, 0)' as an error.
|
||||
We fix up for that case. */
|
||||
|
||||
#define syscall_error myerror
|
||||
SYSCALL__ (getgroups, 2)
|
||||
#undef syscall_error
|
||||
ret
|
||||
myerror:
|
||||
tstl 4(%esp) /* Was the first arg 0? */
|
||||
jnz syscall_error /* If not, go to the normal error case. */
|
||||
/* When called with (0, 0), we want to return the number of groups
|
||||
without storing anything. The Dynix system call gives an error
|
||||
for this case, so we fix up by calling it with a local array we
|
||||
never use, and just use the return value. */
|
||||
subl %esp, $(NGROUPS_MAX * 4) /* Allocate a local array. */
|
||||
movl $NGROUPS_MAX, %ecx /* Pass NGROUPS_MAX for first arg. */
|
||||
movl %esp, %edx /* Pass local array for second arg. */
|
||||
DO_CALL (getgroups, 2) /* Do the system call. */
|
||||
addl %esp, $(NGROUPS_MAX * 4) /* Pop the local array. */
|
||||
jb syscall_error /* Check for error from the system call. */
|
||||
ret /* Return its value. */
|
||||
|
||||
weak_alias (__getgroups, getgroups)
|
45
sysdeps/unix/bsd/sequent/i386/sigvec.S
Normal file
45
sysdeps/unix/bsd/sequent/i386/sigvec.S
Normal file
@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 1993, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
/* The Dynix `sigvec' system call takes an extra argument,
|
||||
which is the address of the trampoline function. */
|
||||
|
||||
.text
|
||||
.align 4
|
||||
trampoline:
|
||||
cld /* Clear direction flag. */
|
||||
call %eax /* Call the handler, address in %eax. */
|
||||
addl $8, %esp /* Pop signum & code off the stack. */
|
||||
/* __sigreturn will restore the context, and never return here. */
|
||||
call C_SYMBOL_NAME (__sigreturn)
|
||||
|
||||
.globl syscall_error
|
||||
ENTRY (__sigvec)
|
||||
pushl $trampoline /* Push fourth arg: trampoline address. */
|
||||
pushl 16(%esp) /* Push third arg: our third arg. */
|
||||
pushl 16(%esp) /* Push second arg: our second arg. */
|
||||
pushl 16(%esp) /* Push first arg: our first arg. */
|
||||
mov %esp, %ecx /* Point the syscall at the arguments. */
|
||||
addl $16, %esp /* Pop those four args. */
|
||||
DO_CALL (sigvec, 4) /* Do the system call. */
|
||||
jb syscall_error /* Check for error. */
|
||||
ret
|
||||
|
||||
weak_alias (__sigvec, sigvec)
|
31
sysdeps/unix/bsd/sequent/i386/syscall.S
Normal file
31
sysdeps/unix/bsd/sequent/i386/syscall.S
Normal file
@ -0,0 +1,31 @@
|
||||
/* `syscall' function for Sequent Symmetry running Dynix version 3.
|
||||
Copyright (C) 1994 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>
|
||||
|
||||
.text
|
||||
.globl syscall_error
|
||||
.align 4
|
||||
ENTRY (syscall)
|
||||
leal 8(%esp), %ecx /* Load address of second argument. */
|
||||
movl $SYS_HANDLER, %eax /* Use BSD system calls. */
|
||||
movw 4(%esp), %ax /* Load system call number into low word. */
|
||||
int $T_SVC6 /* Pretend it takes six args. */
|
||||
jb syscall_error
|
||||
ret
|
82
sysdeps/unix/bsd/sequent/i386/sysdep.h
Normal file
82
sysdeps/unix/bsd/sequent/i386/sysdep.h
Normal file
@ -0,0 +1,82 @@
|
||||
/* System call interface code for Sequent Symmetry running Dynix version 3.
|
||||
Copyright (C) 1993, 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. */
|
||||
|
||||
#include <sysdeps/unix/i386/sysdep.h>
|
||||
|
||||
#ifdef ASSEMBLER
|
||||
|
||||
/* Get the symbols for system call interrupts. */
|
||||
#include <machine/trap.h>
|
||||
|
||||
/* Use the BSD versions of system calls, by setting the high 16 bits
|
||||
of the syscall number (see /usr/include/syscall.h). */
|
||||
#define SYS_HANDLER (SYS_bsd << 16)
|
||||
|
||||
/* Dynix uses an interrupt interface to system calls.
|
||||
"int $T_SVCn" are syscall interfaces for 0-6 arg functions.
|
||||
(see /usr/include/machine/trap.h). */
|
||||
|
||||
#undef DO_CALL
|
||||
|
||||
#ifdef __STDC__
|
||||
#define DO_CALL(syscall_name, args) \
|
||||
movl $(SYS_HANDLER | SYS_##syscall_name), %eax; \
|
||||
int $T_SVC##args;
|
||||
#else
|
||||
#define DO_CALL(syscall_name, args) \
|
||||
movl $(SYS_HANDLER | SYS_/**/syscall_name), %eax; \
|
||||
int $T_SVC/**/args;
|
||||
#endif
|
||||
|
||||
#undef PSEUDO
|
||||
#define PSEUDO(name, syscall_name, args) \
|
||||
.text; \
|
||||
.globl syscall_error; \
|
||||
.align 4; \
|
||||
ENTRY (name) \
|
||||
ARGS (args) \
|
||||
DO_CALL (syscall_name, args) \
|
||||
jb syscall_error
|
||||
|
||||
/* For one and two-argument calls, Dynix takes the arguments in %ecx and
|
||||
%edx. For 3-6 argument calls, Dynix takes the address of the first
|
||||
argument in %ecx. */
|
||||
|
||||
#ifdef __STDC__
|
||||
#define ARGS(n) ARGS_##n
|
||||
#else
|
||||
#define ARGS(n) ARGS_/**/n
|
||||
#endif
|
||||
|
||||
#define ARGS_0
|
||||
#define ARGS_1 movl 4(%esp), %ecx;
|
||||
#define ARGS_2 movl 4(%esp), %ecx; movl 8(%esp), %edx;
|
||||
#define ARGS_3 leal 4(%esp), %ecx;
|
||||
#define ARGS_4 ARGS_3
|
||||
#define ARGS_5 ARGS_3
|
||||
#define ARGS_6 ARGS_3
|
||||
|
||||
/* Dynix reverses %ecx and %edx relative to most i386 Unices. */
|
||||
|
||||
#undef r1
|
||||
#define r1 %ecx /* Secondary return-value register. */
|
||||
#undef scratch
|
||||
#define scratch %edx /* Call-clobbered register for random use. */
|
||||
|
||||
#endif /* ASSEMBLER */
|
27
sysdeps/unix/bsd/setegid.c
Normal file
27
sysdeps/unix/bsd/setegid.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 1993 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 <ansidecl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int
|
||||
DEFUN(setegid, (gid), gid_t gid)
|
||||
{
|
||||
return __setregid (-1, gid);
|
||||
}
|
27
sysdeps/unix/bsd/seteuid.c
Normal file
27
sysdeps/unix/bsd/seteuid.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 1993 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 <ansidecl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int
|
||||
DEFUN(seteuid, (uid), uid_t uid)
|
||||
{
|
||||
return __setreuid (-1, uid);
|
||||
}
|
35
sysdeps/unix/bsd/setgid.c
Normal file
35
sysdeps/unix/bsd/setgid.c
Normal file
@ -0,0 +1,35 @@
|
||||
/* Copyright (C) 1991, 1993, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <sysdep.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/* Set the group ID of the calling process to GID.
|
||||
If the calling process is the super-user, the real
|
||||
and effective group IDs, and the saved set-group-ID to GID;
|
||||
if not, the effective group ID is set to GID. */
|
||||
int
|
||||
DEFUN(__setgid, (gid), gid_t gid)
|
||||
{
|
||||
return __setregid (gid, gid);
|
||||
}
|
||||
|
||||
weak_alias (__setgid, setgid)
|
27
sysdeps/unix/bsd/setrgid.c
Normal file
27
sysdeps/unix/bsd/setrgid.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 1993 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 <ansidecl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int
|
||||
DEFUN(setrgid, (gid), gid_t gid)
|
||||
{
|
||||
return __setregid (gid, -1);
|
||||
}
|
27
sysdeps/unix/bsd/setruid.c
Normal file
27
sysdeps/unix/bsd/setruid.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 1993 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 <ansidecl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int
|
||||
DEFUN(setruid, (uid), uid_t uid)
|
||||
{
|
||||
return __setreuid (uid, -1);
|
||||
}
|
59
sysdeps/unix/bsd/setsid.c
Normal file
59
sysdeps/unix/bsd/setsid.c
Normal file
@ -0,0 +1,59 @@
|
||||
/* Copyright (C) 1991, 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. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
/* Create a new session with the calling process as its leader.
|
||||
The process group IDs of the session and the calling process
|
||||
are set to the process ID of the calling process, which is returned. */
|
||||
int
|
||||
DEFUN_VOID(__setsid)
|
||||
{
|
||||
pid_t pid = getpid ();
|
||||
int tty;
|
||||
int save = errno;
|
||||
|
||||
if (__getpgrp (pid) == pid)
|
||||
{
|
||||
/* Already the leader. */
|
||||
errno = EPERM;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (setpgid (pid, pid) < 0)
|
||||
return -1;
|
||||
|
||||
tty = open ("/dev/tty", 0);
|
||||
if (tty < 0)
|
||||
{
|
||||
errno = save;
|
||||
return 0;
|
||||
}
|
||||
(void) __ioctl (tty, TIOCNOTTY, 0);
|
||||
(void) __close (tty);
|
||||
|
||||
errno = save;
|
||||
return 0;
|
||||
}
|
||||
|
||||
weak_alias (__setsid, setsid)
|
24
sysdeps/unix/bsd/settimeofday.S
Normal file
24
sysdeps/unix/bsd/settimeofday.S
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 1991, 1992, 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. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (settimeofday, 2)
|
||||
ret
|
||||
|
||||
weak_alias (__settimeofday, settimeofday)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user