From: roland Date: Mon, 24 Jun 1991 23:16:30 +0000 (+0000) Subject: Initial revision X-Git-Tag: jems-14oct94~6353 X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=commitdiff_plain;h=e4a180a900f4871194682755011cea9970431683 Initial revision --- diff --git a/posix/gnu/types.h b/posix/gnu/types.h new file mode 100644 index 0000000000..a65b5460fc --- /dev/null +++ b/posix/gnu/types.h @@ -0,0 +1,74 @@ +/* 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. */ + +#ifndef _GNU_TYPES_H + +#define _GNU_TYPES_H 1 + + +/* Convenience types. */ +typedef unsigned char __u_char; +typedef unsigned short __u_short; +typedef unsigned int __u_int; +typedef unsigned long __u_long; +typedef struct { long val[2]; } __quad; +typedef struct { __u_long val[2]; } __u_quad; + +typedef short int __dev_t; /* Type of device numbers. */ +typedef unsigned short int __gid_t; /* Type of group identifications. */ +typedef unsigned long int __ino_t; /* Type of file serial numbers. */ +typedef unsigned short int __mode_t; /* Type of file attribute bitmasks. */ +typedef unsigned short int __nlink_t; /* Type of file link counts. */ +typedef long int __off_t; /* Type of file sizes and offsets. */ +typedef int __pid_t; /* Type of process identifications. */ +typedef unsigned short int __uid_t; /* Type of user identifications. */ +typedef int __ssize_t; /* Type of a byte count, or error. */ + + +/* Everythin' else. */ +typedef long int __daddr_t; /* The type of a disk address. */ +typedef char *__caddr_t; +typedef long int __time_t; +typedef long int __swblk_t; /* Type of a swap block maybe? */ + + + +/* fd_set for select. */ + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 256 + +/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ +#define __NFDBITS (sizeof(unsigned long int) * 8) +#define __FDELT(d) ((d) / __NFDBITS) +#define __FDMASK(d) (1 << ((d) % __NFDBITS)) + +typedef struct + { + unsigned long int __bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; + } __fd_set; + +/* This line MUST be split! Otherwise m4 will not change it. */ +#define __FD_ZERO(set) \ + ((void) memset((PTR) (set), 0, sizeof(fd_set))) +#define __FD_SET(d, set) ((set)->__bits[__FDELT(d)] |= __FDMASK(d)) +#define __FD_CLR(d, set) ((set)->__bits[__FDELT(d)] &= ~__FDMASK(d)) +#define __FD_ISSET(d, set) ((set)->__bits[__FDELT(d)] & __FDMASK(d)) + + +#endif /* gnu/types.h */ diff --git a/posix/sys/types.h b/posix/sys/types.h new file mode 100644 index 0000000000..7ee226aad6 --- /dev/null +++ b/posix/sys/types.h @@ -0,0 +1,84 @@ +/* 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. */ + +/* + * POSIX Standard: 2.6 Primitive System Data Types + */ + +#ifndef _SYS_TYPES_H + +#define _SYS_TYPES_H 1 +#include + +#include + +#define u_char __u_char +#define u_short __u_short +#define u_int __u_int +#define u_long __u_long +#define quad __quad +#define u_quad __u_quad + +#define dev_t __dev_t +#define gid_t __gid_t +#define ino_t __ino_t +#define mode_t __mode_t +#define nlink_t __nlink_t +#define off_t __off_t +#define pid_t __pid_t +#define uid_t __uid_t +#ifndef ssize_t +#define ssize_t __ssize_t +#endif + +#define daddr_t __daddr_t +#define caddr_t __caddr_t + +#define __need_time_t +#include + +#define __need_size_t +#include + +#define quad __quad + + +#define FD_SETSIZE __FD_SETSIZE +#define fd_set __fd_set +#define FD_ZERO(set) __FD_ZERO(set) +#define FD_SET(d, set) __FD_SET((d), (set)) +#define FD_CLR(d, set) __FD_CLR((d), (set)) +#define FD_ISSET(d, set)__FD_ISSET((d), (set)) + +#include + +/* Check the first NFDS descriptors each in READFDS (if not NULL) for read + readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS + (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out + after waiting the interval specified therein. Returns the number of ready + descriptors, or -1 for errors. */ +extern int EXFUN(__select, (int __nfds, __fd_set *__readfds, + __fd_set *__writefds, __fd_set *__exceptfds, + struct __timeval *__timeout)); + +#ifdef __USE_BSD +#define select __select +#endif /* Use BSD. */ + + +#endif /* sys/types.h */ diff --git a/sysdeps/unix/bsd/sun/m68k/sysdep.h b/sysdeps/unix/bsd/sun/m68k/sysdep.h new file mode 100644 index 0000000000..bf0b226fe7 --- /dev/null +++ b/sysdeps/unix/bsd/sun/m68k/sysdep.h @@ -0,0 +1,60 @@ +/* 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 + +#ifdef __STDC__ +#define ENTRY(name) \ + .globl _##name; \ + .even; \ + _##name##: +#else +#define ENTRY(name) \ + .globl _/**/name; \ + .even; \ + _/**/name/**/: +#endif + +#ifdef __STDC__ +#define PSEUDO(name, syscall_name) \ + .set sysno, SYS_##syscall_name; \ + .set zero, 0; \ + .even; \ + .globl syscall_error; \ + error: jmp syscall_error; \ + ENTRY (name) \ + pea sysno; \ + trap zero; \ + bcs error \ +#else +#define PSEUDO(name, syscall_name) \ + .set sysno, SYS_/**/syscall_name; \ + .set zero, 0; \ + .even; \ + .globl syscall_error; \ + error: jmp syscall_error; \ + ENTRY (name) \ + pea sysno; \ + trap zero; \ + bcs error \ +#endif + +#define ret rts +#define r0 d0 +#define r1 d1 +#define movl movel