/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/posixtyp.h,v 1.5 1992/02/27 18:41:09 mhwu Exp $
+$Id: posixtyp.h,v 1.6 1993/02/06 05:37:01 gjr Exp $
-Copyright (c) 1990-91 Massachusetts Institute of Technology
+Copyright (c) 1990-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
#define _OFF_T
#endif
+#ifdef _BSD4_3
+#define _MODE_T
+#define _NLINK_T
+#define _PID_T
+#define _CLOCK_T
+#define _TIME_T
+#endif
+
#if defined(_SUNOS4) && defined(__sys_stdtypes_h)
#define _MODE_T
#define _NLINK_T
#include "ansidecl.h"
-extern char * EXFUN (tparam, (char *, char*, int, int, ...));
+#ifndef _BSD4_3
+extern char * EXFUN (tparam, (char *, char *, int, int, ...));
+#endif
extern char * EXFUN (tgoto, (char *, int, int));
/* Assuming STRING is the value of a termcap string entry
/* -*-C-*-
-$Id: ux.h,v 1.39 1993/01/12 19:47:49 gjr Exp $
+$Id: ux.h,v 1.40 1993/02/06 05:42:05 gjr Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
#include <errno.h>
#include <pwd.h>
#include <grp.h>
-#include <utime.h>
#include "oscond.h"
#include "ansidecl.h"
#include <fcntl.h>
#include <sys/wait.h>
#include <dirent.h>
+#include <utime.h>
#define DECL_GETLOGIN
#define HAVE_APPEND
#define HAVE_FCNTL
#define HAVE_GETCWD
#define HAVE_MKDIR
+/* MKTIME is really ANSI C, but POSIX has it too ? */
+#define HAVE_MKTIME
#define HAVE_POSIX_SIGNALS
#define HAVE_RENAME
#define HAVE_RMDIR
#define HAVE_TERMIOS
#define HAVE_TIMES
+#define HAVE_UTIME
#define HAVE_WAITPID
#define VOID_SIGNAL_HANDLERS
#define ENOSYS 0
#endif
+#ifndef HAVE_UTIME
+/* It's really there, but there may not be an include file. */
+
+struct utimbuf
+{
+ time_t actime;
+ time_t modtime;
+};
+
+extern int EXFUN (utime, (CONST char *, struct utimbuf *));
+#endif /* HAVE_UTIME */
+
#ifdef UNION_WAIT_STATUS
typedef union wait wait_status_t;
/* -*-C-*-
-$Id: uxenv.c,v 1.9 1993/01/12 19:48:31 gjr Exp $
+$Id: uxenv.c,v 1.10 1993/02/06 05:42:47 gjr Exp $
Copyright (c) 1990-1993 Massachusetts Institute of Technology
#endif
(ts -> tm_yday) = 0;
(ts -> tm_isdst) = -1; /* Let mktime figure it out */
+#ifdef HAVE_MKTIME
STD_UINT_SYSTEM_CALL (syscall_mktime, t, (UX_mktime (ts)));
+#else
+ error_system_call (ENOSYS, syscall_mktime);
+#endif
return (t);
}
\f
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/uxtop.c,v 1.9 1992/06/05 20:09:00 jinx Exp $
+$Id: uxtop.c,v 1.10 1993/02/06 05:45:28 gjr Exp $
-Copyright (c) 1990-1 Massachusetts Institute of Technology
+Copyright (c) 1990-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
case ENODEV: return (syserr_no_such_device);
case ENOENT: return (syserr_no_such_file_or_directory);
case ENOEXEC: return (syserr_exec_format_error);
+#ifdef ENOLCK
case ENOLCK: return (syserr_no_locks_available);
+#endif
case ENOMEM: return (syserr_not_enough_space);
case ENOSPC: return (syserr_no_space_left_on_device);
case ENOSYS: return (syserr_function_not_implemented);
case syserr_io_error: return (EIO);
case syserr_is_a_directory: return (EISDIR);
case syserr_no_child_processes: return (ECHILD);
+#ifdef ENOLCK
case syserr_no_locks_available: return (ENOLCK);
+#endif
case syserr_no_space_left_on_device: return (ENOSPC);
case syserr_no_such_device: return (ENODEV);
case syserr_no_such_device_or_address: return (ENXIO);
/* -*-C-*-
-$Id: uxtrap.h,v 1.16 1992/08/29 13:10:09 jinx Exp $
+$Id: uxtrap.h,v 1.17 1993/02/06 05:46:32 gjr Exp $
-Copyright (c) 1990-1992 Massachusetts Institute of Technology
+Copyright (c) 1990-1993 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
\f
#ifdef hp9000s800
-#include <sys/sysmacros.h>
+/* The bottom 2 bits of the PC are protection bits.
+ They should be masked away before looking at the PC.
+ */
-/* See <machine/save_state.h> included by <signal.h> */
+#define PC_VALUE_MASK ((~0) << 2)
-#ifndef sc_pc
/* pcoq is the offset (32 bit in 64 bit virtual address space)
in the space included in the corresponding sc_pcsq.
head is the current instruction, tail is the next instruction
Both queues need to be collected for some screw cases of
debugging and if there is ever a hope to restart the code.
*/
-#define sc_pc sc_pcoq_head
-#endif
-#define ss_gr0 ss_flags /* not really true */
-#define ss_rfree ss_gr21 /* or some such */
-#define ss_schsp ss_gr22
+#ifdef _HPUX
+# include <sys/sysmacros.h>
-#define HAVE_FULL_SIGCONTEXT
-#define FULL_SIGCONTEXT_RFREE(scp) ((scp)->sc_sl.sl_ss.ss_rfree)
-#define FULL_SIGCONTEXT_SCHSP(scp) ((scp)->sc_sl.sl_ss.ss_schsp)
-#define FULL_SIGCONTEXT_FIRST_REG(scp) (&((scp)->sc_sl.sl_ss.ss_gr0))
-#define FULL_SIGCONTEXT_NREGS 32
-#define PROCESSOR_NREGS 32
+/* See <machine/save_state.h> included by <signal.h> */
-/* The bottom 2 bits of the PC are protection bits.
- They should be masked away before looking at the PC.
- */
+# define HAVE_FULL_SIGCONTEXT
-#define PC_VALUE_MASK ((~0) << 2)
+# ifndef sc_pc
+# define sc_pc sc_pcoq_head
+# endif /* sc_pc */
-#define INITIALIZE_UX_SIGNAL_CODES() \
+# define ss_gr0 ss_flags /* not really true */
+# define ss_rfree ss_gr21 /* or some such */
+# define ss_schsp ss_gr22
+
+# define FULL_SIGCONTEXT_RFREE(scp) ((scp)->sc_sl.sl_ss.ss_rfree)
+# define FULL_SIGCONTEXT_SCHSP(scp) ((scp)->sc_sl.sl_ss.ss_schsp)
+# define FULL_SIGCONTEXT_FIRST_REG(scp) (&((scp)->sc_sl.sl_ss.ss_gr0))
+# define FULL_SIGCONTEXT_NREGS 32
+# define PROCESSOR_NREGS 32
+
+# define INITIALIZE_UX_SIGNAL_CODES() \
{ \
DECLARE_UX_SIGNAL_CODE \
(SIGILL, (~ 0L), 8, "illegal instruction trap"); \
(SIGFPE, (~ 0L), 22, "assist emulation trap"); \
}
-#define SPECIAL_SIGNAL_CODE_NAMES() \
+# define SPECIAL_SIGNAL_CODE_NAMES() \
{ \
if ((signo == SIGFPE) && (code == 14)) \
switch ((((*scp) . sc_sl . sl_ss . ss_frexcp1) >> 26) & 0x3f) \
} \
}
+#else /* not _HPUX, BSD ? */
+
+# ifndef sc_pc
+# define sc_pc sc_pcoqh
+# endif /* sc_pc */
+
+#endif /* _HPUX */
+
#endif /* hp9000s800 */
\f
#ifdef sun3