source: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/arch/cc.h@ 164

Last change on this file since 164 was 164, checked in by coas-nagasima, 6 years ago

TOPPERS/ECNLサンプルアプリ「USB充電器電力計」を追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr
File size: 4.3 KB
Line 
1/*
2 * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * 3. The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25 * OF SUCH DAMAGE.
26 *
27 * This file is part of the lwIP TCP/IP stack.
28 *
29 * Author: Adam Dunkels <adam@sics.se>
30 *
31 */
32#ifndef __ARCH_CC_H__
33#define __ARCH_CC_H__
34
35//#include <stdio.h> /* printf, fflush, FILE */
36#include <stdlib.h> /* abort */
37#include <limits.h>
38
39#include <t_stddef.h>
40#include <t_syslog.h>
41#include <stdarg.h>
42
43#ifdef _MSC_VER
44#pragma warning (disable: 4244) /* disable conversion warning (implicit integer promotion!) */
45#pragma warning (disable: 4127) /* conditional expression is constant */
46#pragma warning (disable: 4996) /* 'strncpy' was declared deprecated */
47#pragma warning (disable: 4103) /* structure packing changed by including file */
48#endif
49
50/*#define LWIP_PROVIDE_ERRNO*/
51#ifdef __RX
52#define EADDRINUSE 0x1000
53#define EADDRNOTAVAIL 0x1001
54#define EAFNOSUPPORT 0x1002
55#define EALREADY 0x1003
56#define ECONNABORTED 0x1004
57#define ECONNREFUSED 0x1005
58#define ECONNRESET 0x1006
59#define EHOSTUNREACH 0x1007
60#define ENOBUFS 0x1008
61#define ENOPROTOOPT 0x1009
62#define ENOTCONN 0x100A
63#define EOPNOTSUPP 0x100B
64#define EWOULDBLOCK 0x100C
65#endif
66
67/* Define platform endianness (might already be defined) */
68#ifndef BYTE_ORDER
69#define BYTE_ORDER LITTLE_ENDIAN
70#endif /* BYTE_ORDER */
71
72/* Define generic types used in lwIP */
73typedef unsigned char u8_t;
74typedef signed char s8_t;
75typedef unsigned short u16_t;
76typedef signed short s16_t;
77typedef unsigned long u32_t;
78typedef signed long s32_t;
79
80typedef size_t mem_ptr_t;
81typedef u32_t sys_prot_t;
82
83/* Define (sn)printf formatters for these lwIP types */
84#define X8_F "02x"
85#define U16_F "hu"
86#define U32_F "lu"
87#define S32_F "ld"
88#define X32_F "lx"
89
90#ifdef __GNUC__
91#define S16_F "d"
92#define X16_F "uX"
93#define SZT_F "u"
94#else
95#define S16_F "hd"
96#define X16_F "hx"
97#define SZT_F "lu"
98#endif
99
100/* Compiler hints for packing structures */
101#define PACK_STRUCT_STRUCT
102#define PACK_STRUCT_USE_INCLUDES
103
104/* Plaform specific diagnostic output */
105extern void syslog_info(const char *format, ...);
106extern void syslog_assert(const char *format, ...);
107
108#ifdef __RX
109#define LWIP_PLATFORM_DIAG(x)
110#define LWIP_PLATFORM_ASSERT(x) do { abort(); } while(0)
111#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \
112 handler; } } while(0)
113#else
114#define LWIP_PLATFORM_DIAG(x) do { syslog_info x; } while(0)
115
116#define LWIP_PLATFORM_ASSERT(x) do { syslog_assert("Assertion \"%s\" failed at line %d in %s\n", \
117 x, __LINE__, __FILE__); abort(); } while(0)
118
119#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \
120 syslog_assert("Assertion \"%s\" failed at line %d in %s\n", message, __LINE__, __FILE__); \
121 handler; } } while(0)
122#endif
123
124
125#if 0/*def _MSC_VER*/
126/* C runtime functions redefined */
127#define snprintf _snprintf
128#endif
129
130u32_t dns_lookup_external_hosts_file(const char *name);
131
132#define LWIP_RAND() ((u32_t)rand())
133
134#endif /* __ARCH_CC_H__ */
Note: See TracBrowser for help on using the repository browser.