Clean up the code a bit:
- add $FreeBSD$; - remove unused variables; - add missing headers and prototypes; - -Wshadow.
This commit is contained in:
parent
040395f4dd
commit
2bc50aed69
@ -32,15 +32,18 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/time.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "AsyncIO.h"
|
||||
|
||||
#define FD_ISZERO(p) ((p)->fds_bits[0] == 0)
|
||||
|
||||
@ -55,11 +58,11 @@
|
||||
* Request that ``func'' be called everytime data is available on ``fd''
|
||||
*/
|
||||
|
||||
static fd_set fdset = { 0 }; /* File Descriptors to select on */
|
||||
static fd_set fdset; /* File Descriptors to select on */
|
||||
|
||||
typedef struct {
|
||||
void (*func)(void *, REGISTERS);
|
||||
/* Function to call when data arrives */
|
||||
/* Function to call on data arrival */
|
||||
void (*failure)(void *); /* Function to call on failure */
|
||||
void *arg; /* Argument to above functions */
|
||||
int lockcnt; /* Nested level of lock */
|
||||
@ -99,13 +102,11 @@ printf("%d: Invalid FD\n", fd);
|
||||
}
|
||||
|
||||
if (firsttime) {
|
||||
struct sigaction sa;
|
||||
|
||||
firsttime = 0;
|
||||
setsignal(SIGIO, HandleIO);
|
||||
}
|
||||
|
||||
if (handlers[fd].func = func) {
|
||||
if ((handlers[fd].func = func) != 0) {
|
||||
as->lockcnt = 0;
|
||||
as->arg = arg;
|
||||
as->failure = failure;
|
||||
|
@ -28,6 +28,8 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* BSDI AsyncIO.h,v 2.2 1996/04/08 19:32:12 bostic Exp
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
@ -5,6 +5,7 @@
|
||||
# use tools are included as uuencoded files.
|
||||
# To use this makefile you must have Bruce Evans bcc package installed
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
AS86 = as86
|
||||
LD86 = ld86
|
||||
|
@ -33,6 +33,7 @@
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
ParseBuffer(obuf, av, mac)
|
||||
|
@ -1,17 +1,17 @@
|
||||
/* BSDI README,v 2.2 1996/04/08 19:32:16 bostic Exp*/
|
||||
/* $FreeBSD$ */
|
||||
|
||||
This is the merged doscmd/rundos project. Please read the man
|
||||
page for help on configuring doscmd.
|
||||
|
||||
Things known not to work:
|
||||
* No mouse support (yet)
|
||||
* No ems support (yet)
|
||||
* No raw VGA support (yet)
|
||||
* Printer support (yet)
|
||||
* COM ports (being worked on)
|
||||
* redirected file system only supported for DOS 4.0 and above
|
||||
(3.3 will be supported in a future version)
|
||||
* Graphics in an X window (not planned to work)
|
||||
* Graphics in an X window (only 16 colors, very few programs)
|
||||
|
||||
Even with this, I think it is actually a much better product. There have
|
||||
been problems reported with the ibmpc font and the distributed X server.
|
||||
|
@ -64,13 +64,6 @@
|
||||
#define BIOS_date_stamp 0xffff5
|
||||
#define BIOS_hardware_id 0xffffe
|
||||
|
||||
static u_char video_parms[] = {
|
||||
0x38, 40, 0x2d, 10, 0x1f, 6, 0x19, 0x1c, 2, 7, 6, 7, 0, 0, 0, 0,
|
||||
0x71, 80, 0x5a, 10, 0x1f, 6, 0x19, 0x1c, 2, 7, 6, 7, 0, 0, 0, 0,
|
||||
0x38, 40, 0x2d, 10, 0x7f, 6, 0x64, 0x70, 2, 1, 6, 7, 0, 0, 0, 0,
|
||||
0x61, 80, 0x52, 15, 0x19, 6, 0x19, 0x19, 2, 13, 11, 12, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
static u_char disk_params[] = {
|
||||
0xdf, 2, 0x25, 2, 0x0f, 0x1b, 0xff, 0x54, 0xf6, 0x0f, 8,
|
||||
};
|
||||
@ -116,9 +109,6 @@ int12(regcontext_t *REGS)
|
||||
static void
|
||||
int15(regcontext_t *REGS)
|
||||
{
|
||||
int cond;
|
||||
int count;
|
||||
|
||||
R_FLAGS &= ~PSL_C;
|
||||
|
||||
switch (R_AH) {
|
||||
@ -277,7 +267,7 @@ bios_init(void)
|
||||
(1 << 1) | /* Math co-processor */
|
||||
(nmice << 2) | /* No pointing device */
|
||||
(2 << 4) | /* Initial video (80 x 25 C) */
|
||||
(nfloppies - 1 << 6) | /* Number of floppies - 1 */
|
||||
((nfloppies - 1) << 6) | /* Number of floppies - 1 */
|
||||
(nserial << 9) | /* Number of serial devices */
|
||||
(nparallel << 14); /* Number of parallel devices */
|
||||
|
||||
|
@ -91,7 +91,6 @@ int day_in_year [12] = {
|
||||
time_t delta_clock = 0;
|
||||
|
||||
/* locals */
|
||||
static int fast_delta_uclock;
|
||||
static struct timeval fast_clock;
|
||||
static int fast_tick;
|
||||
|
||||
|
@ -32,12 +32,18 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "com.h"
|
||||
#include "cwd.h"
|
||||
#include "tty.h"
|
||||
#include "video.h"
|
||||
|
||||
/*
|
||||
** doscmdrc parser
|
||||
@ -52,7 +58,7 @@ read_config(FILE *fp)
|
||||
int ac;
|
||||
int bootdrive = -1;
|
||||
|
||||
while (buffer = fgets(_buffer, sizeof(_buffer), fp)) {
|
||||
while ((buffer = fgets(_buffer, sizeof(_buffer), fp)) != 0) {
|
||||
char *comment = strchr(buffer, '#');
|
||||
char *equal;
|
||||
|
||||
@ -195,7 +201,6 @@ init_hard:
|
||||
int port;
|
||||
int addr;
|
||||
unsigned char irq;
|
||||
int i;
|
||||
|
||||
if ((ac != 5) || (!isdigit(av[1][3]))) {
|
||||
fprintf(stderr, "Usage: assign com[1-4] path addr irq\n");
|
||||
|
@ -42,7 +42,9 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "cwd.h"
|
||||
|
||||
#define D_REDIR 0x0080000 /* XXX - ack */
|
||||
#define D_TRAPS3 0x0200000
|
||||
@ -65,7 +67,7 @@ typedef struct Name_t {
|
||||
|
||||
#define MAX_DRIVE 26
|
||||
|
||||
static Path_t paths[MAX_DRIVE] = { 0, };
|
||||
static Path_t paths[MAX_DRIVE];
|
||||
static Name_t *names;
|
||||
|
||||
extern int diskdrive;
|
||||
@ -269,8 +271,8 @@ dos_makepath(u_char *where, u_char *newpath)
|
||||
int
|
||||
dos_setcwd(u_char *where)
|
||||
{
|
||||
u_char newpath[1024];
|
||||
u_char realpath[1024];
|
||||
u_char new_path[1024];
|
||||
u_char real_path[1024];
|
||||
int drive;
|
||||
struct stat sb;
|
||||
Path_t *d;
|
||||
@ -278,21 +280,21 @@ dos_setcwd(u_char *where)
|
||||
|
||||
debug(D_REDIR, "dos_setcwd(%s)\n", where);
|
||||
|
||||
error = dos_makepath(where, newpath);
|
||||
error = dos_makepath(where, new_path);
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
error = dos_to_real_path(newpath, realpath, &drive);
|
||||
error = dos_to_real_path(new_path, real_path, &drive);
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
if (ustat(realpath, &sb) < 0 || !S_ISDIR(sb.st_mode))
|
||||
if (ustat(real_path, &sb) < 0 || !S_ISDIR(sb.st_mode))
|
||||
return (PATH_NOT_FOUND);
|
||||
if (uaccess(realpath, R_OK | X_OK))
|
||||
if (uaccess(real_path, R_OK | X_OK))
|
||||
return (PATH_NOT_FOUND);
|
||||
|
||||
d = &paths[drive];
|
||||
d->len = ustrlen(newpath + 2);
|
||||
d->len = ustrlen(new_path + 2);
|
||||
|
||||
if (d->len + 1 > d->maxlen) {
|
||||
free(d->cwd);
|
||||
@ -300,34 +302,33 @@ dos_setcwd(u_char *where)
|
||||
d->cwd = (u_char *)malloc(d->maxlen);
|
||||
if (d->cwd == NULL)
|
||||
fatal("malloc in dos_setcwd for %c:%s: %s", drntol(drive),
|
||||
newpath, strerror(errno));
|
||||
new_path, strerror(errno));
|
||||
}
|
||||
ustrcpy(d->cwd, newpath + 2);
|
||||
ustrncpy(d->cwd, new_path + 2, d->maxlen - d->len);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Given a DOS path dospath and a drive, convert it to a BSD pathname
|
||||
* and store the result in realpath.
|
||||
* Given a DOS path dos_path and a drive, convert it to a BSD pathname
|
||||
* and store the result in real_path.
|
||||
* Return DOS errno on failure.
|
||||
*/
|
||||
int
|
||||
dos_to_real_path(u_char *dospath, u_char *realpath, int *drivep)
|
||||
dos_to_real_path(u_char *dos_path, u_char *real_path, int *drivep)
|
||||
{
|
||||
Path_t *d;
|
||||
u_char newpath[1024];
|
||||
u_char new_path[1024];
|
||||
u_char *rp;
|
||||
int error;
|
||||
u_char **dirs;
|
||||
u_char *dir;
|
||||
int drive;
|
||||
|
||||
debug(D_REDIR, "dos_to_real_path(%s)\n", dospath);
|
||||
debug(D_REDIR, "dos_to_real_path(%s)\n", dos_path);
|
||||
|
||||
if (dospath[0] != '\0' && dospath[1] == ':') {
|
||||
drive = drlton(*dospath);
|
||||
dospath++;
|
||||
dospath++;
|
||||
if (dos_path[0] != '\0' && dos_path[1] == ':') {
|
||||
drive = drlton(*dos_path);
|
||||
dos_path++;
|
||||
dos_path++;
|
||||
} else {
|
||||
drive = diskdrive;
|
||||
}
|
||||
@ -336,15 +337,15 @@ dos_to_real_path(u_char *dospath, u_char *realpath, int *drivep)
|
||||
if (d->cwd == NULL)
|
||||
return (DISK_DRIVE_INVALID);
|
||||
|
||||
ustrcpy(realpath, d->path);
|
||||
ustrcpy(real_path, d->path);
|
||||
|
||||
rp = realpath;
|
||||
rp = real_path;
|
||||
while (*rp)
|
||||
++rp;
|
||||
|
||||
ustrcpy(newpath, dospath);
|
||||
ustrncpy(new_path, dos_path, 1024 - ustrlen(new_path));
|
||||
|
||||
dirs = get_entries(newpath);
|
||||
dirs = get_entries(new_path);
|
||||
if (dirs == NULL)
|
||||
return (PATH_NOT_FOUND);
|
||||
|
||||
@ -353,7 +354,7 @@ dos_to_real_path(u_char *dospath, u_char *realpath, int *drivep)
|
||||
* There are no . or .. entries to worry about either
|
||||
*/
|
||||
|
||||
while (dir = *++dirs) {
|
||||
while ((dir = *++dirs) != 0) {
|
||||
*rp++ = '/';
|
||||
dos_to_real(dir, rp);
|
||||
while (*rp)
|
||||
@ -398,19 +399,19 @@ u_char cattr[256] = {
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
};
|
||||
|
||||
inline
|
||||
inline int
|
||||
isvalid(unsigned c)
|
||||
{
|
||||
return (cattr[c & 0xff] == 1);
|
||||
}
|
||||
|
||||
inline
|
||||
inline int
|
||||
isdot(unsigned c)
|
||||
{
|
||||
return (cattr[c & 0xff] == 3);
|
||||
}
|
||||
|
||||
inline
|
||||
inline int
|
||||
isslash(unsigned c)
|
||||
{
|
||||
return (cattr[c & 0xff] == 4);
|
||||
@ -693,6 +694,7 @@ get_entries(u_char *path)
|
||||
* Return file system statistics for drive.
|
||||
* Return the DOS errno on failure.
|
||||
*/
|
||||
int
|
||||
get_space(int drive, fsstat_t *fs)
|
||||
{
|
||||
Path_t *d;
|
||||
@ -838,9 +840,10 @@ static search_t dir_search = {dp : NULL};
|
||||
* The DTA is populated as required by DOS, but the state area is ignored.
|
||||
* Returns DOS errno on failure.
|
||||
*/
|
||||
int
|
||||
find_first(u_char *path, int attr, dosdir_t *dir, find_block_t *dta)
|
||||
{
|
||||
u_char newpath[1024], realpath[1024];
|
||||
u_char new_path[1024], real_path[1024];
|
||||
u_char *expr, *slash;
|
||||
int drive;
|
||||
int error;
|
||||
@ -848,11 +851,11 @@ find_first(u_char *path, int attr, dosdir_t *dir, find_block_t *dta)
|
||||
|
||||
debug(D_REDIR, "find_first(%s, %x, %x)\n", path, attr, dta);
|
||||
|
||||
error = dos_makepath(path, newpath);
|
||||
error = dos_makepath(path, new_path);
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
expr = newpath;
|
||||
expr = new_path;
|
||||
slash = 0;
|
||||
while (*expr != '\0') {
|
||||
if (*expr == '\\' || *expr == '/')
|
||||
@ -861,7 +864,7 @@ find_first(u_char *path, int attr, dosdir_t *dir, find_block_t *dta)
|
||||
}
|
||||
*slash++ = '\0';
|
||||
|
||||
error = dos_to_real_path(newpath, realpath, &drive);
|
||||
error = dos_to_real_path(new_path, real_path, &drive);
|
||||
if (error)
|
||||
return (error);
|
||||
|
||||
@ -871,11 +874,11 @@ find_first(u_char *path, int attr, dosdir_t *dir, find_block_t *dta)
|
||||
if (search->dp) /* stale search? */
|
||||
closedir(search->dp);
|
||||
|
||||
search->dp = opendir(realpath);
|
||||
search->dp = opendir(real_path);
|
||||
if (search->dp == NULL)
|
||||
return (PATH_NOT_FOUND);
|
||||
|
||||
ustrcpy(search->searchdir, realpath);
|
||||
ustrncpy(search->searchdir, real_path, 1024 - ustrlen(real_path));
|
||||
search->searchend = search->searchdir;
|
||||
while (*search->searchend)
|
||||
++search->searchend;
|
||||
@ -910,7 +913,7 @@ find_next(dosdir_t *dir, find_block_t *dta)
|
||||
debug(D_REDIR, "find_next()\n");
|
||||
#endif
|
||||
|
||||
while (d = readdir(search->dp)) {
|
||||
while ((d = readdir(search->dp)) != 0) {
|
||||
real_to_dos((u_char *)d->d_name, name);
|
||||
to_dos_fcb(dir->name, name);
|
||||
#if 0
|
||||
|
@ -98,18 +98,18 @@ uaccess(u_char *s, int mode)
|
||||
return(access((char *)s, mode));
|
||||
}
|
||||
|
||||
extern void init_path(int drive, u_char *base, u_char *where);
|
||||
extern void dos_makereadonly(int drive);
|
||||
extern int dos_readonly(int drive);
|
||||
extern u_char *dos_getcwd(int drive);
|
||||
extern u_char *dos_getpath(int drive);
|
||||
extern int dos_makepath(u_char *where, u_char *newpath);
|
||||
extern int dos_setcwd(u_char *where);
|
||||
extern int dos_to_real_path(u_char *dospath, u_char *realpath, int *);
|
||||
extern void real_to_dos(u_char *real, u_char *dos);
|
||||
extern void dos_to_real(u_char *dos, u_char *real);
|
||||
extern u_char **get_entries(u_char *path);
|
||||
extern int get_space(int drive, fsstat_t *fs);
|
||||
extern int find_first(u_char *path, int attr,
|
||||
dosdir_t *dir, find_block_t *dta);
|
||||
extern int find_next(dosdir_t *dir, find_block_t *dta);
|
||||
extern void init_path(int, u_char *, u_char *);
|
||||
extern void dos_makereadonly(int);
|
||||
extern int dos_readonly(int);
|
||||
extern u_char *dos_getcwd(int);
|
||||
extern u_char *dos_getpath(int);
|
||||
extern int dos_makepath(u_char *, u_char *);
|
||||
extern int dos_match(u_char *, u_char *);
|
||||
extern int dos_setcwd(u_char *);
|
||||
extern int dos_to_real_path(u_char *, u_char *, int *);
|
||||
extern void real_to_dos(u_char *, u_char *);
|
||||
extern void dos_to_real(u_char *, u_char *);
|
||||
extern u_char **get_entries(u_char *);
|
||||
extern int get_space(int, fsstat_t *);
|
||||
extern int find_first(u_char *, int, dosdir_t *, find_block_t *);
|
||||
extern int find_next(dosdir_t *, find_block_t *);
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "tty.h"
|
||||
|
||||
/* debug output goes here */
|
||||
FILE *debugf = stderr;
|
||||
@ -107,7 +108,6 @@ fatal (char *fmt, ...)
|
||||
|
||||
if (xmode) {
|
||||
char buf[1024];
|
||||
char buf2[1024];
|
||||
char *m;
|
||||
|
||||
va_start (args, fmt);
|
||||
|
@ -28,6 +28,8 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* BSDI disktab.c,v 2.2 1996/04/08 19:32:27 bostic Exp
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
/* XXX goaway (requires change to config.c) */
|
||||
|
@ -56,16 +56,16 @@ struct intfunc_table
|
||||
** that the handler listed with IFT_NOSUBFUNC should be last.
|
||||
*/
|
||||
static inline void
|
||||
intfunc_init(struct intfunc_table table[], int index[])
|
||||
intfunc_init(struct intfunc_table table[], int idx[])
|
||||
{
|
||||
int hn;
|
||||
|
||||
for (hn = 0; hn < 256; hn++) /* initialise all no-handler state */
|
||||
index[hn] = -1; /* default to no handler */
|
||||
idx[hn] = -1; /* default to no handler */
|
||||
|
||||
for (hn = 0; table[hn].func >= 0; hn++) /* walk list of handlers and add references */
|
||||
if (index[table[hn].func] == -1 ) /* reference first handler */
|
||||
index[table[hn].func] = hn;
|
||||
if (idx[table[hn].func] == -1 ) /* reference first handler */
|
||||
idx[table[hn].func] = hn;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -73,9 +73,9 @@ intfunc_init(struct intfunc_table table[], int index[])
|
||||
** described by (sc), or -1 if none exist
|
||||
*/
|
||||
static inline int
|
||||
intfunc_find(struct intfunc_table table[], int index[], int func, int subfunc)
|
||||
intfunc_find(struct intfunc_table table[], int idx[], int func, int subfunc)
|
||||
{
|
||||
int ent = index[func]; /* look for handler */
|
||||
int ent = idx[func]; /* look for handler */
|
||||
|
||||
while ((ent >= 0) && /* scan entries for function */
|
||||
(table[ent].func == func)) {
|
||||
|
@ -34,20 +34,22 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include <dirent.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/mount.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <glob.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
#include <glob.h>
|
||||
#include <paths.h>
|
||||
#include <stddef.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "cwd.h"
|
||||
#include "dispatch.h"
|
||||
#include "tty.h"
|
||||
|
||||
static u_long upcase_vector;
|
||||
|
||||
@ -143,8 +145,6 @@ upcase(u_char c)
|
||||
static void
|
||||
upcase_entry(regcontext_t *REGS)
|
||||
{
|
||||
u_char c;
|
||||
|
||||
R_AL = upcase(R_AL);
|
||||
}
|
||||
|
||||
@ -156,13 +156,7 @@ static int
|
||||
int21_free(regcontext_t *REGS)
|
||||
{
|
||||
fsstat_t fs;
|
||||
struct statfs fsstat;
|
||||
char fspath[PATH_MAX];
|
||||
int junk;
|
||||
int spc,fclus,bps,nclus;
|
||||
long nsec;
|
||||
int error;
|
||||
int dd_save;
|
||||
int drive;
|
||||
|
||||
/* work out drive */
|
||||
@ -223,8 +217,6 @@ pack_name(u_char *p, u_char *q)
|
||||
static void
|
||||
dosdir_to_dta(dosdir_t *dosdir, find_block_t *dta)
|
||||
{
|
||||
u_char *p, *q;
|
||||
|
||||
dta->attr = dosdir->attr;
|
||||
dta->time = dosdir->time;
|
||||
dta->date = dosdir->date;
|
||||
@ -444,6 +436,8 @@ static int
|
||||
int21_00(regcontext_t *REGS)
|
||||
{
|
||||
done(REGS,0);
|
||||
/* keep `gcc -Wall' happy */
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -456,7 +450,7 @@ int21_01(regcontext_t *REGS)
|
||||
{
|
||||
int n;
|
||||
|
||||
if ((n = tty_read(®S->sc, TTYF_BLOCKALL)) >= 0)
|
||||
if ((n = tty_read((regcontext_t *)®S->sc, TTYF_BLOCKALL)) >= 0)
|
||||
R_AL = n;
|
||||
return(0);
|
||||
}
|
||||
@ -487,7 +481,7 @@ int21_06(regcontext_t *REGS)
|
||||
|
||||
/* XXX - should be able to read a file */
|
||||
if (R_DL == 0xff) {
|
||||
n = tty_read(®S->sc, TTYF_ECHO|TTYF_REDIRECT);
|
||||
n = tty_read((regcontext_t *)®S->sc, TTYF_ECHO|TTYF_REDIRECT);
|
||||
if (n < 0) {
|
||||
R_FLAGS |= PSL_Z; /* nothing available */
|
||||
R_AL = 0;
|
||||
@ -511,7 +505,8 @@ int21_06(regcontext_t *REGS)
|
||||
static int
|
||||
int21_07(regcontext_t *REGS)
|
||||
{
|
||||
R_AL = tty_read(®S->sc, TTYF_BLOCK|TTYF_REDIRECT) & 0xff;
|
||||
R_AL = tty_read((regcontext_t *)®S->sc,
|
||||
TTYF_BLOCK|TTYF_REDIRECT) & 0xff;
|
||||
return(0);
|
||||
}
|
||||
|
||||
@ -525,7 +520,8 @@ int21_08(regcontext_t *REGS)
|
||||
{
|
||||
int n;
|
||||
|
||||
if ((n = tty_read(®S->sc, TTYF_BLOCK|TTYF_CTRL|TTYF_REDIRECT)) >= 0)
|
||||
if ((n = tty_read((regcontext_t *)®S->sc,
|
||||
TTYF_BLOCK|TTYF_CTRL|TTYF_REDIRECT)) >= 0)
|
||||
R_AL = n;
|
||||
return(0);
|
||||
}
|
||||
@ -579,7 +575,8 @@ int21_0a(regcontext_t *REGS)
|
||||
|
||||
/* read loop */
|
||||
while (1) {
|
||||
n = tty_read(®S->sc, TTYF_BLOCK|TTYF_CTRL|TTYF_REDIRECT);
|
||||
n = tty_read((regcontext_t *)®S->sc,
|
||||
TTYF_BLOCK|TTYF_CTRL|TTYF_REDIRECT);
|
||||
if (n < 0) /* end of input */
|
||||
n = '\r'; /* make like CR */
|
||||
|
||||
@ -1271,9 +1268,8 @@ int21_3e(regcontext_t *REGS)
|
||||
static int
|
||||
int21_3f(regcontext_t *REGS)
|
||||
{
|
||||
int fd;
|
||||
char *addr;
|
||||
int nbytes,n;
|
||||
int n;
|
||||
int avail;
|
||||
|
||||
addr = (char *)MAKEPTR(R_DS, R_DX);
|
||||
@ -1540,6 +1536,7 @@ static int
|
||||
int21_44_9(regcontext_t *REGS)
|
||||
{
|
||||
R_DX = 0x1200; /* disk is remote, direct I/O not allowed */
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1789,12 +1786,12 @@ static int
|
||||
int21_57_0(regcontext_t *REGS)
|
||||
{
|
||||
struct stat sb;
|
||||
u_short date,time;
|
||||
u_short date, mtime;
|
||||
|
||||
if (fstat(R_BX, &sb) < 0)
|
||||
return (HANDLE_INVALID);
|
||||
encode_dos_file_time(sb.st_mtime, &date, &time);
|
||||
R_CX = time;
|
||||
encode_dos_file_time(sb.st_mtime, &date, &mtime);
|
||||
R_CX = mtime;
|
||||
R_DX = date;
|
||||
return(0);
|
||||
}
|
||||
@ -1951,6 +1948,7 @@ static int
|
||||
int21_62(regcontext_t *REGS)
|
||||
{
|
||||
R_BX = pspseg;
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2052,6 +2050,8 @@ setfcb_rec(struct fcb *fcbp, int n)
|
||||
fcbp->fcbRandomRecNo = total;
|
||||
fcbp->fcbCurRecNo = total % 128;
|
||||
fcbp->fcbCurBlockNo = total / 128;
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
void
|
||||
@ -2491,12 +2491,12 @@ static void
|
||||
int21(regcontext_t *REGS)
|
||||
{
|
||||
int error;
|
||||
int index;
|
||||
int idx;
|
||||
|
||||
/* look for a handler */
|
||||
index = intfunc_find(int21_table, int21_fastlookup, R_AH, R_AL);
|
||||
idx = intfunc_find(int21_table, int21_fastlookup, R_AH, R_AL);
|
||||
|
||||
if (index == -1) { /* no matching functions */
|
||||
if (idx == -1) { /* no matching functions */
|
||||
unknown_int3(0x21, R_AH, R_AL, REGS);
|
||||
R_FLAGS |= PSL_C; /* Flag an error */
|
||||
R_AX = 0xff;
|
||||
@ -2504,9 +2504,9 @@ int21(regcontext_t *REGS)
|
||||
}
|
||||
|
||||
/* call the handler */
|
||||
error = int21_table[index].handler(REGS);
|
||||
error = int21_table[idx].handler(REGS);
|
||||
debug(D_DOSCALL, "msdos call %02x (%s) returns %d (%s)\n",
|
||||
int21_table[index].func, int21_table[index].desc, error,
|
||||
int21_table[idx].func, int21_table[idx].desc, error,
|
||||
((error >= 0) && (error <= dos_ret_size)) ? dos_return[error] : "unknown");
|
||||
|
||||
if (error) {
|
||||
@ -2542,7 +2542,6 @@ void
|
||||
dos_init(void)
|
||||
{
|
||||
u_long vec;
|
||||
int hn;
|
||||
|
||||
/* hook vectors */
|
||||
vec = insert_softint_trampoline();
|
||||
|
@ -441,7 +441,6 @@ ems_entry(regcontext_t *REGS)
|
||||
*/
|
||||
case PAGE_MAP_PARTIAL:
|
||||
{
|
||||
u_long addr;
|
||||
int subfunction;
|
||||
EMScontext *src, *dest;
|
||||
|
||||
@ -1077,7 +1076,6 @@ ems_entry(regcontext_t *REGS)
|
||||
R_AH = EMS_FUNCTION_DISABLED;
|
||||
break;
|
||||
|
||||
unknown:
|
||||
default:
|
||||
debug(D_ALWAYS, "EMS: Unknown function called: %02x\n", R_AH);
|
||||
R_AH = EMS_FUNC_NOSUP;
|
||||
@ -1095,7 +1093,7 @@ init_mapfile()
|
||||
|
||||
/* Sanity */
|
||||
if (ems_max_size == 0)
|
||||
return;
|
||||
return 0;
|
||||
strcpy(path, EMS_MAP_PATH);
|
||||
strcat(path, EMS_MAP_FILE);
|
||||
|
||||
@ -1251,6 +1249,8 @@ find_next_free_handle()
|
||||
return (i);
|
||||
}
|
||||
fatal("EMS handle count garbled, should not happen\n");
|
||||
/* quiet 'gcc -Wall' */
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* Look for a named handle, returns 0 if not found, else handle */
|
||||
|
@ -1,3 +1,5 @@
|
||||
$FreeBSD$
|
||||
|
||||
begin 644 emsdriv.sys
|
||||
M_____P#`.`!#`$5-35A86%@P````````M`"``(``@`"``(``@`"``(``@`"`
|
||||
M`(``@`"``(``@``NB1X2`"Z,!A0`RU!345(>!E=650X?Q#X2`":*70(P_X/[
|
||||
|
@ -31,10 +31,13 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/uio.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
|
||||
/* exports */
|
||||
@ -45,7 +48,6 @@ int curpsp = 0;
|
||||
static int psp_s[10] = { 0 };
|
||||
static int env_s[10];
|
||||
static regcontext_t frames[10];
|
||||
static char *env_block;
|
||||
|
||||
static int
|
||||
make_environment (char *cmdname, char **env)
|
||||
@ -363,12 +365,6 @@ load_overlay(int fd, int start_segment, int reloc_segment)
|
||||
load_exe(fd, start_segment, reloc_segment, &hdr, text_size);
|
||||
}
|
||||
|
||||
static int
|
||||
get_psp(void)
|
||||
{
|
||||
return(psp_s[curpsp]);
|
||||
}
|
||||
|
||||
int
|
||||
get_env(void)
|
||||
{
|
||||
|
@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License
|
||||
along with GDB; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* $FreeBSD$ */
|
||||
|
||||
/*
|
||||
* 80386 instruction printer by Pace Willisson (pace@prep.ai.mit.edu)
|
||||
* July 1988
|
||||
@ -36,6 +38,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
|
||||
static void dofloat(void);
|
||||
static void oappend(char *);
|
||||
static void putop(char *);
|
||||
|
||||
#define Eb OP_E, b_mode
|
||||
#define indirEb OP_indirE, b_mode
|
||||
#define Gb OP_G, b_mode
|
||||
@ -845,7 +853,8 @@ struct dis386 grps[][8] = {
|
||||
|
||||
static int prefixes;
|
||||
|
||||
ckprefix ()
|
||||
static void
|
||||
ckprefix(void)
|
||||
{
|
||||
prefixes = 0;
|
||||
while (1)
|
||||
@ -914,6 +923,7 @@ static unsigned long start_pc;
|
||||
* 100 bytes is certainly enough, unless symbol printing is added later
|
||||
* The function returns the length of this instruction in bytes.
|
||||
*/
|
||||
int
|
||||
i386dis (ucs, uip, inbuf, outbuf, mode)
|
||||
unsigned short ucs;
|
||||
unsigned short uip;
|
||||
@ -921,7 +931,6 @@ i386dis (ucs, uip, inbuf, outbuf, mode)
|
||||
char *outbuf;
|
||||
{
|
||||
struct dis386 *dp;
|
||||
char *p;
|
||||
int i;
|
||||
int enter_instruction;
|
||||
char *first, *second, *third;
|
||||
@ -1287,6 +1296,7 @@ char *fgrps[][8] = {
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
dofloat ()
|
||||
{
|
||||
struct dis386 *dp;
|
||||
@ -1338,8 +1348,9 @@ OP_STi (ignore)
|
||||
|
||||
|
||||
/* capital letters in template are macros */
|
||||
static void
|
||||
putop (template)
|
||||
char *template;
|
||||
char *template;
|
||||
{
|
||||
char *p;
|
||||
|
||||
@ -1370,8 +1381,8 @@ putop (template)
|
||||
*obufp = 0;
|
||||
}
|
||||
|
||||
oappend (s)
|
||||
char *s;
|
||||
static void
|
||||
oappend(char *s)
|
||||
{
|
||||
strcpy (obufp, s);
|
||||
obufp += strlen (s);
|
||||
|
@ -32,9 +32,12 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
|
||||
#define FDCHANGED _IOR('F', 64, int)
|
||||
|
||||
@ -108,7 +111,7 @@ cylsize(struct diskinfo *di)
|
||||
static u_long ftable = 0xF1000; /* Floppy table */
|
||||
static u_long htable = 0xF1020; /* Hard disk table */
|
||||
|
||||
static struct diskinfo diskinfo[26] = { 0 };
|
||||
static struct diskinfo diskinfo[26];
|
||||
|
||||
static struct diskinfo floppyinfo[] = {
|
||||
{ 0, 9, 40, 1, 512, -1, 0, 0, }, /* Probably not correct */
|
||||
@ -324,7 +327,7 @@ init_hdisk(int drive, int cyl, int head, int tracksize, char *file, char *fake_p
|
||||
return(drive);
|
||||
}
|
||||
|
||||
static inline
|
||||
static inline int
|
||||
bps(int size)
|
||||
{
|
||||
switch (size) {
|
||||
@ -336,6 +339,8 @@ bps(int size)
|
||||
fprintf(stderr, "Invalid sector size: %d\n", size);
|
||||
quit(1);
|
||||
}
|
||||
/* keep `gcc -Wall' happy */
|
||||
return(0);
|
||||
}
|
||||
|
||||
int
|
||||
@ -441,8 +446,6 @@ search_floppy(int i)
|
||||
return(i < nfloppies ? diskinfo[i].type : 0);
|
||||
}
|
||||
|
||||
static int icnt = 0;
|
||||
|
||||
#define seterror(err) { \
|
||||
if (drive & 0x80) \
|
||||
hd_status = err; \
|
||||
|
@ -35,9 +35,13 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
#include <termios.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "com.h"
|
||||
|
||||
struct com_data_struct com_data[N_COMS_MAX];
|
||||
@ -53,9 +57,7 @@ int write_div_latches() {}
|
||||
void
|
||||
int14(regcontext_t *REGS)
|
||||
{
|
||||
int reg_num;
|
||||
struct com_data_struct *cdsp;
|
||||
int i;
|
||||
int nbytes;
|
||||
char c;
|
||||
|
||||
@ -142,12 +144,8 @@ int14(regcontext_t *REGS)
|
||||
void
|
||||
com_set_line(struct com_data_struct *cdsp, unsigned char port, unsigned char param)
|
||||
{
|
||||
struct termios tty;
|
||||
struct stat stat_buf;
|
||||
int mode = 0; /* read|write */
|
||||
int speed;
|
||||
int reg_num;
|
||||
int ret_val;
|
||||
|
||||
debug (D_PORT, "com_set_line: cdsp = 0x%08X, port = 0x%04x,"
|
||||
"param = 0x%04X.\n", cdsp, port, param);
|
||||
@ -409,7 +407,7 @@ com_port_out(int port, unsigned char val)
|
||||
write_div_latches(cdsp);
|
||||
} else {
|
||||
errno = 0;
|
||||
nbytes = write(cdsp->fd, val, 1);
|
||||
nbytes = write(cdsp->fd, &val, 1);
|
||||
debug (D_PORT, "write of 0x%02x to fd %d on '%s' returned %d errno %d\n",
|
||||
val, cdsp->fd, cdsp->path, nbytes, errno);
|
||||
if (nbytes != 1)
|
||||
|
@ -33,6 +33,7 @@
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "tty.h"
|
||||
|
||||
#define K_NEXT *(u_short *)0x41a
|
||||
#define K_FREE *(u_short *)0x41c
|
||||
@ -77,8 +78,6 @@ sleep_poll(void)
|
||||
void
|
||||
int16(regcontext_t *REGS)
|
||||
{
|
||||
int c;
|
||||
|
||||
if (!xmode && !raw_kbd) {
|
||||
if (vflag) dump_regs(REGS);
|
||||
fatal ("int16 func 0x%x only supported in X mode\n", R_AH);
|
||||
|
@ -32,9 +32,13 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
#include <paths.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
|
||||
static int lpt_fd[4] = { -1, -1, -1, -1, };
|
||||
static FILE *lpt_file[4] = { 0, 0, 0, 0};
|
||||
@ -44,17 +48,13 @@ static int timeout[4] = { 30, 30, 30, 30 };
|
||||
static int last_poll[4] = { 0, 0, 0, 0};
|
||||
static int last_count[4] = { 0, 0, 0, 0};
|
||||
static int current_count[4] = { 0, 0, 0, 0};
|
||||
static int alarm_active[4] = { 0, 0, 0, 0};
|
||||
static int alarm_set = 0;
|
||||
|
||||
static void open_printer(int printer);
|
||||
|
||||
void
|
||||
int17(regcontext_t *REGS)
|
||||
{
|
||||
char printer_name[20];
|
||||
int fd;
|
||||
int p;
|
||||
u_char c;
|
||||
|
||||
switch (R_AH) {
|
||||
@ -133,7 +133,7 @@ open_printer(int printer)
|
||||
* if printer is direct then open output device.
|
||||
*/
|
||||
if (direct[printer]) {
|
||||
if (p = queue[printer]) {
|
||||
if ((p = queue[printer]) != 0) {
|
||||
if ((fd = open(p, O_WRONLY|O_APPEND|O_CREAT, 0666)) < 0) {
|
||||
perror(p);
|
||||
return;
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "dispatch.h"
|
||||
#include "tty.h"
|
||||
|
||||
/*
|
||||
** Multiplex interrupt.
|
||||
@ -52,6 +53,7 @@ int2f_printer(regcontext_t *REGS)
|
||||
{
|
||||
debug (D_FILE_OPS, "Called printer function 0x%02x", R_AH);
|
||||
R_AL = FUNC_NUM_IVALID;
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -155,13 +157,13 @@ static struct intfunc_table int2f_table[] = {
|
||||
void
|
||||
int2f(regcontext_t *REGS)
|
||||
{
|
||||
int index;
|
||||
int idx;
|
||||
|
||||
/* look up the handler for the current function */
|
||||
index = intfunc_search(int2f_table, R_AH, R_AL);
|
||||
idx = intfunc_search(int2f_table, R_AH, R_AL);
|
||||
|
||||
if (index >= 0) { /* respond on multiplex chain */
|
||||
int2f_table[index].handler(REGS);
|
||||
if (idx >= 0) { /* respond on multiplex chain */
|
||||
int2f_table[idx].handler(REGS);
|
||||
} else {
|
||||
unknown_int2(0x2f, R_AH, REGS);
|
||||
}
|
||||
|
@ -32,10 +32,12 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include <sys/param.h>
|
||||
#include <ctype.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "cwd.h"
|
||||
#include "dispatch.h"
|
||||
|
||||
static LOL *lol = 0; /* DOS list-of-lists */
|
||||
@ -695,17 +697,15 @@ int2f11_validate(regcontext_t *REGS)
|
||||
int
|
||||
int2f_11(regcontext_t *REGS)
|
||||
{
|
||||
int index;
|
||||
int idx;
|
||||
int error;
|
||||
char *fname;
|
||||
|
||||
|
||||
if (!sda) { /* not initialised yet */
|
||||
error = FUNC_NUM_IVALID;
|
||||
} else {
|
||||
|
||||
index = intfunc_find(int2f11_table, int2f11_fastlookup, R_AL, 0);
|
||||
if (index == -1) {
|
||||
idx = intfunc_find(int2f11_table, int2f11_fastlookup, R_AL, 0);
|
||||
if (idx == -1) {
|
||||
debug(D_ALWAYS,"no handler for int2f:11:%x\n", R_AL);
|
||||
return(0);
|
||||
}
|
||||
@ -716,9 +716,9 @@ int2f_11(regcontext_t *REGS)
|
||||
error = -1; /* not handled by us */
|
||||
} else {
|
||||
debug(D_REDIR, "REDIR: %02x (%s)\n",
|
||||
int2f11_table[index].func, int2f11_table[index].desc);
|
||||
int2f11_table[idx].func, int2f11_table[idx].desc);
|
||||
/* call the handler */
|
||||
error = int2f11_table[index].handler(REGS);
|
||||
error = int2f11_table[idx].handler(REGS);
|
||||
if (error != -1)
|
||||
debug(D_REDIR, "REDIR: returns %d (%s)\n",
|
||||
error, ((error >= 0) && (error <= dos_ret_size)) ? dos_return[error] : "unknown");
|
||||
@ -782,7 +782,7 @@ init_drives(void)
|
||||
|
||||
/* for all possible drives */
|
||||
for (drive = 0; drive < 26; ++drive) {
|
||||
if (path = dos_getpath(drive)) /* assigned to a path? */
|
||||
if ((path = dos_getpath(drive)) != 0) /* assigned to a path? */
|
||||
install_drive(drive, path); /* make it visible to DOS */
|
||||
}
|
||||
}
|
||||
|
@ -224,7 +224,6 @@ int
|
||||
mem_adjust(int addr, int size, int *availp)
|
||||
{
|
||||
char *mp;
|
||||
int delta, nxtsiz;
|
||||
|
||||
debug(D_MEMORY, "%04x: adjust(%05x)\n", addr, size);
|
||||
addr <<= 4;
|
||||
|
@ -37,7 +37,7 @@
|
||||
|
||||
mouse_t mouse_status;
|
||||
u_char *mouse_area = 0;
|
||||
int nmice = 0;
|
||||
int nmice = 1;
|
||||
|
||||
static void
|
||||
mouse_probe(void)
|
||||
@ -49,7 +49,6 @@ int33(regcontext_t *REGS)
|
||||
{
|
||||
u_long vec;
|
||||
u_short mask;
|
||||
void *addr;
|
||||
int i;
|
||||
|
||||
if (!nmice) {
|
||||
@ -145,8 +144,6 @@ int33(regcontext_t *REGS)
|
||||
mouse_probe();
|
||||
R_CX = mouse_status.x - mouse_status.lastx;
|
||||
R_DX = mouse_status.y - mouse_status.lasty;
|
||||
mouse_status.lastx - mouse_status.x;
|
||||
mouse_status.lasty - mouse_status.y;
|
||||
break;
|
||||
|
||||
case 0x0c: /* Set event handler */
|
||||
@ -231,7 +228,7 @@ int33(regcontext_t *REGS)
|
||||
mouse_status.doubling = R_DX;
|
||||
break;
|
||||
|
||||
case 0x1b: /* set mouse sensitivity */
|
||||
case 0x1b: /* get mouse sensitivity */
|
||||
R_BX = mouse_status.hmickey;
|
||||
R_CX = mouse_status.vmickey;
|
||||
R_DX = mouse_status.doubling;
|
||||
|
@ -32,15 +32,15 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <machine/sysarch.h>
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "tty.h"
|
||||
|
||||
#define MINPORT 0x000
|
||||
#define MAXPORT_MASK (MAXPORT - 1)
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <machine/sysarch.h>
|
||||
static int consfd = -1;
|
||||
|
||||
#define in(port) \
|
||||
({ \
|
||||
register int _inb_result; \
|
||||
|
@ -1,3 +1,5 @@
|
||||
$FreeBSD$
|
||||
|
||||
begin 644 redir.com
|
||||
MM%+-(7(TB1Y*`8S`HTP!'K@&7<TAC-@?<B")-DX!HU`!4+0!BQ9*`8L>3`&+
|
||||
M-DX!BSY0`<W_,,#K";0)NE(!S2&P`;1,S2&0D/0``````````$5R<F]R(&EN
|
||||
|
@ -33,6 +33,7 @@
|
||||
*/
|
||||
|
||||
#include "doscmd.h"
|
||||
#include "trap.h"
|
||||
|
||||
static void (*handler[NSIG])(struct sigframe *);
|
||||
static char signal_stack[16 * 1024];
|
||||
|
@ -183,7 +183,7 @@ tracetrap(regcontext_t *REGS)
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
inline void
|
||||
showstate(long flags, long flag, char f)
|
||||
{
|
||||
putc((flags & flag) ? f : ' ', debugf);
|
||||
|
@ -81,3 +81,17 @@
|
||||
#define AC_EXC 0x0c00 /* Execute Only Conforming */
|
||||
#define AC_EXRC 0x0e00 /* Execute Readable Conforming */
|
||||
#define AC_A 0x0100 /* Accessed */
|
||||
|
||||
extern void fake_int(regcontext_t *REGS, int);
|
||||
extern void sigtrap(struct sigframe *sf);
|
||||
extern void sigtrace(struct sigframe *sf);
|
||||
extern void sigalrm(struct sigframe *sf);
|
||||
extern void sigill(struct sigframe *sf);
|
||||
extern void sigfpe(struct sigframe *sf);
|
||||
extern void sigsegv(struct sigframe *sf);
|
||||
extern void breakpoint(struct sigframe *sf);
|
||||
#ifdef USE_VM86
|
||||
extern void sigurg(struct sigframe *sf);
|
||||
#else
|
||||
extern void sigbus(struct sigframe *sf);
|
||||
#endif
|
||||
|
@ -98,8 +98,6 @@ static void merge_blocks();
|
||||
void
|
||||
xms_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Initialize handle table: xms_handle.addr == 0 means free */
|
||||
bzero((void *)xms_hand, sizeof(XMS_handle) * NUM_HANDLES);
|
||||
xms_free_mem = xms_maxsize;
|
||||
@ -318,7 +316,6 @@ create_block(u_long addr, u_long size)
|
||||
|
||||
void initHMA()
|
||||
{
|
||||
caddr_t add;
|
||||
int mfd;
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user