=================================================================== RCS file: /cvs/funnyos/dev/fcons/fconsvar.h,v retrieving revision 1.4 retrieving revision 1.9 diff -u -r1.4 -r1.9 --- funnyos/dev/fcons/fconsvar.h 2007/10/16 21:51:32 1.4 +++ funnyos/dev/fcons/fconsvar.h 2008/01/11 15:36:01 1.9 @@ -1,22 +1,15 @@ /* - * $Id: fconsvar.h,v 1.4 2007/10/16 20:51:32 init Exp $ + * $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 -#define NFCONS 1 -struct fcons_devdata { - /* current cursor position */ - uint8_t currow; - uint8_t curcol; - -}; - - struct fcons_handle { void *fh_ownerdd; /* similar to bh_ownerdd in bus_handle; XXX kill this cause it is ugly */ @@ -25,13 +18,30 @@ }; -int fcons_devctl(struct device *devp, uint8_t ctl, void *data); -char fcons_getchar(struct device *devp); -void fcons_putchar(struct device *devp, char ch); +struct fcons_char { + char fc_char; +// struct fcons_char *fc_next; + SIMPLEQ_ENTRY(fcons_char) fc_next; +}; -/* XXX */ -//#define putchar(x) fcons_putchar() +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