Changeset 389 for azure_iot_hub/trunk/asp3_dcre/syssvc/tSerialAdapter.c
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/syssvc/tSerialAdapter.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * 9 * ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 11 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 12 * å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 14 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 15 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 16 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 17 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 18 * ç¨ã§ããå½¢ã§åé 19 å¸ããå ´åã«ã¯ï¼åé 20 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 21 * è 22 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 23 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 24 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 * ç¨ã§ããªãå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 27 * ã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (b) åé 33 å¸ã®å½¢æ 34 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 35 * å ±åãããã¨ï¼ 36 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 37 * 害ãããï¼ä¸è¨èä½æ¨©è 38 ããã³TOPPERSããã¸ã§ã¯ããå 39 責ãããã¨ï¼ 40 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 41 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 42 ããã³TOPPERSããã¸ã§ã¯ãã 43 * å 44 責ãããã¨ï¼ 9 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 * 免責すること. 45 31 * 46 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 47 ã 48 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 49 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 50 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 51 * ã®è²¬ä»»ãè² ããªãï¼ 32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 52 37 * 53 38 * $Id$ … … 55 40 56 41 /* 57 * C è¨èªã§è¨è¿°ãããã¢ããªã±ã¼ã·ã§ã³ããï¼TECSãã¼ã¹ã®ã·ãªã¢ã«ã¤ã³58 * ã¿ãã§ã¼ã¹ãã©ã¤ããå¼ã³åºãããã®ã¢ããã¿42 * C言語で記述されたアプリケーションから,TECSベースのシリアルイン 43 * タフェースドライバを呼び出すためのアダプタ 59 44 */ 60 45 … … 63 48 64 49 /* 65 * ã·ãªã¢ã«ãã¼ãã®ãªã¼ãã³ï¼ãµã¼ãã¹ã³ã¼ã«ï¼50 * シリアルポートのオープン(サービスコール) 66 51 */ 67 52 ER 68 53 serial_opn_por(ID portid) 69 54 { 70 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/55 if (sns_dpn()) { /* コンテキストのチェック */ 71 56 return(E_CTX); 72 57 } 73 58 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 74 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/59 return(E_ID); /* ポート番号のチェック */ 75 60 } 76 61 … … 79 64 80 65 /* 81 * ã·ãªã¢ã«ãã¼ãã®ã¯ãã¼ãºï¼ãµã¼ãã¹ã³ã¼ã«ï¼66 * シリアルポートのクローズ(サービスコール) 82 67 */ 83 68 ER 84 69 serial_cls_por(ID portid) 85 70 { 86 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/71 if (sns_dpn()) { /* コンテキストのチェック */ 87 72 return(E_CTX); 88 73 } 89 74 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 90 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/75 return(E_ID); /* ポート番号のチェック */ 91 76 } 92 77 … … 95 80 96 81 /* 97 * ã·ãªã¢ã«ãã¼ãããã®æåååä¿¡ï¼ãµã¼ãã¹ã³ã¼ã«ï¼82 * シリアルポートからの文字列受信(サービスコール) 98 83 */ 99 84 ER_UINT 100 85 serial_trea_dat(ID portid, char *buf, uint_t len, TMO tmout) 101 86 { 102 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/87 if (sns_dpn()) { /* コンテキストのチェック */ 103 88 return(E_CTX); 104 89 } 105 90 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 106 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/91 return(E_ID); /* ポート番号のチェック */ 107 92 } 108 93 … … 111 96 112 97 /* 113 * ã·ãªã¢ã«ãã¼ãã¸ã®æååéä¿¡ï¼ãµã¼ãã¹ã³ã¼ã«ï¼98 * シリアルポートへの文字列送信(サービスコール) 114 99 */ 115 100 ER_UINT 116 101 serial_wri_dat(ID portid, const char *buf, uint_t len) 117 102 { 118 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/103 if (sns_dpn()) { /* コンテキストのチェック */ 119 104 return(E_CTX); 120 105 } 121 106 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 122 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/107 return(E_ID); /* ポート番号のチェック */ 123 108 } 124 109 … … 127 112 128 113 /* 129 * ã·ãªã¢ã«ãã¼ãã®å¶å¾¡ï¼ãµã¼ãã¹ã³ã¼ã«ï¼114 * シリアルポートの制御(サービスコール) 130 115 */ 131 116 ER 132 117 serial_ctl_por(ID portid, uint_t ioctl) 133 118 { 134 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/119 if (sns_dpn()) { /* コンテキストのチェック */ 135 120 return(E_CTX); 136 121 } 137 122 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 138 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/123 return(E_ID); /* ポート番号のチェック */ 139 124 } 140 125 … … 143 128 144 129 /* 145 * ã·ãªã¢ã«ãã¼ãç¶æ 146 ã®åç 147 §ï¼ãµã¼ãã¹ã³ã¼ã«ï¼ 130 * シリアルポート状態の参照(サービスコール) 148 131 */ 149 132 ER 150 133 serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor) 151 134 { 152 if (sns_dpn()) { /* ã³ã³ããã¹ãã®ãã§ãã¯*/135 if (sns_dpn()) { /* コンテキストのチェック */ 153 136 return(E_CTX); 154 137 } 155 138 if (!(1 <= portid && portid <= N_CP_cSerialPort)) { 156 return(E_ID); /* ãã¼ãçªå·ã®ãã§ãã¯*/139 return(E_ID); /* ポート番号のチェック */ 157 140 } 158 141
Note:
See TracChangeset
for help on using the changeset viewer.