/* * $Id: fconsvar.h,v 1.9 2008/01/11 15:36:01 nbrk Exp $ */ #ifndef _DEV_FCONS_FCONSVAR_H #define _DEV_FCONS_FCONSVAR_H #include #include #define FCONS_WIDTH 80 #define FCONS_HEIGHT 25 struct fcons_handle { void *fh_ownerdd; /* similar to bh_ownerdd in bus_handle; XXX kill this cause it is ugly */ char (*getc)(void *); void (*putc)(void *, char); }; struct fcons_char { char fc_char; // struct fcons_char *fc_next; SIMPLEQ_ENTRY(fcons_char) fc_next; }; struct fcons_dd { /* current cursor position */ uint8_t fd_currow; uint8_t fd_curcol; /* input queue */ // struct fcons_char *fd_iqueue; SIMPLEQ_HEAD(head, fcons_char) fd_iqhead; uint32_t fd_iqlength; struct fcons_handle *fd_fh; }; int fcons_devctl(struct device *devp, uint8_t ctl, void *data); char fcons_getchar(void *ddp); void fcons_putchar(void *ddp, char ch); /* devctl stuff */ #define DCFCONS_GETCURROW 0 #define DCFCONS_GETCURCOL 1 #define DCFCONS_PUTCHAR 2 #define DCFCONS_GETCHAR 3 #endif /* _DEV_FCONS_FCONSVAR_H */