source: azure_iot_hub/trunk/asp3_dcre/tinet/netapp/netapp_var.h@ 389

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

ビルドが通るよう更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 9.0 KB
Line 
1/*
2 * TINET (TCP/IP Protocol Stack)
3 *
4 * Copyright (C) 2001-2017 by Dep. of Computer Science and Engineering
5 * Tomakomai National College of Technology, JAPAN
6 *
7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
8 * によって公表されている GNU General Public License の Version 2 に記
9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
11 * 利用と呼ぶ)することを無償で許諾する.
12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
14 * スコード中に含まれていること.
15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
18 * の無保証規定を掲載すること.
19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
20 * 用できない形で再配布する場合には,次の条件を満たすこと.
21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
22 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
25 *
26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
30 *
31 * @(#) $Id$
32 */
33
34#ifndef _NETAPP_VAR_H_
35#define _NETAPP_VAR_H_
36
37/*
38 * TOPPERS/JSP カーネル、システム時刻 (SYSTIM) の周波数
39 */
40
41#define SYSTIM_HZ ULONG_C(1000000) /* [us] */
42
43/*
44 * IPv6/IPv4 に関する定義
45 */
46
47/*
48 * 指定されたマクロに対するサンプルアプリケーション内部のマクロの定義
49 *
50 * SUPPORT_INET6 . . ON ON ON ON
51 * SUPPORT_INET4 ON ON . . ON ON
52 * API_CFG_IP4MAPPED_ADDR . ON . ON . ON
53 * ---------------------- ----------------------
54 * NETAPP_IP6_CFG . . ON ON ON ON
55 * NETAPP_IP4_CFG ON ON . ON ON ON
56 *
57 */
58
59#if defined(SUPPORT_INET6)
60
61#define NETAPP_IP6_CFG
62
63#endif /* #if defined(SUPPORT_INET6) */
64
65#if defined(SUPPORT_INET4) || (defined(SUPPORT_INET6) && defined(API_CFG_IP4MAPPED_ADDR))
66#define NETAPP_IP4_CFG
67#endif
68
69/*
70 * IPv4 と IPv6 をコンパイル時に選択するためのマクロ
71 */
72
73#define DBG_LINE_SIZE 63
74
75#if defined(SUPPORT_INET6)
76
77#define T_IN_ADDR T_IN6_ADDR
78#define T_IPEP T_IPV6EP
79#define IP_ADDRANY IPV6_ADDRANY
80#define T_TCPN_CREP T_TCP6_CREP
81
82#else /* of #if defined(SUPPORT_INET6) */
83
84#define T_IN_ADDR T_IN4_ADDR
85#define T_IPEP T_IPV4EP
86#define IP_ADDRANY IPV4_ADDRANY
87#define T_TCPN_CREP T_TCP_CREP
88
89#endif /* of #if defined(SUPPORT_INET6) */
90
91/*
92 * API IPプロトコルの指定
93 */
94
95#if defined(SUPPORT_INET6)
96#define DEFAULT_API_PROTO API_PROTO_IPV6
97#else
98#define DEFAULT_API_PROTO API_PROTO_IPV4
99#endif
100
101/*
102 * resolv_hoststr が返す flags の値の定義
103 *
104 * 注意:
105 *
106 * dns.h で定義されている DNS_OPCODE、
107 * resolver.h で定義されている DNS_LUP_FLAGS と重ならない事。
108 */
109
110#define HOSTSTR_OTHER 0x0000U
111#define HOSTSTR_IPV4 DNS_LUP_FLAGS_NAME_IPV4
112#define HOSTSTR_IPV6 DNS_LUP_FLAGS_NAME_IPV6
113#define HOSTSTR_HOSTNAME DNS_LUP_FLAGS_NAME_HOST
114#define HOSTSTR_FQDN DNS_LUP_FLAGS_NAME_FQDN
115
116/*
117 * 定数の定義
118 */
119
120#define DBG_LINE_SIZE 63
121
122#if defined(SUPPORT_INET6)
123
124#define NUM_VRID_TCP_CEPS NUM_VRID_TCP6_CEPS
125
126#else /* of #if defined(SUPPORT_INET6) */
127
128#define NUM_VRID_TCP_CEPS NUM_VRID_TCP4_CEPS
129
130#endif /* of #if defined(SUPPORT_INET6) */
131
132/*
133 * 関数シミュレーションマクロ
134 */
135
136/* メッセージからの読出し */
137
138#define MSG2HOST16(p) (msg2host16((void*)&(p)))
139#define MSG2HOST32(p) (msg2host32((void*)&(p)))
140
141/* メッセージへの書込み */
142
143#define HOST2MSG16(p,v) (host2msg16((void*)&(p),(v)))
144#define HOST2MSG32(p,v) (host2msg32((void*)&(p),(v)))
145
146/*
147 * ネットワーク経由コンソール入出力
148 */
149
150#ifdef USE_NET_CONS
151
152/* リネーム */
153
154#define syslog net_syslog
155#define serial_ctl_por net_serial_ctl_por
156
157/* 関数シミュレーションマクロ */
158
159#define FLUSH_SND_BUFF() flush_snd_buff()
160#define WAI_NET_CONS_PRINTF() syscall(wai_sem(SEM_NET_CONS_PRINTF))
161#define SIG_NET_CONS_PRINTF() sig_sem(SEM_NET_CONS_PRINTF)
162
163#else /* of #ifdef USE_NET_CONS */
164
165/* 関数シミュレーションマクロ */
166
167#define FLUSH_SND_BUFF()
168#define WAI_NET_CONS_PRINTF()
169#define SIG_NET_CONS_PRINTF()
170
171#endif /* of #ifdef USE_NET_CONS */
172
173/*
174 * 関数
175 */
176
177extern const char *in_strtfn (FN fncd);
178extern const char *itron_strerror (ER ercd);
179extern const char *dns_strtype (uint_t type);
180extern const char *dns_strclass (uint_t class);
181extern ER net_syslog(uint_t prio, const char *format, ...) throw();
182extern ER net_serial_ctl_por(ID portid, uint_t ioctl) throw();
183extern void flush_snd_buff (void);
184extern ER discon_net_cons (void);
185extern void wup_net_cons (void);
186extern bool_t tcp6_is_cepid (ID cepid);
187extern ER alloc_tcp6_rep (ID *repid, ID tskid, T_TCP6_CREP *crep);
188extern ER alloc_tcp6_cep (ID *cepid, ID tskid, T_TCP_CCEP *ccep);
189extern ER alloc_udp6_cep (ID *cepid, ID tskid, T_UDP6_CCEP *ccep);
190extern ER free_tcp6_rep (ID repid, bool_t call_tcp_del_rep);
191extern ER free_tcp6_cep (ID cepid);
192extern ER free_udp6_cep (ID cepid, bool_t call_udp_del_cep);
193extern bool_t tcp4_is_cepid (ID cepid);
194extern ER alloc_tcp4_rep (ID *repid, ID tskid, T_TCP_CREP *crep);
195extern ER alloc_tcp4_cep (ID *cepid, ID tskid, T_TCP_CCEP *ccep);
196extern ER alloc_udp4_cep (ID *cepid, ID tskid, T_UDP_CCEP *ccep);
197extern ER free_tcp4_rep (ID repid, bool_t call_tcp_del_rep);
198extern ER free_tcp4_cep (ID cepid);
199extern ER free_udp4_cep (ID cepid, bool_t call_udp_del_cep);
200extern void ping6 (T_IN6_ADDR *addr, uint_t tmo, uint_t len);
201extern void ping4 (T_IN4_ADDR *addr, uint_t tmo, uint_t len);
202extern char *get_ipv6addr (T_IN6_ADDR *addr, char *line);
203extern char *get_ipv4addr (T_IN4_ADDR *addr, char *line);
204extern char *resolv_options (uint_t *flags, char *line, char apip);
205extern char *resolv_hoststr (uint_t *flags, char *hostname, uint_t name_size, char *line);
206extern char *lookup_ipaddr (T_IN_ADDR *addr, char *line, char apip);
207extern uint_t show_dns_domain_name (ID portid, uint8_t *hdr, uint_t offset);
208extern void host2msg16 (void *msg, uint16_t host_data);
209extern void host2msg32 (void *msg, uint32_t host_data);
210extern uint16_t msg2host16 (void *msg);
211extern uint32_t msg2host32 (void *msg);
212extern uint32_t netapp_rand (void);
213extern void netapp_srand (uint32_t seed);
214
215#if defined(SUPPORT_INET6)
216
217#define TCP_CRE_REP(i,r) tcp6_cre_rep(i,r)
218#define TCP_CRE_CEP(i,c) tcp6_cre_cep(i,c)
219#define UDP_CRE_CEP(i,c) udp6_cre_cep(i,c)
220#define TCP_ACP_CEP(c,r,d,t) tcp6_acp_cep(c,r,d,t)
221#define TCP_CON_CEP(c,m,d,t) tcp6_con_cep(c,m,d,t)
222
223#define UDP_SND_DAT(c,d,b,l,t) udp6_snd_dat(c,d,b,l,t)
224#define UDP_RCV_DAT(c,d,b,l,t) udp6_rcv_dat(c,d,b,l,t)
225
226#define TCP_IS_CEPID(i) tcp6_is_cepid(i)
227#define ALLOC_TCP_REP(i,t,r) alloc_tcp6_rep(i,t,r)
228#define ALLOC_TCP_CEP(i,t,c) alloc_tcp6_cep(i,t,c)
229#define ALLOC_UDP_CEP(i,t,c) alloc_udp6_cep(i,t,c)
230#define FREE_TCP_REP(i,r) free_tcp6_rep(i,r)
231#define FREE_TCP_CEP(i) free_tcp6_cep(i)
232#define FREE_UDP_CEP(i,c) free_udp6_cep(i,c)
233
234#define IP2STR(s,a) ipv62str(s,a)
235#define GET_IPADDR(a,l) get_ipv6addr(a,l)
236#define PING(a,t,l) ping6(a,t,l)
237
238#else /* of #if defined(SUPPORT_INET6) */
239
240#if defined(SUPPORT_INET4)
241
242#define TCP_CRE_REP(i,r) tcp_cre_rep(i,r)
243#define TCP_CRE_CEP(i,c) tcp_cre_cep(i,c)
244#define UDP_CRE_CEP(i,c) udp_cre_cep(i,c)
245#define TCP_ACP_CEP(c,r,d,t) tcp_acp_cep(c,r,d,t)
246#define TCP_CON_CEP(c,m,d,t) tcp_con_cep(c,m,d,t)
247
248#define UDP_SND_DAT(c,d,b,l,t) udp_snd_dat(c,d,b,l,t)
249#define UDP_RCV_DAT(c,d,b,l,t) udp_rcv_dat(c,d,b,l,t)
250
251#define TCP_IS_CEPID(i) tcp4_is_cepid(i)
252#define ALLOC_TCP_REP(i,t,r) alloc_tcp4_rep(i,t,r)
253#define ALLOC_TCP_CEP(i,t,c) alloc_tcp4_cep(i,t,c)
254#define ALLOC_UDP_CEP(i,t,c) alloc_udp4_cep(i,t,c)
255#define FREE_TCP_REP(i,r) free_tcp4_rep(i,r)
256#define FREE_TCP_CEP(i) free_tcp4_cep(i)
257#define FREE_UDP_CEP(i,c) free_udp4_cep(i,c)
258
259#define IP2STR(s,a) ip2str(s,a)
260#define GET_IPADDR(a,l) get_ipv4addr(a,l)
261#define PING(a,t,l) ping4(a,t,l)
262
263#endif /* of #if defined(SUPPORT_INET4) */
264
265#endif /* of #if defined(SUPPORT_INET6) */
266
267#endif /* of #ifndef _NETAPP_VAR_H_ */
Note: See TracBrowser for help on using the repository browser.