root/src/simh/sim_fio.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * sim_fio.h: simulator file I/O library headers
   3  *
   4  * vim: filetype=c:tabstop=4:ai:expandtab
   5  * SPDX-License-Identifier: MIT
   6  * scspell-id: c2fd7c81-f62a-11ec-b01e-80ee73e9b8e7
   7  *
   8  * ---------------------------------------------------------------------------
   9  *
  10  * Copyright (c) 1993-2008 Robert M. Supnik
  11  * Copyright (c) 2021-2024 The DPS8M Development Team
  12  *
  13  * Permission is hereby granted, free of charge, to any person obtaining a
  14  * copy of this software and associated documentation files (the "Software"),
  15  * to deal in the Software without restriction, including without limitation
  16  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  17  * and/or sell copies of the Software, and to permit persons to whom the
  18  * Software is furnished to do so, subject to the following conditions:
  19  *
  20  * The above copyright notice and this permission notice shall be included
  21  * in all copies or substantial portions of the Software.
  22  *
  23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  24  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  26  * ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  27  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
  28  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  29  * SOFTWARE.
  30  *
  31  * Except as contained in this notice, the name of Robert M. Supnik shall not
  32  * be used in advertising or otherwise to promote the sale, use or other
  33  * dealings in this Software without prior written authorization from
  34  * Robert M. Supnik.
  35  *
  36  * ---------------------------------------------------------------------------
  37  */
  38 
  39 #if !defined(SIM_FIO_H_)
  40 # define SIM_FIO_H_     0
  41 
  42 # define FLIP_SIZE        (1 << 16)               /* flip buf size */
  43 # define fxread(a,b,c,d)  sim_fread (a, b, c, d)
  44 # define fxwrite(a,b,c,d) sim_fwrite (a, b, c, d)
  45 
  46 int32 sim_finit (void);
  47 typedef t_int64 t_offset;
  48 FILE *sim_fopen (const char *file, const char *mode);
  49 int sim_fseek (FILE *st, t_addr offset, int whence);
  50 int sim_fseeko (FILE *st, t_offset offset, int whence);
  51 int sim_set_fsize (FILE *fptr, t_addr size);
  52 int sim_set_fifo_nonblock (FILE *fptr);
  53 size_t sim_fread (void *bptr, size_t size, size_t count, FILE *fptr);
  54 size_t sim_fwrite (const void *bptr, size_t size, size_t count, FILE *fptr);
  55 uint32 sim_fsize (FILE *fptr);
  56 uint32 sim_fsize_name (const char *fname);
  57 t_offset sim_ftell (FILE *st);
  58 t_offset sim_fsize_ex (FILE *fptr);
  59 t_offset sim_fsize_name_ex (const char *fname);
  60 void sim_buf_swap_data (void *bptr, size_t size, size_t count);
  61 void sim_buf_copy_swapped (void *dptr, const void *bptr, size_t size, size_t count);
  62 extern t_bool sim_end; /* TRUE = little endian, FALSE = big endian */
  63 
  64 #endif

/* [previous][next][first][last][top][bottom][index][help] */