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

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

Azure IoT Hub Device C SDK を使ったサンプルの追加

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