Contiki 2.6

libconio.h

00001 /*
00002  * Copyright (c) 2002, Adam Dunkels.
00003  * All rights reserved. 
00004  *
00005  * Redistribution and use in source and binary forms, with or without 
00006  * modification, are permitted provided that the following conditions 
00007  * are met: 
00008  * 1. Redistributions of source code must retain the above copyright 
00009  *    notice, this list of conditions and the following disclaimer. 
00010  * 2. Redistributions in binary form must reproduce the above
00011  *    copyright notice, this list of conditions and the following
00012  *    disclaimer in the documentation and/or other materials provided
00013  *    with the distribution. 
00014  * 3. The name of the author may not be used to endorse or promote
00015  *    products derived from this software without specific prior
00016  *    written permission.  
00017  *
00018  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
00019  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00020  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
00022  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00023  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
00024  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00025  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00026  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00027  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00028  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
00029  *
00030  * This file is part of the Contiki desktop environment
00031  *
00032  * $Id: libconio.h,v 1.2 2008/10/15 14:17:28 nvt-se Exp $
00033  *
00034  */
00035 
00036 #ifndef __LIBCONIO_H__
00037 #define __LIBCONIO_H__
00038 
00039 /* This function must be implemented specifically for the
00040    architecture: */
00041 void ctk_arch_draw_char(char c,
00042                         unsigned char xpos,
00043                         unsigned char ypos,
00044                         unsigned char reversedflag,
00045                         unsigned char color);
00046 
00047 /* Default definitions that should be overridden by calling module. */
00048 #ifndef LIBCONIO_CONF_SCREEN_WIDTH
00049 #define LIBCONIO_SCREEN_WIDTH 40
00050 #else
00051 #define LIBCONIO_SCREEN_WIDTH LIBCONIO_CONF_SCREEN_WIDTH
00052 #endif /* LIBCONIO_SCREEN_WIDTH */
00053 
00054 #ifndef LIBCONIO_CONF_SCREEN_HEIGHT
00055 #define LIBCONIO_SCREEN_HEIGHT 25
00056 #else
00057 #define LIBCONIO_SCREEN_HEIGHT LIBCONIO_CONF_SCREEN_HEIGHT
00058 #endif /* LIBCONIO_CONF_SCREEN_HEIGHT */
00059 
00060 
00061 
00062 /* These are function declarations for functions implemented in libconio.c */
00063 unsigned char wherex(void);
00064 unsigned char wherey(void);
00065 void clrscr(void);
00066 void bgcolor(unsigned char c);
00067 void bordercolor(unsigned char c);
00068 void screensize(unsigned char *x, unsigned char *y);
00069 void revers(unsigned char c);
00070 void cputc(char c);
00071 void cputs(char *str);
00072 void cclear(unsigned char length);
00073 void chline(unsigned char length);
00074 void cvline(unsigned char length);
00075 void gotoxy(unsigned char x, unsigned char y);
00076 void cclearxy(unsigned char x, unsigned char y, unsigned char length);
00077 void chlinexy(unsigned char x, unsigned char y, unsigned char length);
00078 void cvlinexy(unsigned char x, unsigned char y, unsigned char length);
00079 void cputsxy(unsigned char x, unsigned char y, char *str);
00080 void cputcxy(unsigned char x, unsigned char y, char c);
00081 void textcolor(unsigned char c);
00082 
00083 
00084 
00085 #endif /* __LIBCONIO_H__ */