dev.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *  $Id: dev.h 209 2008-09-26 20:54:43Z merdmann $
00003  *
00004  *  Fri Dec  7 21:19:36 2007
00005  *  Copyright  2007  Michael Erdmann
00006  *  Email: michael.erdmann@snafu.de
00007  ****************************************************************************/
00008 
00009 /*
00010  *  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU General Public License for more details.
00019  *
00020  *  You should have received a copy of the GNU General Public License
00021  *  along with this program; if not, write to the Free Software
00022  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00023  */
00043 #ifndef INT_H
00044 #define INT_H
00045 
00046 #include "typedefs.h"
00047 
00049 #define MAX_INTERRUPTS  4
00050 
00052 typedef byte (*t_handler)(void);
00053 
00057 #define NULL_HANDLER (t_handler)0
00058 
00063 typedef struct {
00064         t_handler handle_init;      
00065         t_handler handle_interrupt; 
00066         //t_handler start;                      /**< start the device */
00067 } t_dev;
00068 
00069 #define DeclareDevice(x,init )  __code  t_dev x = { &init, NULL_HANDLER }
00070 #define DeclareInterrupt(x,init,intr )  __code  t_dev x = { &init, &intr }
00071 
00072 #endif

Generated on Mon Sep 29 19:56:47 2008 for mKernel by  doxygen 1.4.6