- 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/dhcp4_cli_var.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 95 95 * Tomakomai National College of Technology, JAPAN 96 96 * 97 * ä¸è¨èä½æ¨©è 98 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 99 * ã«ãã£ã¦å 100 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 101 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 102 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 103 å¸ï¼ä»¥ä¸ï¼ 104 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 105 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 106 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 107 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 108 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 109 * ç¨ã§ããå½¢ã§åé 110 å¸ããå ´åã«ã¯ï¼åé 111 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 112 * è 113 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 114 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 115 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 116 * ç¨ã§ããªãå½¢ã§åé 117 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 118 * ã¨ï¼ 119 * (a) åé 120 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 121 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 122 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 123 * (b) åé 124 å¸ã®å½¢æ 125 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 126 * å ±åãããã¨ï¼ 127 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 128 * 害ãããï¼ä¸è¨èä½æ¨©è 129 ããã³TOPPERSããã¸ã§ã¯ããå 130 責ãããã¨ï¼ 131 * 132 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 133 ã 134 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 135 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 136 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 97 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 98 * によって公表されている GNU General Public License の Version 2 に記 99 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 100 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 101 * 利用と呼ぶ)することを無償で許諾する. 102 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 103 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 104 * スコード中に含まれていること. 105 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 106 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 107 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 108 * の無保証規定を掲載すること. 109 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 110 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 111 * と. 112 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 113 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 114 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 115 * 報告すること. 116 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 117 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 118 * 119 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 120 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 121 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 122 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 137 123 * 138 124 * @(#) $Id$ … … 143 129 144 130 /* 145 * DHCP ã¯ã©ã¤ã¢ã³ãã³ã³ããã¹ãæ§é ä½146 */ 147 148 /* TIMER ã®å®ç¾©*/131 * DHCP クライアントコンテキスト構造体 132 */ 133 134 /* TIMER の定義 */ 149 135 150 136 #define DHCP4C_TIMER_SND_DISC 0 … … 161 147 162 148 typedef struct dhcp4_cli_context { 163 T_DHCP4_CLI_MSG *rcv_lst; /* åä¿¡ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 164 T_DHCP4_CLI_MSG *val_lst; /* æ¤è¨¼ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 165 T_DHCP4_CLI_MSG *prf_lst; /* æ¨å¥¨ã¡ãã»ã¼ã¸æ§é ä½ãªã¹ã */ 166 T_DHCP4_CLI_MSG *snd_msg; /* éä¿¡ã¡ãã»ã¼ã¸æ§é ä½ */ 167 T_DHCP4_CLI_MSG *off_msg; /* éç¥ããããªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 168 T_DHCP4_CLI_MSG *act_msg; /* æå¹ãªãªã¼ã¹ã»ã¡ãã»ã¼ã¸æ§é ä½ */ 169 T_IF_SOFTC *sc; /* IF ã®ã½ããã¦ã§ã¢æ 170 å ± */ 171 T_IPV4EP dst; /* éä¿¡å 172 ã®IPã¢ãã¬ã¹/ãã¼ãçªå· */ 173 SYSTIM snd_start; /* éä¿¡ãéå§ããæé */ 174 SYSTIM bind_start; /* BINDãéå§ããæé */ 175 SYSTIM expire; /* ãªã¼ã¹ã®æå¹æéï¼msï¼ */ 176 SYSTIM renew; /* RENEWï¼T1ï¼ã¾ã§ã®æéï¼msï¼ */ 177 SYSTIM rebind; /* REBINDï¼T2ï¼ã¾ã§ã®æéï¼msï¼ */ 149 T_DHCP4_CLI_MSG *rcv_lst; /* 受信メッセージ構造体リスト */ 150 T_DHCP4_CLI_MSG *val_lst; /* 検証メッセージ構造体リスト */ 151 T_DHCP4_CLI_MSG *prf_lst; /* 推奨メッセージ構造体リスト */ 152 T_DHCP4_CLI_MSG *snd_msg; /* 送信メッセージ構造体 */ 153 T_DHCP4_CLI_MSG *off_msg; /* 通知されたリース・メッセージ構造体 */ 154 T_DHCP4_CLI_MSG *act_msg; /* 有効なリース・メッセージ構造体 */ 155 T_IF_SOFTC *sc; /* IF のソフトウェア情報 */ 156 T_IPV4EP dst; /* 送信先のIPアドレス/ポート番号 */ 157 SYSTIM snd_start; /* 送信を開始した時間 */ 158 SYSTIM bind_start; /* BINDを開始した時間 */ 159 SYSTIM expire; /* リースの有効時間(ms) */ 160 SYSTIM renew; /* RENEW(T1)までの時間(ms) */ 161 SYSTIM rebind; /* REBIND(T2)までの時間(ms) */ 178 162 SYSTIM timers[NUM_DHCP4C_TIMERS]; 179 /* ã¿ã¤ãã¼é 180 å */ 181 RELTIM interval; /* éä¿¡éé */ 182 ER_UINT error; /* ã¨ã©ã¼ã»ãã¼ã¿é· */ 183 ID tskid; /* ã¿ã¹ã¯ID */ 163 /* タイマー配列 */ 164 RELTIM interval; /* 送信間隔 */ 165 ER_UINT error; /* エラー・データ長 */ 166 ID tskid; /* タスクID */ 184 167 ID cepid; /* CEP ID */ 185 uint32_t xid; /* ãã©ã³ã¶ã¯ã·ã§ã³ID */186 uint16_t flags; /* å種ãã©ã°*/187 uint16_t max_prefer; /* åä¿¡ã¡ãã»ã¼ã¸ã®æ大æ¨å¥¨åº¦*/168 uint32_t xid; /* トランザクション ID */ 169 uint16_t flags; /* 各種フラグ */ 170 uint16_t max_prefer; /* 受信メッセージの最大推奨度 */ 188 171 uint16_t secs; /* seconds since boot began */ 189 uint8_t fsm; /* ç¾å¨ã®ç¶æ 190 */ 172 uint8_t fsm; /* 現在の状態 */ 191 173 int timer; 192 174 } T_DHCP4_CLI_CONTEXT; 193 175 194 /* fsmï¼ç¶æ 195 é·ç§»ï¼ã®å®ç¾© */ 176 /* fsm(状態遷移)の定義 */ 196 177 197 178 #define DHCP4_FSM_INIT 1 … … 203 184 #define DHCP4_FSM_INIT_REBOOT 7 204 185 #define DHCP4_FSM_REBOOT 8 205 #define DHCP4_FSM_REL_INFO 11 /* DHCPv4 ã® RFC2131 ã«ã¯ç¡ãã*/206 #define DHCP4_FSM_SLEEP 12 /* DHCPv4 ã® RFC2131 ã«ã¯ç¡ãã*/207 #define DHCP4_FSM_WAKE 13 /* DHCPv4 ã® RFC2131 ã«ã¯ç¡ãã*/208 209 /* flag ã®å®ç¾©*/186 #define DHCP4_FSM_REL_INFO 11 /* DHCPv4 の RFC2131 には無い。*/ 187 #define DHCP4_FSM_SLEEP 12 /* DHCPv4 の RFC2131 には無い。*/ 188 #define DHCP4_FSM_WAKE 13 /* DHCPv4 の RFC2131 には無い。*/ 189 190 /* flag の定義 */ 210 191 211 192 #define DHCP4C_FLAG_TMOUT_SND_DISC (DHCP4C_FLAG_TMOUT_TIMER|DHCP4C_TIMER_SND_DISC) … … 225 206 226 207 /* 227 * é¢æ°ã·ãã¥ã¬ã¼ã·ã§ã³ãã¯ã228 */ 229 230 /* ã¿ã¤ã ã¢ã¦ãã®è¨ç®*/208 * 関数シミュレーションマクロ 209 */ 210 211 /* タイムアウトの計算 */ 231 212 232 213 #define DHCP4C_TMOC(t) (((t)-1000)+dhcp_rand()%2000) 233 214 234 /* æéæ¯è¼*/215 /* 時間比較 */ 235 216 236 217 #define TIMEC_GT(a,b) ((int32_t)((a)-(b))>0) 237 218 #define TIMEC_GE(a,b) ((int32_t)((a)-(b))>=0) 238 219 239 /* æéå®æ°ã®å¤æ*/220 /* 時間定数の変換 */ 240 221 241 222 #define SYSTIM2TIMER(t) (((t)<SYSTIM_HZ/DHCP4C_TIMER_HZ)?(DHCP4C_TIMER_HZ):((t)*DHCP4C_TIMER_HZ)/SYSTIM_HZ)
Note:
See TracChangeset
for help on using the changeset viewer.