1
0
mirror of https://github.com/open-simh/simh.git synced 2026-04-30 21:49:00 +00:00

Bob Supnik's state as of 5/9/2015 after backporting some things from the master branch

This commit is contained in:
Mark Pizzolato
2015-05-10 05:48:11 -07:00
parent 3a279c013a
commit 4d48f44857
313 changed files with 80976 additions and 38242 deletions

View File

@@ -1,6 +1,6 @@
/* sim_fio.h: simulator file I/O library headers
Copyright (c) 1993-2008, Robert M Supnik
Copyright (c) 1993-2015, Robert M Supnik
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -23,24 +23,54 @@
be used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Robert M Supnik.
02-Apr-15 RMS Backported features from GitHub master
15-May-06 RMS Added sim_fsize_name
16-Aug-05 RMS Fixed C++ declaration and cast problems
02-Jan-04 RMS Split out from SCP
*/
#ifndef _SIM_FIO_H_
#define _SIM_FIO_H_ 0
#ifndef SIM_FIO_H_
#define SIM_FIO_H_ 0
#define FLIP_SIZE (1 << 16) /* flip buf size */
/* Conditionals to decide whether 64b file support is available. Can be overriden
in build by defining DONT_DO_LARGEFILE */
#if (defined (__linux) || defined (__linux__) || defined (__hpux) || defined (_AIX) || \
(defined (VMS) && (defined (__ALPHA) || defined (__ia64)) && (__DECC_VER >= 60590001)) || \
((defined(__sun) || defined(__sun__)) && defined(_LARGEFILE_SOURCE)) || \
defined (_WIN32) || defined (__APPLE__) || \
defined (__FreeBSD__) || defined(__NetBSD__) || defined (__OpenBSD__)) && !defined (DONT_DO_LARGEFILE)
typedef t_int64 t_offset;
#else
typedef int32 t_offset;
#if !defined (DONT_DO_LARGEFILE)
#define DONT_DO_LARGEFILE 1
#endif
#endif
/* Old interfaces redefined as macros to new interfaces */
#define fxread(a,b,c,d) sim_fread (a, b, c, d)
#define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d)
#define sim_fseek(s,o,w) sim_fseeko (s, (t_offset)o, w)
#define sim_fsize(f) (uint32)sim_fsize_ex(f)
#define sim_fsize_name(f) (uint32)sim_fsize_name_ex(f)
/* Prototypes and globals */
int32 sim_finit (void);
FILE *sim_fopen (const char *file, const char *mode);
int sim_fseek (FILE *st, t_addr offset, int whence);
int sim_fseeko (FILE *st, t_offset offset, int whence);
size_t sim_fread (void *bptr, size_t size, size_t count, FILE *fptr);
size_t sim_fwrite (void *bptr, size_t size, size_t count, FILE *fptr);
uint32 sim_fsize (FILE *fptr);
uint32 sim_fsize_name (char *fname);
t_offset sim_ftell (FILE *st);
t_offset sim_fsize_ex (FILE *fptr);
t_offset sim_fsize_name_ex (char *fname);
extern t_bool sim_taddr_64; /* t_addr is > 32b and Large File Support available */
extern t_bool sim_toffset_64; /* Large File (>2GB) support */
extern t_bool sim_end; /* TRUE = little endian, FALSE = big endian */
#endif