Bug fixes and compiler warnings. Unix readline support, pass 1

Fix various compiler warnings.

Fix bug causing double free when a file isn't found.

Fix bug using uninitialized variable parsing null filename.

Fix bug causing crash when format 3 retrieval pointer encountered.

Add support for readline (command line editing and history on Unix)

Untangle NT I/O so it builds without the direct access SCSI API & works.

Report errors as text messages everywhere.

Add MSVC project files.

Implement most of dir/full

Partially implement XABITM

Add help to command tables.

Allow choice of VMS qualifiers or Unix options.
  mount /write // /dev/cdrom
or
  mount -write /dev/cdrom

Parse quoted strings as command parameters.
   Mount /write "/dev/cdrom"
   search [*...]*.txt "My words for you"

Resolve command, parameter & qualifier ambiguity from tables.

Consolidate the various makefiles into a common file with very small
platform-specific wrappers.  This simplifies maintenance.

Add diskio module to allow easy access to .iso images and simulator files.
Removes requirement for loop device or equivalent.  Builds as a separate
executable.

Writes to the ODS2 volumes are broken.
This commit is contained in:
Timothe Litt
2016-02-26 17:46:46 -05:00
parent 3b052a6aa6
commit 61c8001044
38 changed files with 3289 additions and 2269 deletions

View File

@@ -1,4 +1,7 @@
/* Phyio.h v1.2-2 Definition of Physical I/O routines */
#ifndef PHYIO_H
#define PHYIO_H
/* Phyio.h v1.2-2 Definition of Physical I/O routines */
/*
This is part of ODS2 written by Paul Nankervis,
@@ -30,11 +33,13 @@
*/
#include <stdio.h>
#define PHYIO_READONLY 1
struct phyio_info {
unsigned status;
unsigned sectors;
unsigned long long sectors;
unsigned sectorsize;
};
@@ -42,3 +47,6 @@ void phyio_show(void);
unsigned phyio_init(int devlen,char *devnam,unsigned *handle,struct phyio_info *info);
unsigned phyio_read(unsigned handle,unsigned block,unsigned length,char *buffer);
unsigned phyio_write(unsigned handle,unsigned block,unsigned length,char *buffer);
void phyio_help(FILE *fp );
#endif