- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tinet/netapp/dhcp6_cli_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 70 70 * Tomakomai National College of Technology, JAPAN 71 71 * 72 * ä¸è¨èä½æ¨©è 73 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 74 * ã«ãã£ã¦å 75 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 76 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 77 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 78 å¸ï¼ä»¥ä¸ï¼ 79 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 80 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 81 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 82 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 83 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 84 * ç¨ã§ããå½¢ã§åé 85 å¸ããå ´åã«ã¯ï¼åé 86 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 87 * è 88 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 89 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 90 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 91 * ç¨ã§ããªãå½¢ã§åé 92 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 93 * ã¨ï¼ 94 * (a) åé 95 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 96 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 97 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 98 * (b) åé 99 å¸ã®å½¢æ 100 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 101 * å ±åãããã¨ï¼ 102 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 103 * 害ãããï¼ä¸è¨èä½æ¨©è 104 ããã³TOPPERSããã¸ã§ã¯ããå 105 責ãããã¨ï¼ 106 * 107 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 108 ã 109 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 110 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 111 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 72 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 73 * によって公表されている GNU General Public License の Version 2 に記 74 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 75 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 76 * 利用と呼ぶ)することを無償で許諾する. 77 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 78 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 79 * スコード中に含まれていること. 80 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 81 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 82 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 83 * の無保証規定を掲載すること. 84 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 85 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 86 * と. 87 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 88 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 89 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 90 * 報告すること. 91 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 92 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 93 * 94 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 95 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 96 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 97 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 112 98 * 113 99 * @(#) $Id$ … … 120 106 121 107 /* 122 * DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½123 */ 124 125 /* TIMER ã®å®ç¾©*/108 * DHCP クライアントコンテキスト構造体 109 */ 110 111 /* TIMER の定義 */ 126 112 127 113 #define DHCP6C_TIMER_SND_SOL 0 … … 140 126 #define DHCP6C_TIMER_HZ 1 141 127 142 /* å®æ°ã®å®ç¾©*/128 /* 定数の定義 */ 143 129 144 130 #define MAX_DUID_LEN (ETHER_ADDR_LEN+8) 145 131 146 132 typedef struct dhcp6_cli_context { 147 T_DHCP6_CLI_MSG *rcv_lst; /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 148 T_DHCP6_CLI_MSG *val_lst; /* æ¤è¨¼ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 149 T_DHCP6_CLI_MSG *prf_lst; /* æ¨å¥¨ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 150 T_DHCP6_CLI_MSG *snd_msg; /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ */ 151 T_DHCP6_CLI_MSG *adv_msg; /* éç¥ããããªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 152 T_DHCP6_CLI_MSG *act_msg; /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 153 T_IF_SOFTC *sc; /* IF ã®ã½ããã¦ã§ã¢æ 154 å ± */ 155 T_IPV6EP dst; /* éä¿¡å 156 ã®IPã¢ãã¬ã¹/ãã¼ãçªå· */ 157 SYSTIM RT; /* åéä¿¡éé */ 158 SYSTIM IRT; /* åæåéä¿¡éé */ 159 SYSTIM MRT; /* æ大åéä¿¡éé */ 160 SYSTIM MRD; /* æ大åéä¿¡ç¶ç¶æé */ 161 SYSTIM next_MRD; /* 次ã®æ大åéä¿¡ç¶ç¶æé */ 133 T_DHCP6_CLI_MSG *rcv_lst; /* 受信メッセージ構造体リスト */ 134 T_DHCP6_CLI_MSG *val_lst; /* 検証メッセージ構造体リスト */ 135 T_DHCP6_CLI_MSG *prf_lst; /* 推奨メッセージ構造体リスト */ 136 T_DHCP6_CLI_MSG *snd_msg; /* 送信メッセージ構造体 */ 137 T_DHCP6_CLI_MSG *adv_msg; /* 通知されたリース・メッセージ構造体 */ 138 T_DHCP6_CLI_MSG *act_msg; /* 有効なリース・メッセージ構造体 */ 139 T_IF_SOFTC *sc; /* IF のソフトウェア情報 */ 140 T_IPV6EP dst; /* 送信先のIPアドレス/ポート番号 */ 141 SYSTIM RT; /* 再送信間隔 */ 142 SYSTIM IRT; /* 初期再送信間隔 */ 143 SYSTIM MRT; /* 最大再送信間隔 */ 144 SYSTIM MRD; /* 最大再送信継続時間 */ 145 SYSTIM next_MRD; /* 次の最大再送信継続時間 */ 162 146 SYSTIM timers[NUM_DHCP6C_TIMERS]; 163 /* ã¿ã¤ãã¼é 164 å */ 165 ER_UINT error; /* ã¨ã©ã¼ã»ãã¼ã¿é· */ 147 /* タイマー配列 */ 148 ER_UINT error; /* エラー・データ長 */ 166 149 ID cepid; /* CEP ID */ 167 uint32_t xid; /* ãã©ã³ã¶ã¯ã·ã§ã³ID */168 uint16_t flags; /* å種ãã©ã°*/169 uint16_t max_prefer; /* åä¿¡ã¡ãã»ã¼ã¸ã®æ大æ¨å¥¨åº¦*/150 uint32_t xid; /* トランザクション ID */ 151 uint16_t flags; /* 各種フラグ */ 152 uint16_t max_prefer; /* 受信メッセージの最大推奨度 */ 170 153 uint8_t duid[MAX_DUID_LEN]; 171 154 /* client DHCP Unique ID */ 172 uint8_t duid_len; /* client DUID é· */ 173 uint8_t fsm; /* ç¾å¨ã®ç¶æ 174 */ 175 uint8_t MRC; /* æ大åéä¿¡åæ° */ 176 uint8_t txcount; /* åéä¿¡åæ° */ 177 uint8_t refresh_type; /* REFRESH ã®ã¡ãã»ã¼ã¸ã¿ã¤ã */ 155 uint8_t duid_len; /* client DUID 長 */ 156 uint8_t fsm; /* 現在の状態 */ 157 uint8_t MRC; /* 最大再送信回数 */ 158 uint8_t txcount; /* 再送信回数 */ 159 uint8_t refresh_type; /* REFRESH のメッセージタイプ */ 178 160 } T_DHCP6_CLI_CONTEXT; 179 161 180 /* fsmï¼ç¶æ 181 é·ç§»ï¼ã®å®ç¾© */ 162 /* fsm(状態遷移)の定義 */ 182 163 183 164 #define DHCP6_FSM_INIT 1 … … 186 167 #define DHCP6_FSM_RENEW 5 187 168 #define DHCP6_FSM_REBIND 6 188 #define DHCP6_FSM_REQ_INFO 9 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/189 #define DHCP6_FSM_INFORMED 10 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/190 #define DHCP6_FSM_REL_INFO 11 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/191 #define DHCP6_FSM_SLEEP 12 /* DHCPv6 ã® RFC3315 ã«ã¯ç¡ãã*/192 193 /* flag ã®å®ç¾©*/169 #define DHCP6_FSM_REQ_INFO 9 /* DHCPv6 の RFC3315 には無い。*/ 170 #define DHCP6_FSM_INFORMED 10 /* DHCPv6 の RFC3315 には無い。*/ 171 #define DHCP6_FSM_REL_INFO 11 /* DHCPv6 の RFC3315 には無い。*/ 172 #define DHCP6_FSM_SLEEP 12 /* DHCPv6 の RFC3315 には無い。*/ 173 174 /* flag の定義 */ 194 175 195 176 #define DHCP6C_FLAG_TMOUT_SND_SOL (DHCP6C_FLAG_TMOUT_TIMER|DHCP6C_TIMER_SND_SOL) … … 211 192 #define DHCP6C_FLAG_RENEW UINT_C(0x0400) 212 193 213 /* IAADDR æ§é ä½ã® FLAG ã®å®ç¾©ï¼len ã«å¤éåããï¼*/194 /* IAADDR 構造体の FLAG の定義(len に多重化する)*/ 214 195 215 196 #define DHCP6C_IAA_FLAG_EXPIRED UINT_C(0x8000) … … 218 199 219 200 /* 220 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã221 */ 222 223 /* æéæ¯è¼*/201 * 関数シミュレーションマクロ 202 */ 203 204 /* 時間比較 */ 224 205 225 206 #define TIMEC_GT(a,b) ((int32_t)((a)-(b))>0) 226 207 #define TIMEC_GE(a,b) ((int32_t)((a)-(b))>=0) 227 208 228 /* æéå®æ°ã®å¤æ*/209 /* 時間定数の変換 */ 229 210 230 211 #define SYSTIM2TIMER(t) (((t)<SYSTIM_HZ/DHCP6C_TIMER_HZ)?(DHCP6C_TIMER_HZ):((t)*DHCP6C_TIMER_HZ)/SYSTIM_HZ)
Note:
See TracChangeset
for help on using the changeset viewer.