Initial revision
authorroland <roland>
Mon, 24 Jun 1991 23:16:30 +0000 (23:16 +0000)
committerroland <roland>
Mon, 24 Jun 1991 23:16:30 +0000 (23:16 +0000)
posix/gnu/types.h [new file with mode: 0644]
posix/sys/types.h [new file with mode: 0644]
sysdeps/unix/bsd/sun/m68k/sysdep.h [new file with mode: 0644]

diff --git a/posix/gnu/types.h b/posix/gnu/types.h
new file mode 100644 (file)
index 0000000..a65b546
--- /dev/null
@@ -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?  */
+
+\f
+
+/* 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 (file)
index 0000000..7ee226a
--- /dev/null
@@ -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 <sys/types.h>
+ */
+
+#ifndef        _SYS_TYPES_H
+
+#define        _SYS_TYPES_H    1
+#include <features.h>
+
+#include <gnu/types.h>
+
+#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 <time.h>
+
+#define        __need_size_t
+#include <stddef.h>
+
+#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 <gnu/time.h>
+
+/* 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 (file)
index 0000000..bf0b226
--- /dev/null
@@ -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 <sysdeps/unix/sysdep.h>
+
+#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