Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tinet/net/ppp_hdlc.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    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  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     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 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    8977
    9078/*
    91  *  RFC1171 (PPP) の HDLC 部の定義
    92  */
    93 
    94 /*
    95  *  変数
     79 *  RFC1171 (PPP) の HDLC 部の定義
     80 */
     81
     82/*
     83 *  変数
    9684 */
    9785
     
    9987
    10088/*
    101  *  関数
     89 *  関数
    10290 */
    10391
     
    10694
    10795/*
    108  *  genfcstab.c により作成した FCS のルックアップ表
    109  *  RFC1171 参ç
    110 §
     96 *  genfcstab.c により作成した FCS のルックアップ表
     97 *  RFC1171 参照
    11198 */
    11299
     
    179166
    180167/*
    181  *  インライン関数
     168 *  インライン関数
    182169 */
    183170
     
    187174
    188175/*
    189  *  HDLC_putoctet -- HDLC オクテット出力
     176 *  HDLC_putoctet -- HDLC オクテット出力
    190177 */
    191178
     
    211198
    212199/*
    213  *  HDLC_wirte -- HDLC 出力
     200 *  HDLC_wirte -- HDLC 出力
    214201 */
    215202
     
    240227        if (lcp_local_ack_cfg.options & LCP_CFG_ACCOMP) {
    241228                NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq));
    242                 /* フレーム開始フラグシーケンス を送信する    */
     229                /* フレーム開始フラグシーケンス を送信する    */
    243230                if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq, sizeof(flag_seq))) < 0) {
    244231                        goto err_ret;
     
    249236
    250237                NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac));
    251                 /* フレーム開始フラグシーケンス、Address と Control を送信する    */
     238                /* フレーム開始フラグシーケンス、Address と Control を送信する    */
    252239                if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) {
    253240                        goto err_ret;
    254241                        }
    255                 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     242                /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    256243                fcs = HDLC_INIT_FCS_AC;
    257244                }
     
    260247
    261248        NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, sizeof(flag_seq_ac));
    262         /* フレーム開始フラグシーケンス、Address と Control を送信する    */
     249        /* フレーム開始フラグシーケンス、Address と Control を送信する    */
    263250        if ((error = serial_wri_dat(HDLC_PORTID, flag_seq_ac, sizeof(flag_seq_ac))) < 0) {
    264251                goto err_ret;
    265252                }
    266         /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     253        /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    267254        fcs = HDLC_INIT_FCS_AC;
    268255
     
    281268#endif  /* of #ifdef LCP_CFG_PCOMP */
    282269
    283         /* データを送信する */
     270        /* データを送信する */
    284271        while (len -- > 0) {
    285272
     
    290277                }
    291278
    292         /* FCS を送信する */
     279        /* FCS を送信する */
    293280        fcs = ~fcs;
    294281        if ((error = HDLC_putoctet(fcs & 0xff)) != E_OK)
     
    297284                goto err_ret;
    298285
    299         /* フレーム終了フラグシーケンスを送信する */
     286        /* フレーム終了フラグシーケンスを送信する */
    300287        if ((error = serial_wri_dat(HDLC_PORTID, &flag_seq_ac[0], sizeof(char))) < 0)
    301288                goto err_ret;
     
    309296
    310297/*
    311  *  HDLC_getoctet -- HDLC オクテットå
    312 ¥åŠ›
    313  *
    314  *      戻り値が true ならフラグシーケンス
     298 *  HDLC_getoctet -- HDLC オクテット入力
     299 *
     300 *      戻り値が true ならフラグシーケンス
    315301 */
    316302
     
    320306        ER error;
    321307
    322         /* 1オクテットå
    323 ¥åŠ›ã™ã‚‹ */
     308        /* 1オクテット入力する */
    324309        if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0) {
    325310                return error;
    326311                }
    327312
    328         /* å
    329 ¥åŠ›ã—たオクテットがフラグシーケンスなら true を返す */
     313        /* 入力したオクテットがフラグシーケンスなら true を返す */
    330314        if (*octet == HDLC_FLAG_SEQ)
    331315                return true;
    332316
    333         /* å
    334 ¥åŠ›ã—たオクテットがエスケープなら、もう1オクテットå
    335 ¥åŠ›ã—マスクを解除する */
     317        /* 入力したオクテットがエスケープなら、もう1オクテット入力しマスクを解除する */
    336318        if (*octet == HDLC_CNTL_ESC) {
    337319                if ((error = serial_rea_dat(HDLC_PORTID, octet, sizeof(uint8_t))) <= 0)
     
    345327
    346328/*
    347  *  HDLC_read -- HDLC å
    348 ¥åŠ›
    349  *
    350  *      HDLC フレームをå
    351 ¥åŠ›ã™ã‚‹ã€‚
     329 *  HDLC_read -- HDLC 入力
     330 *
     331 *      HDLC フレームを入力する。
    352332 */
    353333
     
    361341        buf = nbuf->buf;
    362342
    363         /* フレーム開始フラグシーケンスまでå
    364 ¥åŠ›ã‚’読み飛ばす */
     343        /* フレーム開始フラグシーケンスまで入力を読み飛ばす */
    365344        while ((error = HDLC_getoctet(&octet)) != true) {
    366345
     
    371350
    372351                else if (octet == '\n') {
    373                         /* モデム制御を呼び出す。*/
     352                        /* モデム制御を呼び出す。*/
    374353                        modem_cntl(modem_getline(nbuf, size));
    375                         /* 一度、この関数を終了する。*/
     354                        /* 一度、この関数を終了する。*/
    376355                        nbuf->len = 0;
    377356                        return E_OK;
     
    382361                }
    383362
    384         /* フレーム開始フラグシーケンスの間はå
    385 ¥åŠ›ã‚’読み飛ばす */
     363        /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */
    386364        while (1) {
    387365                if ((error = HDLC_getoctet(&octet)) == E_OK)
     
    393371        NET_COUNT_PPP_HDLC(net_count_hdlc.in_packets, 1);
    394372
    395         /* å
    396 ¥åŠ›ã—たオクテットは Address: All-Stations か */
     373        /* 入力したオクテットは Address: All-Stations か */
    397374        if (octet == HDLC_ADDR_ALL) {
    398375
    399                 /* 次は Control: UI */
     376                /* 次は Control: UI */
    400377                if ((error = HDLC_getoctet(&octet)) != E_OK || octet != HDLC_CNTL_UI) {
    401378                        error = E_SYS;
     
    404381                if ((error = HDLC_getoctet(&octet)) != E_OK)
    405382                        goto err_ret;
    406                 /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
     383                /* Address と Control の FCS の計算は HDLC_INIT_FCS_AC に含めている */
    407384                fcs = HDLC_INIT_FCS_AC;
    408385                }
     
    438415        nbuf->len ++;
    439416
    440         /* SUD + FCS をå
    441 ¥åŠ›ã™ã‚‹ */
     417        /* SUD + FCS を入力する */
    442418        while ((error = HDLC_getoctet(&octet)) == E_OK) {
    443419                fcs = Next_FCS(fcs, octet);
     
    464440                goto err_ret;
    465441
    466         /* FCS をチェックする */
     442        /* FCS をチェックする */
    467443        if (fcs != HDLC_GOOD_FCS) {
    468444                error = E_SYS;
     
    478454
    479455/*
    480  *  HDLC_dummy_read -- HDLC å
    481 ¥åŠ› (空読み)
    482  *
    483  *      HDLC フレームを空読みする。
     456 *  HDLC_dummy_read -- HDLC 入力 (空読み)
     457 *
     458 *      HDLC フレームを空読みする。
    484459 */
    485460
     
    490465        ER      error;
    491466
    492         /* フレーム開始フラグシーケンスまでå
    493 ¥åŠ›ã‚’読み飛ばす */
     467        /* フレーム開始フラグシーケンスまで入力を読み飛ばす */
    494468        while ((error = HDLC_getoctet(&octet)) != true) {
    495469                if (error != E_OK)
     
    497471                }
    498472
    499         /* フレーム開始フラグシーケンスの間はå
    500 ¥åŠ›ã‚’読み飛ばす */
     473        /* フレーム開始フラグシーケンスの間は入力を読み飛ばす */
    501474        while (octet == HDLC_FLAG_SEQ)
    502475                if (HDLC_getoctet(&octet) != E_OK)
    503476                        return;
    504477
    505         /* å
    506 ¥åŠ›ã—たオクテットは Address: All-Stations か */
     478        /* 入力したオクテットは Address: All-Stations か */
    507479        if (octet == HDLC_ADDR_ALL) {
    508480
    509                 /* 次は Control: UI */
     481                /* 次は Control: UI */
    510482                if (HDLC_getoctet(&octet) != E_OK || octet != HDLC_CNTL_UI)
    511483                        return;
     
    531503
    532504/*
    533  *  HDLC_raw_getoctet -- HDLC オクテット (Raw) å
    534 ¥åŠ›
     505 *  HDLC_raw_getoctet -- HDLC オクテット (Raw) 入力
    535506 */
    536507
     
    539510        uint8_t ch;
    540511
    541         /* 1オクテットå
    542 ¥åŠ›ã™ã‚‹ */
     512        /* 1オクテット入力する */
    543513        if (serial_rea_dat(HDLC_PORTID, &ch, sizeof(ch)) <= 0)
    544514                return '\0';
     
    549519
    550520/*
    551  *  HDLC_raw_putoctet -- HDLC オクテット (Raw) 出力
     521 *  HDLC_raw_putoctet -- HDLC オクテット (Raw) 出力
    552522 */
    553523
     
    555525{
    556526        NET_COUNT_PPP_HDLC(net_count_hdlc.out_octets, 1);
    557         /* 1オクテット出力する */
     527        /* 1オクテット出力する */
    558528        serial_wri_dat(HDLC_PORTID, &ch, sizeof(ch));
    559529        }
Note: See TracChangeset for help on using the changeset viewer.