source: azure_iot_hub/trunk/asp3_dcre/tinet/net/if_ppp.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: 5.9 KB
RevLine 
[388]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: if_ppp.h 388 2019-05-22 11:25:18Z coas-nagasima $
44 */
45
46/*
47 * if_ppp.h - Point-to-Point Protocol definitions.
48 *
49 * Copyright (c) 1989 Carnegie Mellon University.
50 * All rights reserved.
51 *
52 * Redistribution and use in source and binary forms are permitted
53 * provided that the above copyright notice and this paragraph are
54 * duplicated in all such forms and that any documentation,
55 * advertising materials, and other materials related to such
56 * distribution and use acknowledge that the software was developed
57 * by Carnegie Mellon University. The name of the
58 * University may not be used to endorse or promote products derived
59 * from this software without specific prior written permission.
60 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
61 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
62 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
63 *
64 * $FreeBSD: src/sys/net/if_ppp.h,v 1.13.2.1 1999/08/29 16:28:21 peter Exp $
65 */
66
67#ifndef _IF_PPP_H_
68#define _IF_PPP_H_
69
70#ifdef SUPPORT_PPP
71
72/*
73 * PPP アドレスの定義(ダミー)
74 */
75
76typedef struct t_ppp_addr {
77 uint8_t lladdr[0];
78 } T_PPP_ADDR;
79
80/*
81 * インタフェースの選択マクロ
82 */
83
84#define T_IF_HDR T_PPP_HDR /* インタフェースのヘッダ */
85#define T_IF_ADDR T_PPP_ADDR /* インタフェースのアドレス */
86#define IF_HDR_ALIGN 2 /* ヘッダのアライン単位 */
87#define IF_MTU DEF_PPP_MTU /* インタフェースの MTU */
88
89#define IF_OUTPUT(o,d,g,t) ppp_output(o,t) /* インタフェースの出力関数 */
90#define IF_RAW_OUTPUT(o,t) ppp_output(o,t) /* インタフェースの出力関数、アドレス解決無し*/
91#define IF_SET_PROTO(b,p) (*GET_PPP_HDR(b) = htons(p))
92 /* インタフェースのプロトコル設定関数 */
93#define IF_SOFTC_TO_IFADDR(s) ((T_IF_ADDR*)(s)->ifaddr.lladdr)
94 /* ソフトウェア情
95報から PPP アドレスを取り出す */
96#define IF_GET_IFNET() ppp_get_ifnet() /* ネットワークインタフェース構造体を返す。*/
97#define IF_SRAND() (0) /* インターフェースの乱数初期値 */
98
99/* IPv4 関係 */
100
101#define IF_PROTO_IP PPP_IP /* インタフェースの IPv4 プロトコル指定 */
102
103/* IPv6 関係 */
104
105#define MAX_IF_MADDR_CNT 0 /* インタフェースのマルチキャストアドレスé…
106åˆ—の最大サイズ*/
107#define IF_PROTO_IPV6 PPP_IPV6 /* インタフェースの IPv6 プロトコル指定 */
108#define IF_IN6_NEED_CACHE(i) (false) /* 近隣探索キャッシュを使用する。 */
109#define IF_IN6_IFID(i,a) get_rand_ifid(i,a) /* インタフェース識別子の設定 */
110#define IF_IN6_RESOLVE_MULTICAST(i,m) {} /* インタフェースのマルチキャストアドレスへの変換 */
111
112/*
113 * MTU (MRU) に関する定義
114 */
115
116#define DEF_PPP_MTU 1500 /* PPP の 標準 MTU */
117#define MAX_PPP_MTU 16384 /* PPP の 最大 MTU */
118#define MIN_PPP_MTU 128 /* PPP の 最小 MTU */
119
120/*
121 * PPP ヘッダ
122 */
123
124typedef uint16_t T_PPP_HDR; /* 上位プロトコル */
125
126/*
127 * 前方参ç…
128§
129 */
130
131#ifndef T_IFNET_DEFINED
132
133typedef struct t_ifnet T_IFNET;
134
135#define T_IFNET_DEFINED
136
137#endif /* of #ifndef T_IFNET_DEFINED */
138
139#ifndef T_IF_SOFTC_DEFINED
140
141typedef struct t_if_softc T_IF_SOFTC;
142
143#define T_IF_SOFTC_DEFINED
144
145#endif /* of #ifndef T_IF_SOFTC_DEFINED */
146
147#ifndef T_NET_BUF_DEFINED
148
149typedef struct t_net_buf T_NET_BUF;
150
151#define T_NET_BUF_DEFINED
152
153#endif /* of #ifndef T_NET_BUF_DEFINED */
154
155/*
156 * ネットワークインタフェースに依存しないソフトウェア情
157å ±
158 */
159
160struct t_if_softc {
161 T_IF_ADDR ifaddr; /* ネットワークインタフェースのアドレス */
162 };
163
164/*
165 * 関数
166 */
167
168extern T_IFNET *ppp_get_ifnet (void);
169ER ppp_output (T_NET_BUF *data, TMO tmout);
170
171#endif /* of #ifdef SUPPORT_PPP */
172
173#endif /* of #ifndef _IF_PPP_H_ */
Note: See TracBrowser for help on using the repository browser.