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/tecsgen/tecs/rpc/tSocketClient.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    55 *   Copyright (C) 2008-2013 by TOPPERS Project
    66 *--
    7  *   ä¸Šè¨˜è‘—作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã®(1)(4)の条件を満たす場合に限り,本ソフトウェ
    9  *   ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
    10  *   å¤‰ãƒ»å†é
    11 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    12  *   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    13  *       æ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定が,そのままの形でソー
    14  *       ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã«å«ã¾ã‚Œã¦ã„ること.
    15  *   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    16  *       ç”¨ã§ãã‚‹å½¢ã§å†é
    17 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    18 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    19  *       è€
    20 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    21  *       ã®ç„¡ä¿è¨¼è¦å®šã‚’掲載すること.
    22  *   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    23  *       ç”¨ã§ããªã„形で再é
    24 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    25  *       ã¨ï¼Ž
    26  *     (a) 再é
    27 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    28 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    29  *         ä½œæ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定を掲載すること.
    30  *     (b) 再é
    31 å¸ƒã®å½¢æ
    32 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    33  *         å ±å‘Šã™ã‚‹ã“と.
    34  *   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    35  *       å®³ã‹ã‚‰ã‚‚,上記著作権è€
    36 ãŠã‚ˆã³TOPPERSプロジェクトをå
    37 è²¬ã™ã‚‹ã“と.
    38  *       ã¾ãŸï¼Œæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒ¦ãƒ¼ã‚¶ã¾ãŸã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã„かなる理
    39  *       ç”±ã«åŸºã¥ãè«‹æ±‚からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトを
    41  *       å
    42 è²¬ã™ã‚‹ã“と.
     7 *   上記著作権者は,以下の(1)(4)の条件を満たす場合に限り,本ソフトウェ
     8 *   ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     9 *   変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     10 *   (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     11 *       権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     12 *       スコード中に含まれていること.
     13 *   (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     14 *       用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     15 *       者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     16 *       の無保証規定を掲載すること.
     17 *   (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     18 *       用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     19 *       と.
     20 *     (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     21 *         作権表示,この利用条件および下記の無保証規定を掲載すること.
     22 *     (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     23 *         報告すること.
     24 *   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     25 *       害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     26 *       また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     27 *       由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     28 *       免責すること.
    4329 * 
    44  *   æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
    45 ãŠ
    46  *   ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    47  *   ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
    48  *   ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
    49  *   ã®è²¬ä»»ã‚’負わない.
     30 *   本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     31 *   よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     32 *   に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     33 *   アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     34 *   の責任を負わない.
    5035 * 
    5136 *   $Id$
     
    7459
    7560#ifndef E_OK
    76 #define E_OK    0               /* 正常終了 */
    77 #define E_ID    (-18)   /* 不正ID番号 */
     61#define E_OK    0               /* 正常終了 */
     62#define E_ID    (-18)   /* 不正ID番号 */
    7863#endif
    7964
    80 /* 受け口関数 #_TEPF_# */
     65/* 受け口関数 #_TEPF_# */
    8166/* #[<ENTRY_PORT>]# eC0
    8267 * entry port: eC0
     
    10489        }
    10590
    106         /* ここに処理本体を記述します */
    107         // mikan BUG  buf の位置を更新していない
     91        /* ここに処理本体を記述します */
     92        // mikan BUG  buf の位置を更新していない
    10893        while(size>0){
    10994                if((sz=write( VAR_sd, buf, (ssize_t)size )) < 0 ){
     
    140125        }
    141126
    142         /* ここに処理本体を記述します */
    143         /* write はバッファリングなしなので flush しない */
     127        /* ここに処理本体を記述します */
     128        /* write はバッファリングなしなので flush しない */
    144129
    145130        return(ercd);
     
    164149        }
    165150
    166         /* ここに処理本体を記述します */
     151        /* ここに処理本体を記述します */
    167152        sz = read( VAR_sd, buf, (ssize_t)size );
    168153        ercd = errno2ER( errno );
     
    178163        }
    179164#endif
    180         /* mikan 一発でå
    181 ¨ã¦èª­ã‚ã‚‹ã¨ä»®å®š */
     165        /* mikan 一発で全て読めると仮定 */
    182166        if( sz >= 0 )
    183167                ercd = sz;
     
    203187        }
    204188
    205         /* ここに処理本体を記述します #_TEFB_# */
     189        /* ここに処理本体を記述します #_TEFB_# */
    206190
    207191        return(ercd);
     
    225209        }
    226210
    227         /* ここに処理本体を記述します */
     211        /* ここに処理本体を記述します */
    228212
    229213        return(ercd);
     
    256240        }
    257241
    258         /* ここに処理本体を記述します #_TEFB_# */
     242        /* ここに処理本体を記述します #_TEFB_# */
    259243        soc=socket(AF_INET, SOCK_STREAM, 0);
    260244        if(soc<0){
     
    265249
    266250#if 0
    267 /* ノンブロックに変更 */
     251/* ノンブロックに変更 */
    268252        int flag=fcntl(soc, F_GETFL, 0);
    269253        if(flag<0) perror("fcntl(GET) error");
     
    286270        if(errno!=EINPROGRESS)
    287271                perror("connect error");
    288         //EINPROGRESS:コネクション要求は始まったが、まだ完了していない
     272        //EINPROGRESS:コネクション要求は始まったが、まだ完了していない
    289273
    290274        fd_set rmask,wmask;FD_ZERO(&rmask);FD_SET(soc,&rmask);wmask=rmask;
    291         struct timeval tv={ タイムアウト時間[秒],[μ秒] };
     275        struct timeval tv={ タイムアウト時間[秒],[μ秒] };
    292276        int rc=select(soc+1, &rmask, &wmask, NULL, &tv);
    293277        if(rc<0) perror("connect-select error");
    294         if(rc==0){ タイムアウト処理 }
    295         if(rc==2){ //読み書きが同時に出来る場合
     278        if(rc==0){ タイムアウト処理 }
     279        if(rc==2){ //読み書きが同時に出来る場合
    296280#if Solaris
    297281                int val;
     
    303287                        if(getpeername(soc,(struct sockaddr*)&name,&len)>=0) {
    304288#endif
    305                                 // 既にデータが来ている
     289                                // 既にデータが来ている
    306290                        }else{
    307                                 // コネクト失敗
     291                                // コネクト失敗
    308292                        }
    309293                }
    310294        }
    311 //フラグをå
    312 ƒã«æˆ»ã™
     295//フラグを元に戻す
    313296        if(fcntl(soc, F_SETFL, flag)<0) perror("fcntl(END) error");
    314297#endif /* 0 */
     
    357340        }
    358341
    359         /* ここに処理本体を記述します #_TEFB_# */
    360         close( VAR_sd );       /* mikan エラー処理 */
     342        /* ここに処理本体を記述します #_TEFB_# */
     343        close( VAR_sd );       /* mikan エラー処理 */
    361344
    362345        return(ercd);
Note: See TracChangeset for help on using the changeset viewer.