Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tinet/netinet/tcp_subr.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    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 è²¬ã™ã‚‹ã“と.
     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プロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    129117
    130118/*
    131  *  å
    132 ¨åŸŸå¤‰æ•°
    133  */
    134 
    135 /*
    136  *  TCP の SEQ の初期値、プログラムが起動して、最初に TCP セグメントを
    137  *  送受信するときに、get_tim() により初期化する。
     119 *  全域変数
     120 */
     121
     122/*
     123 *  TCP の SEQ の初期値、プログラムが起動して、最初に TCP セグメントを
     124 *  送受信するときに、get_tim() により初期化する。
    138125 */
    139126T_TCP_SEQ tcp_iss = 0;
     
    142129
    143130/*
    144  *  SNMP の 管理æƒ
    145 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     131 *  SNMP の 管理情報ベース (MIB)
    146132 */
    147133
     
    151137
    152138/*
    153  *  局所変数
    154  */
    155 
    156 static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
     139 *  局所変数
     140 */
     141
     142static uint16_t tcp_port_auto = TCP_PORT_FIRST_AUTO;    /* 自動割り当て番号     */
    157143
    158144#if defined(NUM_TCP_TW_CEP_ENTRY) && NUM_TCP_TW_CEP_ENTRY > 0
    159145
    160146/*
    161  *  タスクからの Time Wait 状æ
    162 ‹ CEP 分離機能
    163  */
    164 
    165 /*
    166  *  変数
     147 *  タスクからの Time Wait 状態 CEP 分離機能
     148 */
     149
     150/*
     151 *  変数
    167152 */
    168153
     
    170155
    171156/*
    172  *  tcp_move_twcep -- å¿
    173 è¦ãªæƒ
    174 å ±ã‚’ Time Wait 用 TCP 通信端点に移して、
    175  *                    標準の TCP 通信端点を開放する。
     157 *  tcp_move_twcep -- 必要な情報を Time Wait 用 TCP 通信端点に移して、
     158 *                    標準の TCP 通信端点を開放する。
    176159 */
    177160
     
    181164        T_TCP_TWCEP*    twcep;
    182165
    183         /* 空きの Time Wait 用 TCP 通信端点を探索する。*/
     166        /* 空きの Time Wait 用 TCP 通信端点を探索する。*/
    184167        for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) {
    185168                if (twcep->fsm_state != TCP_FSM_TIME_WAIT) {
    186169
    187170                        /*
    188                          *  通信端点をロックし、
    189                          *  å¿
    190 è¦ãªæƒ
    191 å ±ã‚’ Time Wait 用 TCP 通信端点に移す。
     171                         *  通信端点をロックし、
     172                         *  必要な情報を Time Wait 用 TCP 通信端点に移す。
    192173                         */
    193174                        syscall(wai_sem(cep->semid_lock));
     
    202183                        twcep->timer_2msl       = cep->timer[TCP_TIM_2MSL];
    203184
    204                         /* 通信端点をロックを解除する。*/
     185                        /* 通信端点をロックを解除する。*/
    205186                        syscall(sig_sem(cep->semid_lock));
    206187
    207                         /* 標準 TCP 通信端点を開放する。*/
     188                        /* 標準 TCP 通信端点を開放する。*/
    208189                        tcp_close(cep);
    209190
     
    214195
    215196/*
    216  *  tcp_find_twcep -- ポート番号から Time Wait 用 TCP 通信端点を得る。
     197 *  tcp_find_twcep -- ポート番号から Time Wait 用 TCP 通信端点を得る。
    217198 */
    218199
     
    226207       
    227208        /*
    228          *  状æ
    229 ‹ãŒ TIME WAIT で、
    230          *  IP アドレスとポート番号が一致する通信端点を探索する。
     209         *  状態が TIME WAIT で、
     210         *  IP アドレスとポート番号が一致する通信端点を探索する。
    231211         */
    232212        for (twcep = &tcp_twcep[NUM_TCP_TW_CEP_ENTRY]; twcep -- != tcp_twcep; ) {
     
    245225
    246226/*
    247  *  tcp_find_cep -- ポート番号から TCP 通信端点を得る。
     227 *  tcp_find_cep -- ポート番号から TCP 通信端点を得る。
    248228 */
    249229
     
    257237       
    258238        /*
    259          *  状æ
    260 ‹ãŒ SYN 送信済み以後は、
    261          *  IP アドレスとポート番号が一致する TCP 通信端点を探索する。
     239         *  状態が SYN 送信済み以後は、
     240         *  IP アドレスとポート番号が一致する TCP 通信端点を探索する。
    262241         */
    263242        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
     
    270249                }
    271250
    272         /* IPv4 で受動オープン中の TCP 通信端点をå
    273 ˆã«æŽ¢ç´¢ã™ã‚‹ã€‚*/   
     251        /* IPv4 で受動オープン中の TCP 通信端点を先に探索する。*/   
    274252        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
    275253                if ((cep->flags & TCP_CEP_FLG_IPV4)                   &&
     
    281259                }
    282260
    283         /* 受動オープン中の TCP 通信端点を探索する。*/       
     261        /* 受動オープン中の TCP 通信端点を探索する。*/   
    284262        for (cep = &tcp_cep[tmax_tcp_cepid]; cep -- != tcp_cep; ) {
    285263
     
    327305
    328306/*
    329  *  tcp_is_addr_accept -- 受信可能な IP アドレスとポート番号であることを確認する。
     307 *  tcp_is_addr_accept -- 受信可能な IP アドレスとポート番号であることを確認する。
    330308 */
    331309
     
    340318
    341319        /*
    342          *  次のときは破棄する。
    343          *    ・ポート番号が同一で、送受信 IP アドレス が同一。
    344          *      ただし、送信å
    345 ƒ IP アドレスがローカルループバックなら良い。
    346          *    ・マルチキャストアドレス
     320         *  次のときは破棄する。
     321         *    ・ポート番号が同一で、送受信 IP アドレス が同一。
     322         *      ただし、送信元 IP アドレスがローカルループバックなら良い。
     323         *    ・マルチキャストアドレス
    347324         */
    348325
     
    354331
    355332        /*
    356          *  次のときは、受信可能ではない。
    357          *    ・ポート番号が同一で、送受信 IP アドレス が同一。
    358          *    ・マルチキャストアドレス
     333         *  次のときは、受信可能ではない。
     334         *    ・ポート番号が同一で、送受信 IP アドレス が同一。
     335         *    ・マルチキャストアドレス
    359336         */
    360337        if (tcph->dport == tcph->sport && IN_ARE_HDR_ADDR_EQUAL(input))
     
    370347
    371348/*
    372  *  tcp_free_reassq -- 受信再構成キューのネットワークバッファを解放する。
     349 *  tcp_free_reassq -- 受信再構成キューのネットワークバッファを解放する。
    373350 *
    374  *    注意:
    375  *      å¿
    376 è¦ã§ã‚れば、この関数を呼び出す前に、通信端点をロックし、
    377  *      戻った後、解除するå¿
    378 è¦ãŒã‚る。
     351 *    注意:
     352 *      必要であれば、この関数を呼び出す前に、通信端点をロックし、
     353 *      戻った後、解除する必要がある。
    379354 */
    380355
     
    393368
    394369/*
    395  *  tcp_alloc_auto_port -- 自動割り当てポート番号を設定する。
     370 *  tcp_alloc_auto_port -- 自動割り当てポート番号を設定する。
    396371 */
    397372
     
    480455
    481456/*
    482  *  tcp_alloc_port -- 指定されたポート番号を設定する。
     457 *  tcp_alloc_port -- 指定されたポート番号を設定する。
    483458 */
    484459
     
    500475
    501476/*
    502  *  tcp_init -- TCP モジュールの初期化
     477 *  tcp_init -- TCP モジュールの初期化
    503478 */
    504479
     
    516491
    517492/*
    518  * tcp_init_iss シーケンス番号を初期化する。
     493 * tcp_init_iss シーケンス番号を初期化する。
    519494 */
    520495
     
    530505
    531506/*
    532  *  tcp_close -- コネクションを開放する。
     507 *  tcp_close -- コネクションを開放する。
    533508 */
    534509
     
    536511tcp_close (T_TCP_CEP *cep)
    537512{
    538         /* タイマーを停止する。*/
     513        /* タイマーを停止する。*/
    539514        tcp_cancel_timers(cep);
    540515
    541516        /*
    542          *  通信端点をロックし、
    543          *  受信再構成キューのネットワークバッファを解放する。
     517         *  通信端点をロックし、
     518         *  受信再構成キューのネットワークバッファを解放する。
    544519         */
    545520        syscall(wai_sem(cep->semid_lock));
     
    547522        syscall(sig_sem(cep->semid_lock));
    548523
    549         /* 状æ
    550 ‹ã‚’未使用にする。*/
     524        /* 状態を未使用にする。*/
    551525        cep->fsm_state = TCP_FSM_CLOSED;
    552526
    553527        /*
    554          * 以下に関係しないフラグをクリアーする。
    555          * ・送受信ウィンドバッファの省コピー機能
    556          * ・動的な通信端点の生成・削除機能
    557          * ・通信端点のネットワーク層プロトコル
     528         * 以下に関係しないフラグをクリアーする。
     529         * ・送受信ウィンドバッファの省コピー機能
     530         * ・動的な通信端点の生成・削除機能
     531         * ・通信端点のネットワーク層プロトコル
    558532         */
    559533        cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
     
    562536
    563537        if (cep->snd_nblk_tfn != TFN_TCP_UNDEF || cep->rcv_nblk_tfn != TFN_TCP_UNDEF) {
    564                 /* ノンブロッキングコール */
     538                /* ノンブロッキングコール */
    565539
    566540#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
     
    575549
    576550                                case TFN_TCP_ACP_CEP:
    577                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     551                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    578552                                        cep->rep = NULL;
    579553
     
    587561                                case TFN_TCP_RCV_BUF:
    588562
    589                                         /* 受信ウィンドバッファの空アドレスを獲得する。*/
     563                                        /* 受信ウィンドバッファの空アドレスを獲得する。*/
    590564                                        len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf);
    591565
    592                                         /* 異常切断等のエラーを設定する。*/
     566                                        /* 異常切断等のエラーを設定する。*/
    593567                                        if (cep->error == E_TMOUT)
    594568                                                len = E_CLS;
     
    601575                                case TFN_TCP_RCV_DAT:
    602576
    603                                         /* 受信ウィンドバッファからデータを取り出す。*/
     577                                        /* 受信ウィンドバッファからデータを取り出す。*/
    604578                                        len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len);
    605579
    606                                         /* 異常切断等のエラーを設定する。*/
     580                                        /* 異常切断等のエラーを設定する。*/
    607581                                        if (cep->error == E_TMOUT)
    608582                                                len = E_CLS;
     
    626600                                        }
    627601
    628                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     602                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    629603                                cep->rcv_tskid = TA_NULL;
    630604                                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    636610
    637611                                case TFN_TCP_CON_CEP:
    638                                         /* TCP 通信端点から TCP 受付口を解放する。*/
     612                                        /* TCP 通信端点から TCP 受付口を解放する。*/
    639613                                        cep->rep = NULL;
    640614
     
    659633                                        }
    660634
    661                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     635                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    662636                                cep->snd_tskid = TA_NULL;
    663637                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    678652                                case TFN_TCP_ACP_CEP:
    679653
    680                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     654                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    681655                                        cep->rep = NULL;
    682656
     
    685659#endif
    686660
    687                                         /* 接続エラーを設定する。*/
     661                                        /* 接続エラーを設定する。*/
    688662                                        len      = E_CLS;
    689663                                        (*cep->callback)(GET_TCP_CEPID(cep), cep->rcv_nblk_tfn, (void*)&len);
     
    692666                                case TFN_TCP_RCV_BUF:
    693667
    694                                         /* 受信ウィンドバッファの空アドレスを獲得する。*/
     668                                        /* 受信ウィンドバッファの空アドレスを獲得する。*/
    695669                                        len = TCP_GET_RWBUF_ADDR(cep, cep->rcv_p_buf);
    696670
    697                                         /* 異常切断等のエラーを設定する。*/
     671                                        /* 異常切断等のエラーを設定する。*/
    698672                                        if (cep->error == E_TMOUT)
    699673                                                len = E_CLS;
     
    706680                                case TFN_TCP_RCV_DAT:
    707681
    708                                         /* 受信ウィンドバッファからデータを取り出す。*/
     682                                        /* 受信ウィンドバッファからデータを取り出す。*/
    709683                                        len = TCP_READ_RWBUF(cep, cep->rcv_data, (uint_t)cep->rcv_len);
    710684
    711                                         /* 異常切断等のエラーを設定する。*/
     685                                        /* 異常切断等のエラーを設定する。*/
    712686                                        if (cep->error == E_TMOUT)
    713687                                                len = E_CLS;
     
    731705                                        }
    732706
    733                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     707                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    734708                                cep->rcv_tskid = TA_NULL;
    735709                                cep->rcv_tfn   = cep->rcv_nblk_tfn = TFN_TCP_UNDEF;
     
    743717                                case TFN_TCP_CON_CEP:
    744718
    745                                         /* TCP 通信端点からTCP 受付口を解放する。*/
     719                                        /* TCP 通信端点からTCP 受付口を解放する。*/
    746720                                        cep->rep = NULL;
    747721
     
    750724#endif
    751725
    752                                         /* 接続エラーを設定する。*/
     726                                        /* 接続エラーを設定する。*/
    753727                                        len      = E_CLS;
    754728                                        (*cep->callback)(GET_TCP_CEPID(cep), cep->snd_nblk_tfn, (void*)&len);
     
    769743                                        }
    770744
    771                                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     745                                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    772746                                cep->snd_tskid = TA_NULL;
    773747                                cep->snd_tfn   = cep->snd_nblk_tfn = TFN_TCP_UNDEF;
     
    779753
    780754                /*
    781                  *  通信端点をロックし、
    782                  *  送受信ウィンドバッファキューのネットワークバッファを解放する。
     755                 *  通信端点をロックし、
     756                 *  送受信ウィンドバッファキューのネットワークバッファを解放する。
    783757                 */
    784758                syscall(wai_sem(cep->semid_lock));
     
    787761                syscall(sig_sem(cep->semid_lock));
    788762
    789                 /* 未使用になったことを知らせる。*/
     763                /* 未使用になったことを知らせる。*/
    790764                syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED));
    791765                }
    792         else {  /* 非ノンブロッキングコール */
     766        else {  /* 非ノンブロッキングコール */
    793767
    794768#endif  /* of #ifdef TCP_CFG_NON_BLOCKING */
    795769
    796                 /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
     770                /* 記憶されているタスク ID と API 機能コードをクリアーする。*/
    797771                cep->snd_tskid = cep->rcv_tskid = TA_NULL;
    798772                cep->snd_tfn   = cep->rcv_tfn   = TFN_TCP_UNDEF;
    799773
    800774                /*
    801                  *  通信端点をロックし、
    802                  *  送受信ウィンドバッファキューのネットワークバッファを解放する。
     775                 *  通信端点をロックし、
     776                 *  送受信ウィンドバッファキューのネットワークバッファを解放する。
    803777                 */
    804778                syscall(wai_sem(cep->semid_lock));
     
    807781                syscall(sig_sem(cep->semid_lock));
    808782
    809                 /* 未使用になったことを知らせる。*/
     783                /* 未使用になったことを知らせる。*/
    810784                syscall(set_flg(cep->est_flgid, TCP_CEP_EVT_CLOSED));
    811785
    812786                /*
    813                  * å
    814 ¥å‡ºåŠ›ã‚¿ã‚¹ã‚¯ã‚’起床して、
    815                  * 送受信不可になったことを知らせる。
     787                 * 入出力タスクを起床して、
     788                 * 送受信不可になったことを知らせる。
    816789                 */
    817790                syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
     
    828801
    829802/*
    830  *  tcp_drop -- TCP 接続を破棄する。
     803 *  tcp_drop -- TCP 接続を破棄する。
    831804 */
    832805
     
    846819                cep->fsm_state = TCP_FSM_CLOSED;
    847820
    848                 /* 送信と、送信後コネクションの切断を指示する。*/
     821                /* 送信と、送信後コネクションの切断を指示する。*/
    849822                cep->flags |=  TCP_CEP_FLG_POST_OUTPUT | TCP_CEP_FLG_CLOSE_AFTER_OUTPUT;
    850823                sig_sem(SEM_TCP_POST_OUTPUT);
     
    857830
    858831/*
    859  *  tcp_respond -- TCP の単一メッセージを送信する。
     832 *  tcp_respond -- TCP の単一メッセージを送信する。
    860833 */
    861834
     
    872845
    873846        /*
    874          *  output が NULL でなければ、これはå
    875 ¥åŠ›ã—たセグメントの
    876          *  net_buf で、そのまま再利用する。
     847         *  output が NULL でなければ、これは入力したセグメントの
     848         *  net_buf で、そのまま再利用する。
    877849         */
    878850        if (output != NULL) {
     
    880852
    881853                /*
    882                  * IPv4 では、IP ヘッダのオプションを削除する。
    883                  * IPv6 では、拡張ヘッダを削除する。
     854                 * IPv4 では、IP ヘッダのオプションを削除する。
     855                 * IPv6 では、拡張ヘッダを削除する。
    884856                 */
    885857                if (IP_REMOVE_OPTIONS(output) != E_OK) {
     
    892864#if defined(_IP6_CFG)
    893865
    894                 /* トラヒッククラスとフローラベルをクリアする。*/
     866                /* トラヒッククラスとフローラベルをクリアする。*/
    895867                SET_IP_CF(output, 0);
    896868
    897869#endif  /* of #if defined(_IP6_CFG) */
    898870
    899                 /* TCP SDU 長を 0 にする。*/
     871                /* TCP SDU 長を 0 にする。*/
    900872                SET_IP_SDU_SIZE(output, TCP_HDR_SIZE);
    901873
    902874                tcph = GET_TCP_HDR(output, IF_IP_TCP_HDR_OFFSET(output));
    903875
    904                 /* ポート番号を交換する。*/
     876                /* ポート番号を交換する。*/
    905877                portno = tcph->sport;
    906878                tcph->sport = tcph->dport;
    907879                tcph->dport = portno;
    908880
    909                 /* TCP ヘッダにæƒ
    910 å ±ã‚’設定する。*/
     881                /* TCP ヘッダに情報を設定する。*/
    911882                tcph->doff = TCP_MAKE_DATA_OFF(TCP_HDR_SIZE);
    912883                }
    913884       
    914         /* cep が NULL であれば、何もしないで終了する。*/
     885        /* cep が NULL であれば、何もしないで終了する。*/
    915886        else if (cep == NULL)
    916887                return;
     
    931902
    932903        /*
    933          *  チェックサムを設定する。
     904         *  チェックサムを設定する。
    934905         */
    935906        hdr_offset = IF_IP_TCP_HDR_OFFSET(output);
     
    937908                             (uint_t)GET_TCP_HDR_SIZE(output, hdr_offset));
    938909
    939         /* ネットワークバッファ長を調整する。*/
     910        /* ネットワークバッファ長を調整する。*/
    940911        output->len = (uint16_t)GET_IF_IP_TCP_HDR_SIZE(output, hdr_offset);
    941912
     
    946917#endif  /* of #ifdef TCP_CFG_TRACE */
    947918
    948         /* ネットワーク層 (IP) の出力関数を呼び出す。*/
     919        /* ネットワーク層 (IP) の出力関数を呼び出す。*/
    949920        IP_OUTPUT(output, TMO_TCP_OUTPUT);
    950921        }
    951922#if 0
    952923/*
    953  *  tcp_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
     924 *  tcp_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
    954925 *
    955  *    戻り値 エラーコード
    956  *    optlen    オプションサイズ、4 オクテット単位
    957  *    maxlen    最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含まない)
    958  *    len       TCP SDU サイズ
     926 *    戻り値       エラーコード
     927 *    optlen    オプションサイズ、4 オクテット単位
     928 *    maxlen    最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含まない)
     929 *    len       TCP SDU サイズ
    959930 */
    960931
     
    966937        ER              error;
    967938
    968         /* IP データグラムを獲得する。*/
     939        /* IP データグラムを獲得する。*/
    969940        if ((error = IN_GET_DATAGRAM(nbuf,
    970941                                     (uint_t)(TCP_HDR_SIZE + optlen + len),
     
    978949                }
    979950
    980         /* TCP ヘッダにæƒ
    981 å ±ã‚’設定する。*/
    982 
    983         /* TCP ヘッダにæƒ
    984 å ±ã‚’設定する。*/
     951        /* TCP ヘッダに情報を設定する。*/
     952
     953        /* TCP ヘッダに情報を設定する。*/
    985954        tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf));
    986955        tcph->sport     = htons(cep->myaddr.portno);
     
    993962#endif
    994963/*
    995  *  tcpn_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
     964 *  tcpn_get_segment -- TCP セグメントを獲得し、ヘッダを設定する。
    996965 *
    997  *    戻り値 エラーコード
    998  *    optlen    オプションサイズ、4 オクテット単位
    999  *    maxlen    最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含む)
    1000  *    len       TCP SDU サイズ
     966 *    戻り値       エラーコード
     967 *    optlen    オプションサイズ、4 オクテット単位
     968 *    maxlen    最大セグメントサイズ(IF/IP/TCP ヘッダサイズを含む)
     969 *    len       TCP SDU サイズ
    1001970 */
    1002971
     
    1008977        ER              error;
    1009978
    1010         /* IP データグラムを獲得する。*/
     979        /* IP データグラムを獲得する。*/
    1011980        if ((error = IN_GET_DATAGRAM(nbuf,
    1012981                                     (uint_t)(TCP_HDR_SIZE + optlen + len),
     
    1020989                }
    1021990
    1022         /* TCP ヘッダにæƒ
    1023 å ±ã‚’設定する。*/
    1024 
    1025         /* TCP ヘッダにæƒ
    1026 å ±ã‚’設定する。*/
     991        /* TCP ヘッダに情報を設定する。*/
     992
     993        /* TCP ヘッダに情報を設定する。*/
    1027994        tcph = GET_TCP_HDR(*nbuf, IF_IP_TCP_HDR_OFFSET(*nbuf));
    1028995        tcph->sport     = htons(cep->myaddr.portno);
     
    10351002
    10361003/*
    1037  *  tcp_can_send_more -- 送信できるか、通信端点の状æ
    1038 ‹ã‚’見る。
     1004 *  tcp_can_send_more -- 送信できるか、通信端点の状態を見る。
    10391005 */
    10401006
     
    10441010        ER      error;
    10451011
    1046         /* 送信できるか、CEP の FSM 状æ
    1047 ‹ã‚’見る。*/
     1012        /* 送信できるか、CEP の FSM 状態を見る。*/
    10481013        if (!TCP_FSM_CAN_SEND_MORE(cep->fsm_state)) {
    10491014                if ((error = cep->error) == E_OK)
     
    10521017#ifdef TCP_CFG_NON_BLOCKING
    10531018
    1054                 /* タイムアウトをチェックする。*/
    1055                 if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1019                /* タイムアウトをチェックする。*/
     1020                if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    10561021
    10571022                        if (!IS_PTR_DEFINED(cep->callback))
    10581023                                error = E_OBJ;
    10591024                        else {
    1060                                 /* コールバック関数を呼び出す。*/
     1025                                /* コールバック関数を呼び出す。*/
    10611026#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    10621027                                (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error);
     
    10831048#ifdef TCP_CFG_NON_BLOCKING
    10841049
    1085                         /* タイムアウトをチェックする。*/
    1086                         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1050                        /* タイムアウトをチェックする。*/
     1051                        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    10871052                                if (!IS_PTR_DEFINED(cep->callback))
    10881053                                        error = E_OBJ;
     
    10901055                                        error = E_OBJ;
    10911056
    1092                                         /* コールバック関数を呼び出す。*/
     1057                                        /* コールバック関数を呼び出す。*/
    10931058#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    10941059                                        (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)error);
     
    11161081
    11171082/*
    1118  *  tcp_can_recv_more -- 受信できるか、通信端点の状æ
    1119 ‹ã‚’見る。
     1083 *  tcp_can_recv_more -- 受信できるか、通信端点の状態を見る。
    11201084 *
    1121  *  注意: 戻り値
     1085 *  注意: 戻り値
    11221086 *
    1123  *      E_OK    受信可能
    1124  *      E_OBJ   ç›¸æ‰‹ã‹ã‚‰åˆ‡æ–­ã•ã‚ŒãŸã‹ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—た。
     1087 *      E_OK    受信可能
     1088 *      E_OBJ   相手から切断されたか、エラーが発生した。
    11251089 */
    11261090
     
    11291093{
    11301094        /*
    1131          *  受信できるか、fsm_state を見る。受信できない場合は
    1132          *  長さ 0、またはエラーを返す。
     1095         *  受信できるか、fsm_state を見る。受信できない場合は
     1096         *  長さ 0、またはエラーを返す。
    11331097         */
    11341098        if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) &&
     
    11381102#ifdef TCP_CFG_NON_BLOCKING
    11391103
    1140                 /* タイムアウトをチェックする。*/
    1141                 if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1104                /* タイムアウトをチェックする。*/
     1105                if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    11421106
    11431107                        if (!IS_PTR_DEFINED(cep->callback))
    11441108                                *error = E_OBJ;
    11451109                        else {
    1146                                 /* コールバック関数を呼び出す。*/
     1110                                /* コールバック関数を呼び出す。*/
    11471111#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    11481112                                (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error);
     
    11571121
    11581122                /*
    1159                  *  通信端点をロックして、
    1160                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1123                 *  通信端点をロックして、
     1124                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    11611125                 */
    11621126                syscall(wai_sem(cep->semid_lock));
     
    11741138#ifdef TCP_CFG_NON_BLOCKING
    11751139
    1176                         /* タイムアウトをチェックする。*/
    1177                         if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
     1140                        /* タイムアウトをチェックする。*/
     1141                        if (tmout == TMO_NBLK) {        /* ノンブロッキングコール */
    11781142                                if (!IS_PTR_DEFINED(cep->callback))
    11791143                                        *error = E_OBJ;
     
    11811145                                        *error = E_OBJ;
    11821146
    1183                                         /* コールバック関数を呼び出す。*/
     1147                                        /* コールバック関数を呼び出す。*/
    11841148#ifdef TCP_CFG_NON_BLOCKING_COMPAT14
    11851149                                        (*cep->callback)(GET_TCP_CEPID(cep), fncd, (void*)*error);
     
    12061170
    12071171/*
    1208  *  tcp_wait_rwbuf -- 受信ウィンドバッファにデータがå
    1209 ¥ã‚‹ã®ã‚’å¾
    1210 ã¤ã€‚
     1172 *  tcp_wait_rwbuf -- 受信ウィンドバッファにデータが入るのを待つ。
    12111173 */
    12121174
     
    12181180
    12191181        if (cep->rwbuf_count == 0) {
    1220                 /* 受信ウィンドバッファにデータがなければ、å
    1221 ¥åŠ›ãŒã‚るまでå¾
    1222 ã¤ã€‚*/
     1182                /* 受信ウィンドバッファにデータがなければ、入力があるまで待つ。*/
    12231183                while (cep->rwbuf_count == 0) {
    12241184                        if ((error = twai_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY, TWF_ORW, &flag, tmout)) != E_OK) {
     
    12281188
    12291189                        /*
    1230                          *  受信できるか、fsm_state を見る。受信できない状æ
    1231 ‹ã§ã€
    1232                          *  受信ウィンドバッファに文字がない場合は終了する。
     1190                         *  受信できるか、fsm_state を見る。受信できない状態で、
     1191                         *  受信ウィンドバッファに文字がない場合は終了する。
    12331192                         */
    12341193                        if (!TCP_FSM_CAN_RECV_MORE(cep->fsm_state) &&
     
    12361195
    12371196                                /*
    1238                                  *  通信端点をロックして、
    1239                                  *  受信ウィンドバッファキューのネットワークバッファを解放する。
     1197                                 *  通信端点をロックして、
     1198                                 *  受信ウィンドバッファキューのネットワークバッファを解放する。
    12401199                                 */
    12411200                                syscall(wai_sem(cep->semid_lock));
     
    12551214
    12561215/*
    1257  *  tcp_move_ra2rw -- 受信再構成キューで再構成したセグメントを受信ウィンドバッファに書き込む。
     1216 *  tcp_move_ra2rw -- 受信再構成キューで再構成したセグメントを受信ウィンドバッファに書き込む。
    12581217 */
    12591218
     
    12651224
    12661225        /*
    1267          *  受信データを受信ウィンドバッファに書き込み、
    1268          *  rcv_nxt を完了した SEQ だけ進める。
     1226         *  受信データを受信ウィンドバッファに書き込み、
     1227         *  rcv_nxt を完了した SEQ だけ進める。
    12691228         */
    12701229        if (TCP_FSM_HAVE_ESTABLISHED(cep->fsm_state)) {
     
    12751234                                break;
    12761235
    1277                         /* 次のセグメントに進む。*/
     1236                        /* 次のセグメントに進む。*/
    12781237                        cep->reassq = qhdr->next;
    12791238
    1280                         /* FIN フラグのみ残す。*/
     1239                        /* FIN フラグのみ残す。*/
    12811240                        flags &= TCP_FLG_FIN;
    12821241
    1283                         /* データを受信ウィンドバッファに書き込む。*/
     1242                        /* データを受信ウィンドバッファに書き込む。*/
    12841243                        TCP_WRITE_RWBUF(cep, q, (uint_t)(GET_IP_TCP_Q_HDR_OFFSET(q)));
    12851244                        }
     
    12931252
    12941253/*
    1295  *  tcp_write_raque -- 受信セグメントを再構成して、受信再構成キューに繋ぐ。
     1254 *  tcp_write_raque -- 受信セグメントを再構成して、受信再構成キューに繋ぐ。
    12961255 */
    12971256
     
    13041263        int32_t         len;
    13051264
    1306         /*  TCP ヘッダの位置を保存する。*/
     1265        /*  TCP ヘッダの位置を保存する。*/
    13071266        SET_IP_TCP_Q_HDR_OFFSET(input, thoff);
    13081267
    13091268        /*
    1310          *  MAX_TCP_REALLOC_SIZE 以下の場合は、新たにネットワークバッファを
    1311          *  割当てて、データをコピーする。
    1312          *  このとき、IP のオプション(拡張ヘッダ)と TCP のオプションは削除する。
     1269         *  MAX_TCP_REALLOC_SIZE 以下の場合は、新たにネットワークバッファを
     1270         *  割当てて、データをコピーする。
     1271         *  このとき、IP のオプション(拡張ヘッダ)と TCP のオプションは削除する。
    13131272         */
    13141273        len  = IF_IP_TCP_HDR_SIZE(input) + inqhdr->slen;
     
    13171276
    13181277                /*
    1319                  *  ネットワークバッファが確保できないときは割当てない。
     1278                 *  ネットワークバッファが確保できないときは割当てない。
    13201279                 */
    13211280                if (tget_net_buf(&new, (uint_t)len, TMO_TCP_GET_NET_BUF) != E_OK)
     
    13421301
    13431302        /*
    1344          *  今回追加するセグメントより前(p)と後(q)のセグメントを探す。
     1303         *  今回追加するセグメントより前(p)と後(q)のセグメントを探す。
    13451304         *
    13461305         *    +-------------------------+
     
    13651324
    13661325        /*
    1367          *  前(p)のセグメントがあれば、既に、今回と同じセグメントが
    1368          *  あることもある。その場合は、その部分またはå
    1369 ¨ã¦ã‚’破棄する。
     1326         *  前(p)のセグメントがあれば、既に、今回と同じセグメントが
     1327         *  あることもある。その場合は、その部分または全てを破棄する。
    13701328         *
    13711329         *    qhdr->seq
     
    13891347
    13901348                        /*
    1391                          *  len が正であれば、前(p) のセグメントと今回の
    1392                          *  セグメントが重なっている。
     1349                         *  len が正であれば、前(p) のセグメントと今回の
     1350                         *  セグメントが重なっている。
    13931351                         */
    13941352                        if (len >= inqhdr->slen) {
    13951353
    13961354                                /*
    1397                                  *  len が今回のセグメントと同じなら
    1398                                  *  まったく同じセグメントなので何もしない。
     1355                                 *  len が今回のセグメントと同じなら
     1356                                 *  まったく同じセグメントなので何もしない。
    13991357                                 */
    14001358                                if (new != NULL) {
     
    14071365
    14081366                        /*
    1409                          *  追加するセグメントの SDU を len 分前に詰める。
     1367                         *  追加するセグメントの SDU を len 分前に詰める。
    14101368                         */
    14111369                        inqhdr->seq  += len;
     
    14161374
    14171375        /*
    1418          *  キューにつなぐ前に、新しいネットワークバッファにデータを移す。
    1419          *  TCP のオプションは削除する。
     1376         *  キューにつなぐ前に、新しいネットワークバッファにデータを移す。
     1377         *  TCP のオプションは削除する。
    14201378         */
    14211379        if (new != NULL) {
     
    14301388
    14311389        /*
    1432          *  重なる後(q)のセグメントを調整する。
     1390         *  重なる後(q)のセグメントを調整する。
    14331391         *
    14341392         *    inqhdr->seq
     
    14501408                len = inqhdr->seq + inqhdr->slen - qhdr->seq;
    14511409                if (len <= 0)
    1452                         /* len が負なら重なっていない。*/
     1410                        /* len が負なら重なっていない。*/
    14531411                        break;
    14541412                else if (len < qhdr->slen) {
    14551413
    14561414                        /*
    1457                          *  後ろで重なっているセグメントの SDU を len 分前に詰める。
     1415                         *  後ろで重なっているセグメントの SDU を len 分前に詰める。
    14581416                         *
    14591417                         *    inqhdr->seq
     
    14991457
    15001458/*
    1501  *  tcp_rexmt_val -- 再送タイムアウト値を返す。
     1459 *  tcp_rexmt_val -- 再送タイムアウト値を返す。
    15021460 */
    15031461
     
    15151473
    15161474/*
    1517  *  tcp_init_cep -- 通信端点を初期化する。
     1475 *  tcp_init_cep -- 通信端点を初期化する。
    15181476 */
    15191477
     
    15241482#ifdef TCP_CFG_RWBUF_CSAVE
    15251483        /*
    1526          * 受信ウィンドバッファの省コピー機能を有効にした場合、
    1527          * 受信ウィンドバッファがå
    1528 ¨ã¦è§£æ”¾ã•ã‚Œãªã„ことがあるので、
    1529          * ここで解放する。
     1484         * 受信ウィンドバッファの省コピー機能を有効にした場合、
     1485         * 受信ウィンドバッファが全て解放されないことがあるので、
     1486         * ここで解放する。
    15301487         */
    15311488        if (cep->rwbufq != NULL) {
     
    15421499        cep->rbuf_rptr  = cep->rbuf_wptr = cep->rbuf;
    15431500
    1544         cep->maxseg     = DEF_TCP_SND_SEG;              /* 送信最大セグメントサイズ         */
    1545         cep->srtt       = TCP_TVAL_SRTT_BASE;           /* 滑らかな移動平均                     */
     1501        cep->maxseg     = DEF_TCP_SND_SEG;              /* 送信最大セグメントサイズ         */
     1502        cep->srtt       = TCP_TVAL_SRTT_BASE;           /* 滑らかな移動平均                     */
    15461503        cep->rttvar     = ((TCP_TVAL_RTO_BASE - TCP_TVAL_SRTT_BASE) << TCP_RTTVAR_SHIFT) / 4;
    1547                                                         /* 滑らかな分散                           */
    1548         cep->rxtcur     = TCP_TVAL_RTO_BASE;            /* 現在の再送値                           */
    1549         cep->snd_cwnd   =  MAX_TCP_WIN_SIZE;            /* 輻輳ウィンドサイズ                  */
    1550         cep->snd_ssthresh= MAX_TCP_WIN_SIZE;            /* 輻輳ウィンドサイズ(snd_cwnd)の     åˆ¶é™å€¤       */
     1504                                                        /* 滑らかな分散                               */
     1505        cep->rxtcur     = TCP_TVAL_RTO_BASE;            /* 現在の再送値                               */
     1506        cep->snd_cwnd   =  MAX_TCP_WIN_SIZE;            /* 輻輳ウィンドサイズ                    */
     1507        cep->snd_ssthresh= MAX_TCP_WIN_SIZE;            /* 輻輳ウィンドサイズ(snd_cwnd)の 制限値     */
    15511508
    15521509        /*
    1553          * 以下に関係しないフラグをクリアーする。
    1554          * ・送受信ウィンドバッファの省コピー機能
    1555          * ・動的な通信端点の生成・削除機能
    1556          * ・通信端点のネットワーク層プロトコル
     1510         * 以下に関係しないフラグをクリアーする。
     1511         * ・送受信ウィンドバッファの省コピー機能
     1512         * ・動的な通信端点の生成・削除機能
     1513         * ・通信端点のネットワーク層プロトコル
    15571514         */
    15581515        cep->flags &= TCP_CEP_FLG_NOT_CLEAR;
    15591516
    1560         /* セマフォを初期化する。*/
     1517        /* セマフォを初期化する。*/
    15611518        sig_sem(cep->semid_lock);
    15621519
    1563         /* フラグを初期化する。*/
     1520        /* フラグを初期化する。*/
    15641521        syscall(set_flg(cep->snd_flgid, TCP_CEP_EVT_SWBUF_READY));
    15651522        syscall(clr_flg(cep->rcv_flgid, TCP_CEP_EVT_RWBUF_READY));
     
    15671524
    15681525/*
    1569  *  tcp_notify -- ICMP エラーの処理
     1526 *  tcp_notify -- ICMP エラーの処理
    15701527 */
    15711528
     
    15781535
    15791536                /*
    1580                  *  コネクション開設済で、ホスト到達不能エラーの場合は、
    1581                  *  再送により処理する。
     1537                 *  コネクション開設済で、ホスト到達不能エラーの場合は、
     1538                 *  再送により処理する。
    15821539                 */
    15831540                if (cep->fsm_state == TCP_FSM_ESTABLISHED &&
     
    15861543
    15871544                /*
    1588                  *  コネクション開設中、同じエラーを何度か受信した場合は、
    1589                  *  å¾
    1590 ã¡çŠ¶æ
    1591 ‹ã‚’解除し、対応する関数にエラーを返させる。
     1545                 *  コネクション開設中、同じエラーを何度か受信した場合は、
     1546                 *  待ち状態を解除し、対応する関数にエラーを返させる。
    15921547                 */
    15931548                if (cep->fsm_state < TCP_FSM_ESTABLISHED && cep->rxtshift > 3 && cep->net_error != E_OK) {
     
    15981553                        cep->net_error = error;
    15991554
    1600                         /* 送信を指示する。*/
     1555                        /* 送信を指示する。*/
    16011556                        cep->flags |=  TCP_CEP_FLG_POST_OUTPUT;
    16021557                        sig_sem(SEM_TCP_POST_OUTPUT);
     
    16061561
    16071562/*
    1608  *  tcp_lock_cep -- TCP 通信端点をロックする。
     1563 *  tcp_lock_cep -- TCP 通信端点をロックする。
    16091564 */
    16101565
     
    16171572        *p_cep = NULL;
    16181573
    1619         /* TCP 通信端点 ID をチェックする。*/
     1574        /* TCP 通信端点 ID をチェックする。*/
    16201575        if (!VALID_TCP_CEPID(cepid))
    16211576                return E_ID;
    16221577
    1623         /* TCP 通信端点を得る。*/
     1578        /* TCP 通信端点を得る。*/
    16241579        cep = GET_TCP_CEP(cepid);
    16251580
    1626         /* TCP 通信端点をロックする。*/
     1581        /* TCP 通信端点をロックする。*/
    16271582        syscall(wai_sem(cep->semid_lock));
    16281583
    1629         /* TCP 通信端点をチェックする。*/
     1584        /* TCP 通信端点をチェックする。*/
    16301585        if (!VALID_TCP_CEP(cep)) {
    16311586                syscall(sig_sem(cep->semid_lock));
     
    16341589
    16351590        /*
    1636          *  API 機能コードとタスク識別子を記録する。
    1637          *  すでに記録されていれば、ペンディング中なのでエラー
     1591         *  API 機能コードとタスク識別子を記録する。
     1592         *  すでに記録されていれば、ペンディング中なのでエラー
    16381593         */
    16391594        if (IS_TFN_TCP_RCV(tfn)) {
     
    16571612                }
    16581613
    1659         /* 通信端点のロックを解除する。*/
     1614        /* 通信端点のロックを解除する。*/
    16601615        syscall(sig_sem(cep->semid_lock));
    16611616
     
    16671622
    16681623/*
    1669  *  トレース出力に用いるシリアルポート番号
     1624 *  トレース出力に用いるシリアルポート番号
    16701625 */
    16711626
     
    16751630
    16761631/*
    1677  *  コネクションの状æ
    1678 ‹
     1632 *  コネクションの状態
    16791633 */
    16801634
     
    16941648
    16951649/*
    1696  *  trace_putchar -- シリアルポートへの文字出力
     1650 *  trace_putchar -- シリアルポートへの文字出力
    16971651 */
    16981652
     
    17051659
    17061660/*
    1707  *  シリアルポートへの書式付文字列出力ライブラリ
    1708  */
    1709 
    1710 /*
    1711  *  数値変換のための変換表
     1661 *  シリアルポートへの書式付文字列出力ライブラリ
     1662 */
     1663
     1664/*
     1665 *  数値変換のための変換表
    17121666 */
    17131667
     
    17161670
    17171671/*
    1718  *  convert -- trace_printf の数値変換
     1672 *  convert -- trace_printf の数値変換
    17191673 */
    17201674
     
    17531707
    17541708/*
    1755  *  trace_printf -- シリアルポートへの書式付文字列出力
     1709 *  trace_printf -- シリアルポートへの書式付文字列出力
    17561710 */
    17571711
     
    17661720        va_start(ap, fmt);
    17671721        while ((ch = *fmt ++) != '\0') {
    1768                 if (ch != '%') {                /* 書式指定以外 */
     1722                if (ch != '%') {                /* 書式指定以外 */
    17691723                        trace_putchar(portid, (char)ch);
    17701724                        continue;
     
    17731727                width = longflag = 0;
    17741728                padchar = ' ';
    1775                 if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
     1729                if ((ch = *fmt ++) == '0') {    /* 上位桁の 0 */
    17761730                        padchar = '0';
    17771731                        ch = *fmt ++;
    17781732                        }
    17791733
    1780                 while ('0' <= ch && ch <= '9') {        /* 出力å¹
    1781  */
     1734                while ('0' <= ch && ch <= '9') {        /* 出力幅 */
    17821735                        width = width * 10 + ch - '0';
    17831736                        ch = *fmt ++;
    17841737                        }
    17851738
    1786                 while (ch == 'l') {             /* long (long) の指定 */
     1739                while (ch == 'l') {             /* long (long) の指定 */
    17871740                        longflag ++;
    17881741                        ch = *fmt ++;
     
    18451798
    18461799/*
    1847  *  TCP フラグ文字列
     1800 *  TCP フラグ文字列
    18481801 */
    18491802
     
    18641817
    18651818/*
    1866  *  送信 TCP ヘッダのトレース出力
     1819 *  送信 TCP ヘッダのトレース出力
    18671820 */
    18681821
     
    19251878
    19261879/*
    1927  *  受信 TCP ヘッダのトレース出力
     1880 *  受信 TCP ヘッダのトレース出力
    19281881 *
    1929  *    注意: TCP ヘッダå†
    1930 ã¯ã€ã™ã§ã«ãƒ›ã‚¹ãƒˆãƒã‚¤ãƒˆã‚ªãƒ¼ãƒ€
     1882 *    注意: TCP ヘッダ内は、すでにホストバイトオーダ
    19311883 */
    19321884
Note: See TracChangeset for help on using the changeset viewer.