/*
 * binfio.h     Copyright 1985   Landon M. Dyer
 *
 * Minor mods for Amiga, DBUG macros    19Apr86  edb
 */

#include <stdio.h>
#include "convert.h"

#ifdef DBUG
#include <local/dbug.h>
#else
#include "dbugstubs.h"
#endif

#define READ    0
#define WRITE   1

ebinopen(name, mode)
char *name;
int mode;
{
        int fn;

		DBUG_ENTER("ebinopen");

        if((fn = binopen(name, mode)) != -1)
			DBUG_RETURN(fn);
        fprintf(stderr, "Cannot %s: %s\n",
                mode == 1 ? "create" : "open",
                name);
        exit(1);
		/*NOTREACHED*/
		DBUG_RETURN(-1);
}


binopen(name, mode)
char *name;
int mode;
{
		int retval;

		DBUG_ENTER("binopen");
#if MACHINE == VAXVMS
        if(mode == WRITE)
			retval = creat(name, 0666);
        else
			retval = open(name, mode);
#endif

#if MACHINE == MSDOS
#define UNCOOKED 0x8000         /* pure binary i/o */
        if(mode == WRITE)
			retval = creat(name, 0666 | UNCOOKED);
        else
			retval = open(name, mode | UNCOOKED);
#endif

#if MACHINE == Amiga
		if(mode == WRITE)
			retval = creat(name, 0666);
		else
			retval = open(name, mode);
#endif

#if MACHINE == UNIX42
))))) force-compiler-error
#endif

#if MACHINE == SYSV
))))) force-compiler-error
#endif

		DBUG_RETURN(retval);
}
