Contiki 2.6

z80def.h

00001 /*
00002  * Copyright (c) 2007, Takahide Matsutsuka.
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  * $Id: z80def.h,v 1.8 2009/12/16 06:47:17 matsutsuka Exp $
00031  *
00032  */
00033 
00034 /*
00035  * \file
00036  *      This file contains a set of configuration for using SDCC as a compiler.
00037  *
00038  * \author
00039  *      Takahide Matsutsuka <markn@markn.org>
00040  */
00041 
00042 #ifndef __Z80_DEF_H__
00043 #define __Z80_DEF_H__
00044 
00045 #define CC_CONF_FUNCTION_POINTER_ARGS   1
00046 #define CC_CONF_FASTCALL
00047 #define CC_CONF_VA_ARGS                 0
00048 #define CC_CONF_UNSIGNED_CHAR_BUGS      0
00049 #define CC_CONF_REGISTER_ARGS           0
00050 
00051 
00052 /* Generic types. */
00053 typedef   signed char    int8_t;
00054 typedef unsigned char   uint8_t;
00055 typedef   signed short  int16_t;
00056 typedef unsigned short uint16_t;
00057 typedef unsigned long  uint32_t;
00058 typedef unsigned char   u8_t;      /* 8 bit type */
00059 typedef unsigned short u16_t;      /* 16 bit type */
00060 typedef unsigned long  u32_t;      /* 32 bit type */
00061 typedef   signed long  s32_t;      /* 32 bit type */
00062 typedef unsigned short uip_stats_t;
00063 typedef   signed long  int32_t;    /* 32 bit type */
00064 #ifndef _SIZE_T_DEFINED
00065 #define _SIZE_T_DEFINED
00066 typedef unsigned int size_t;
00067 #endif
00068 
00069 /* Compiler configurations */
00070 #define CCIF
00071 #define CLIF
00072 #define CC_CONF_CONST_FUNCTION_BUG
00073 
00074 /*
00075  * Enable architecture-depend checksum calculation
00076  * for uIP configuration.
00077  * @see uip_arch.h
00078  * @see uip_arch-asm.S
00079  */
00080 #define UIP_ARCH_ADD32          1
00081 #define UIP_ARCH_CHKSUM 1
00082 #define UIP_ARCH_IPCHKSUM
00083 
00084 #define CC_CONF_ASSIGN_AGGREGATE(dest, src)     \
00085     memcpy(dest, src, sizeof(*dest))
00086 
00087 #define uip_ipaddr_copy(dest, src)              \
00088     memcpy(dest, src, sizeof(*dest))
00089 
00090 #define snprintf(a...)
00091 
00092 #endif /* __Z80_DEF_H__ */