[BACK]Return to fconsvar.h CVS log [TXT][DIR] Up to [local] / funnyos / dev / fcons

File: [local] / funnyos / dev / fcons / fconsvar.h (download)

Revision 1.9, Fri Jan 11 15:36:01 2008 UTC (16 years, 3 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 */