mirror of
https://github.com/simh/simh.git
synced 2026-04-17 00:36:00 +00:00
Generalized the sim_disk layer to support large file disk devices (simh, VHD and RAW formats) with out requiring USE_ADDR64, and enhanced the pdp11_rq device to use this capability.
This commit is contained in:
18
sim_fio.h
18
sim_fio.h
@@ -38,18 +38,28 @@
|
||||
#define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d)
|
||||
|
||||
int32 sim_finit (void);
|
||||
#if defined (__linux) || defined (__linux__) || defined (__hpux) || \
|
||||
(defined (VMS) && (defined (__ALPHA) || defined (__ia64)) && (__DECC_VER >= 60590001)) || \
|
||||
(defined(__sun__) && defined(_LARGEFILE_SOURCE)) || \
|
||||
defined (_WIN32) || defined (__APPLE__) || defined (__FreeBSD__)
|
||||
typedef t_int64 t_offset;
|
||||
#else
|
||||
typedef int32 t_offset;
|
||||
#endif
|
||||
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_addr sim_fsize_ex (FILE *fptr);
|
||||
t_addr sim_fsize_name_ex (char *fname);
|
||||
t_offset sim_fsize_ex (FILE *fptr);
|
||||
t_offset sim_fsize_name_ex (char *fname);
|
||||
void sim_buf_swap_data (void *bptr, size_t size, size_t count);
|
||||
void sim_buf_copy_swapped (void *dptr, void *bptr, size_t size, size_t count);
|
||||
|
||||
extern uint32 sim_taddr_64;
|
||||
extern int32 sim_end;
|
||||
extern t_bool sim_taddr_64; /* t_addr is > 32b and Large File Support available */
|
||||
extern t_bool sim_toffset_64; /* Large File (>2GB) file I/O support */
|
||||
extern t_bool sim_end; /* TRUE = little endian, FALSE = big endian */
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user