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__ */