#include <sys/param.h>
#include <m68k/frame.h>
#include <lib/libsa/stand.h>
#define NSCSI 2
#define MHZ_8 1
#define MHZ_16 2
#define MHZ_25 3
#define MHZ_33 4
#define MHZ_50 6
struct consdev;
struct frame;
typedef struct label_t {
int val[15];
} label_t;
void find_devs(void);
extern const int dev2adpt[];
char awaitkey(const char *, int, bool);
void bmccnprobe(struct consdev *);
void bmccninit(struct consdev *);
int bmccngetc(dev_t);
void bmccnputc(dev_t, int);
void bmdinit(void);
int bmdputc(int);
void bmdadjust(int16_t, int16_t);
void bmdclear(void);
int boot(int, char **);
int bootnetbsd(char *, int);
void cninit(void);
int cngetc(void);
void cnputc(int);
int make_device(const char *, int *, int *, int *, char **);
extern uint8_t lbl_buff[];
int disklabel(int, char **);
extern const uint16_t bmdfont[][20];
int fsdump(int, char **);
int fsrestore(int, char **);
int getline(const char *, char *);
int leinit(int, void *);
extern int cpuspeed;
extern int hz;
extern int nplane;
extern int machtype;
extern char default_file[];
extern const char *default_bootdev;
extern int default_unit;
int kbd_decode(uint8_t);
void *lance_attach(int, void *, void *, uint8_t *);
void *lance_cookie(int);
uint8_t *lance_eaddr(void *);
bool lance_init(void *);
int lance_get(void *, void *, size_t);
bool lance_put(void *, void *, size_t);
bool lance_end(void *);
int lance_intr(void);
extern int dipsw1, dipsw2;
extern int cputype;
extern volatile uint32_t tick;
int setjmp(label_t *);
int splhigh(void);
void splx(int);
int getsfc(void);
int getdfc(void);
int spl0(void);
int spl1(void);
int spl2(void);
int spl3(void);
int spl4(void);
int spl5(void);
int spl6(void);
int cmd_ls(int, char **);
void straytrap(int);
int badaddr(volatile void *);
void regdump(int *, int);
char *hexstr(int, int);
int tgetchar(void);
int check_args(int, char **);
int exit_program(int, char **);
int parse(int, char **);
int getargs(char *, char **, int);
void romcnprobe(struct consdev *);
void romcninit(struct consdev *);
int romcngetc(dev_t);
void romcnputc(dev_t, int);
int scinit(int, void *);
struct scsi_inquiry;
bool scident(uint, uint, uint, struct scsi_inquiry *, uint32_t *);
struct scsi_generic_cdb;
int scsi_immed_command(int, int, int, struct scsi_generic_cdb *, uint8_t *,
unsigned int);
int scsi_request_sense(int, int, int, uint8_t *, unsigned int);
int scsi_test_unit_rdy(int, int, int);
int scsi_format_unit(int, int, int);
int scintr(void);
int scsi(int, char **);
int scsi_read_raw(u_int, u_int, u_int, uint8_t *, u_int);
int scsi_read(u_int, uint8_t *, u_int);
int scsi_write(u_int, uint8_t *, u_int);
int screen(int, char **);
int scsi(int, char **);
int sdstrategy(void *, int, daddr_t, size_t, void *, size_t *);
int sdopen(struct open_file *, ...);
int sdclose(struct open_file *);
void _siointr(void);
void siocnprobe(struct consdev *);
void siocninit(struct consdev *);
int siocngetc(dev_t);
void siocnputc(dev_t, int);
void sioinit(void);
int tape(int, char **);
void trap(int, unsigned int, unsigned int, struct frame);
char *readdisklabel(int, int, struct disklabel *);
#define UNIT(ctlr, target) ((ctlr) * 10 + (target))
#define CTLR(unit) ((unit) / 10)
#define TARGET(unit) ((unit) % 10)
#define DELAY(n) \
do { \
register int __N = cpuspeed * (n); \
do { \
__asm("subql #1, %0" : "=r" (__N) : "0" (__N)); \
} while (__N > 0); \
} while ( 0)
extern struct fs_ops file_system_disk[];
extern int nfsys_disk;
extern struct fs_ops file_system_nfs[];
extern const char bootprog_name[], bootprog_rev[], bootprog_kernrev[];