File: [local] / funnyos / dev / fcons / fconsvar.h (download)
Revision 1.9, Fri Jan 11 15:36:01 2008 UTC (16 years, 5 months ago) by nbrk
Branch: MAIN
CVS Tags: HEAD Changes since 1.8: +16 -1 lines
incomplete fcons_enqueue implementation;
all things is missing until i figure out how to deal with htese beaty
QUEUES
|
/*
* $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 <sys/types.h>
#include <libkern/queue.h>
#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 */