Changeset 321 for EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_fbs.h
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_fbs.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r270 r321 4 4 * Copyright (C) 2014-2016 Cores Co., Ltd. Japan 5 5 * 6 * ä¸è¨èä½æ¨©è 7 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 8 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 9 * å¤ã»åé 10 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 11 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 12 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 13 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 14 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 15 * ç¨ã§ããå½¢ã§åé 16 å¸ããå ´åã«ã¯ï¼åé 17 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 18 * è 19 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 20 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 21 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 22 * ç¨ã§ããªãå½¢ã§åé 23 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 24 * ã¨ï¼ 25 * (a) åé 26 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 27 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 28 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 29 * (b) åé 30 å¸ã®å½¢æ 31 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 32 * å ±åãããã¨ï¼ 33 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 34 * 害ãããï¼ä¸è¨èä½æ¨©è 35 ããã³TOPPERSããã¸ã§ã¯ããå 36 責ãããã¨ï¼ 37 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 38 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ãã 40 * å 41 責ãããã¨ï¼ 42 * 43 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã 45 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 46 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 47 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 48 * ã®è²¬ä»»ãè² ããªãï¼ 49 * 50 */ 51 52 /* 53 * åºå®é·ãããã¡å¯å¤é·ã¹ããªã¼ã 6 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 34 * 35 */ 36 37 /* 38 * 固定長バッファ可変長ストリーム 54 39 */ 55 40 … … 66 51 67 52 #ifndef NUM_ECHONET_MEMPOOL_BLOCK 68 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* é»æç¨ã¡ã¢ãªãããã¯ã®æ°*/53 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* 電文用メモリブロックの数 */ 69 54 #endif /* NUM_ECHONET_MEMPOOL_BLOCK */ 70 55 71 56 #ifndef ECHONET_MEMPOOL_BLOCK_SIZE 72 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* é»æç¨ã¡ã¢ãªãããã¯ã®ãµã¤ãº*/57 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* 電文用メモリブロックのサイズ */ 73 58 #endif /* ECHONET_MEMPOOL_BLOCK_SIZE */ 74 59 75 typedef unsigned int ECN_FBS_SIZE_T; /* size_t ç¸å½*/76 typedef int ECN_FBS_SSIZE_T; /* ssize_t ç¸å½*/77 78 /* T_EDATA 管çé åãµã¤ãº*/60 typedef unsigned int ECN_FBS_SIZE_T; /* size_t相当 */ 61 typedef int ECN_FBS_SSIZE_T; /* ssize_t相当 */ 62 63 /* T_EDATA管理領域サイズ */ 79 64 #define DEF_ECN_EDT_HDR_LEN (sizeof(intptr_t)) 80 65 81 /* 管çé åãµã¤ãº(64byte - sizeof(T_MSG)) */66 /* 管理領域サイズ(64byte - sizeof(T_MSG)) */ 82 67 /* #define DEF_ECN_FBS_LIB_HDR_LEN ((ECHONET_MEMPOOL_BLOCK_SIZE + sizeof(int) - 1)>> 2) // */ 83 68 #define DEF_ECN_FBS_LIB_HDR_LEN (64 - DEF_ECN_EDT_HDR_LEN) 84 69 85 /* 管çé åãå«ããããã¯ã«ä¿æãããã¼ã¿ãµã¤ãº*/70 /* 管理領域を含むブロックに保持するデータサイズ */ 86 71 #define DEF_ECN_FBS_FST_DAT_LEN (64) 87 72 88 /* ãªã³ã¯ãã¤ã³ã¿é 89 åã®ãµã¤ãº(byte) */ 73 /* リンクポインタ配列のサイズ(byte) */ 90 74 #define DEF_ECN_FBS_LNK_LEN (ECHONET_MEMPOOL_BLOCK_SIZE - DEF_ECN_EDT_HDR_LEN - DEF_ECN_FBS_LIB_HDR_LEN - DEF_ECN_FBS_FST_DAT_LEN) 91 75 92 /* åºå®é·ãããã¡æ大ãµã¤ãº*/76 /* 固定長バッファ最大サイズ */ 93 77 #define DEF_ECN_FBS_BUF_MAXLEN ((DEF_ECN_FBS_LNK_LEN / sizeof(void *)) * ECHONET_MEMPOOL_BLOCK_SIZE + DEF_ECN_FBS_FST_DAT_LEN) 94 78 95 /* åè¦ç´ ãããã¡ã®ãµã¤ãº*/79 /* 子要素バッファのサイズ */ 96 80 #define DEF_ECN_FBS_SUB_BUF_LEN ECHONET_MEMPOOL_BLOCK_SIZE 97 81 98 /* é»æã®ç¨®å¥(å 99 容ã¯ä»®) */ 82 /* 電文の種別(内容は仮) */ 100 83 typedef enum 101 84 { 102 ECN_FBS_TYPE_BLANK = 0, /* æªä½¿ç¨ã¹ããªã¼ã */ 103 ECN_FBS_TYPE_INTERNAL = 1, /* å 104 é¨ã¡ãã»ã¼ã¸ */ 105 ECN_FBS_TYPE_ECHONET = 2 /* ECHONETé»æ */ 85 ECN_FBS_TYPE_BLANK = 0, /* 未使用ストリーム */ 86 ECN_FBS_TYPE_INTERNAL = 1, /* 内部メッセージ */ 87 ECN_FBS_TYPE_ECHONET = 2 /* ECHONET電文 */ 106 88 } TA_ECN_MSG_TYPE; 107 89 108 /* ãªã³ã¯ãã¤ã³ã¿é 109 åã«åæããããåè¦ç´ ãããã¡ */ 90 /* リンクポインタ配列に列挙される、子要素バッファ */ 110 91 typedef struct 111 92 { … … 113 94 } T_ECN_SUB_BLK; 114 95 115 /* ãªã³ã¯ãã¤ã³ã¿é 116 å */ 96 /* リンクポインタ配列 */ 117 97 typedef union 118 98 { … … 121 101 } T_ECN_FBS_LNK; 122 102 123 /* 管çé å(64byte - sizeof(T_MSG)) */103 /* 管理領域(64byte - sizeof(T_MSG)) */ 124 104 typedef struct 125 105 { 126 uint16_t length; /* ã¡ãã»ã¼ã¸é·*/127 uint16_t type; /* ã¡ãã»ã¼ã¸ã¿ã¤ã*/106 uint16_t length; /* メッセージ長 */ 107 uint16_t type; /* メッセージタイプ */ 128 108 union{ 129 ECN_ENOD_ID id; /* éä¿¡å 130 ãã¼ãIDï¼ECHONETé»æï¼ */ 131 struct ecn_fbs_queue *mbxid; /* éä¿¡å 132 ã¡ã¼ã«ããã¯ã¹IDï¼å 133 é¨ã¡ãã»ã¼ã¸ï¼ */ 109 ECN_ENOD_ID id; /* 送信元ノードID(ECHONET電文) */ 110 struct ecn_fbs_queue *mbxid; /* 送信元メールボックスID(内部メッセージ) */ 134 111 }sender; 135 112 union{ 136 ECN_ENOD_ID id; /* éä¿¡å 137 ãã¼ãIDï¼ECHONETé»æï¼ */ 138 struct ecn_fbs_queue *mbxid; /* éä¿¡å 139 ã¡ã¼ã«ããã¯ã¹IDï¼å 140 é¨ã¡ãã»ã¼ã¸ï¼ */ 113 ECN_ENOD_ID id; /* 送信先ノードID(ECHONET電文) */ 114 struct ecn_fbs_queue *mbxid; /* 送信先メールボックスID(内部メッセージ) */ 141 115 }target; 142 116 union{ 143 ECN_ENOD_ID id; /* è¿ä¿¡å 144 ãã¼ãIDï¼ECHONETé»æï¼ */ 145 struct ecn_fbs_queue *mbxid; /* è¿ä¿¡å 146 ã¡ã¼ã«ããã¯ã¹IDï¼å 147 é¨ã¡ãã»ã¼ã¸ï¼ */ 117 ECN_ENOD_ID id; /* 返信先ノードID(ECHONET電文) */ 118 struct ecn_fbs_queue *mbxid; /* 返信先メールボックスID(内部メッセージ) */ 148 119 }reply; 149 120 150 int rd; /* èªã¿åããããæ 151 å ± */ 152 int wr; /* æ¸ãè¾¼ã¿ãããæ 153 å ± */ 121 int rd; /* 読み取りヘッド情報 */ 122 int wr; /* 書き込みヘッド情報 */ 154 123 } T_ECN_FBS_HDR; 155 124 156 /* 管çé åãå«ããããã¯ã®æ§é*/125 /* 管理領域を含むブロックの構造 */ 157 126 typedef struct 158 127 { 159 128 uint8_t _msg[DEF_ECN_EDT_HDR_LEN]; /* T_MSG */ 160 T_ECN_FBS_HDR hdr; /* 管çé å64byte - sizeof(T_MSG) */129 T_ECN_FBS_HDR hdr; /* 管理領域 64byte - sizeof(T_MSG) */ 161 130 uint8_t _gap[DEF_ECN_FBS_LIB_HDR_LEN - sizeof(T_ECN_FBS_HDR)]; 162 T_ECN_FBS_LNK lnk; /* ãªã³ã¯ãã¤ã³ã¿é 163 å 128byte */ 131 T_ECN_FBS_LNK lnk; /* リンクポインタ配列 128byte */ 164 132 uint8_t payload[DEF_ECN_FBS_FST_DAT_LEN]; 165 133 } T_ECN_FST_BLK; … … 171 139 } ECN_FBS_ID; 172 140 173 /* ã¡ãã»ã¼ã¸ãã¥ã¼*/141 /* メッセージキュー */ 174 142 typedef struct ecn_fbs_queue 175 143 { 176 T_ECN_FST_BLK *pk_head; /* å 177 é ã®ã¡ãã»ã¼ã¸ */ 178 T_ECN_FST_BLK *pk_last; /* æ«å°¾ã®ã¡ãã»ã¼ã¸ */ 144 T_ECN_FST_BLK *pk_head; /* 先頭のメッセージ */ 145 T_ECN_FST_BLK *pk_last; /* 末尾のメッセージ */ 179 146 } T_ECN_FBS_QUEUE; 180 147 181 /* ã¡ã¢ãªãããã¯åå¾ ok:ãã¤ã³ã¿NG:NULL */148 /* メモリブロック取得 ok:ポインタ NG:NULL */ 182 149 void *_ecn_fbs_mbx_get(mrb_state *mrb, ECN_FBS_SIZE_T fa_req_size); 183 150 184 /* ã¡ã¢ãªãããã¯è§£æ¾ ok:0 NG:é0 */151 /* メモリブロック解放 ok:0 NG:非0 */ 185 152 ER _ecn_fbs_mbx_rel(mrb_state *mrb, void *p); 186 153 187 154 /* 188 * é å確ä¿189 * å¼æ°190 * ECN_FBS_SIZE_T fa_req_size è¦æ±ãããã¡ãµã¤ãº(byte)155 * 領域確保 156 * 引数 157 * ECN_FBS_SIZE_T fa_req_size 要求バッファサイズ(byte) 191 158 * max: DEF_ECN_FBS_BUF_MAXLEN 192 * ECN_FBS_ID *fp_id 確ä¿ããFBS-IDã®æ ¼ç´å 193 194 * æ»ãå¤ 195 * ER 0:ok é0:NG 159 * ECN_FBS_ID *fp_id 確保したFBS-IDの格納先 160 * 戻り値 161 * ER 0:ok 非0:NG 196 162 */ 197 163 ER _ecn_fbs_cre(mrb_state *mrb, ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id); 198 164 199 165 /* 200 * é å解æ¾201 * å¼æ°202 * ecn_fbs_id å 確ä¿ããFBS-ID203 * æ»ãå¤204 * ER 0:ok, é0:NG166 * 領域解放 167 * 引数 168 * ecn_fbs_id型 確保したFBS-ID 169 * 戻り値 170 * ER 0:ok, 非0:NG 205 171 */ 206 172 ER _ecn_fbs_del(mrb_state *mrb, ECN_FBS_ID fa_id); 207 173 208 174 /* 209 * ä¿æãã¼ã¿ã®æç¡210 * å¼æ°211 * ecn_fbs_id å 確ä¿ããFBS-ID212 * æ»ãå¤213 * bool_t 0: ç¡ã, 1:ãã175 * 保持データの有無 176 * 引数 177 * ecn_fbs_id型 確保したFBS-ID 178 * 戻り値 179 * bool_t 0:無し, 1:あり 214 180 */ 215 181 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id); 216 182 217 183 /* 218 * ä¿æãã¼ã¿é·ã®åå¾219 * å¼æ°220 * ecn_fbs_id å 確ä¿ããFBS-ID221 * æ»ãå¤222 * ECN_FBS_SSIZE_T ä¿æãã¦ãããã¼ã¿ã®é·ã(byte) -1:NG184 * 保持データ長の取得 185 * 引数 186 * ecn_fbs_id型 確保したFBS-ID 187 * 戻り値 188 * ECN_FBS_SSIZE_T 保持しているデータの長さ(byte) -1:NG 223 189 */ 224 190 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id); 225 191 226 192 /* 227 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®åå¾ 228 * å¼æ° 229 * ecn_fbs_idå 確ä¿ããFBS-ID 230 * æ»ãå¤ 231 * ECN_FBS_SIZE_T å 232 é ããã®çµ¶å¯¾ä½ç½® -1:NG 193 * 読み取りカーソルの位置取得 194 * 引数 195 * ecn_fbs_id型 確保したFBS-ID 196 * 戻り値 197 * ECN_FBS_SIZE_T 先頭からの絶対位置 -1:NG 233 198 */ 234 199 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id); 235 200 236 201 /* 237 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®è¨å® 238 * å¼æ° 239 * ecn_fbs_idå 確ä¿ããFBS-ID 240 * ECN_FBS_SIZE_T fa_pos è¨å®ããä½ç½®(å 241 é ããã®çµ¶å¯¾ä½ç½®) 242 * æ»ãå¤ 243 * ER 0:ok, é0:NG 202 * 読み取りカーソルの位置設定 203 * 引数 204 * ecn_fbs_id型 確保したFBS-ID 205 * ECN_FBS_SIZE_T fa_pos 設定する位置(先頭からの絶対位置) 206 * 戻り値 207 * ER 0:ok, 非0:NG 244 208 */ 245 209 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos); 246 210 247 211 /* 248 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®ç§»å249 * å¼æ°250 * ecn_fbs_id å 確ä¿ããFBS-ID251 * ECN_FBS_SIZE_T fa_seek 移åé(ç¾ç¶ãåé²ã®ã¿)252 * æ»ãå¤253 * ER 0:ok, é0:NG212 * 読み取りカーソルの位置移動 213 * 引数 214 * ecn_fbs_id型 確保したFBS-ID 215 * ECN_FBS_SIZE_T fa_seek 移動量(現状、前進のみ) 216 * 戻り値 217 * ER 0:ok, 非0:NG 254 218 */ 255 219 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 256 220 257 221 /* 258 * ä»»ææå®ä½ç½®ã®1byteèªã¿åã222 * 任意指定位置の1byte読み取り 259 223 */ 260 224 int _ecn_fbs_peek(mrb_state *mrb, ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 261 225 262 226 /* 263 * ä»»ææå®ä½ç½®ã®1byteæ¸ãè¾¼ã¿227 * 任意指定位置の1byte書き込み 264 228 */ 265 229 ER _ecn_fbs_poke(mrb_state *mrb, ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val); 266 230 267 231 /* 268 * ãã¼ã¿è¿½å269 * å¼æ°270 * ecn_fbs_id å 確ä¿ããFBS-ID271 * const void * fa_dat 追å ãããã¼ã¿272 * ECN_FBS_SSIZE_T fa_len 追å ããé·ã(byte)273 * æ»ãå¤274 * ER 0:ok, é0:NG232 * データ追加 233 * 引数 234 * ecn_fbs_id型 確保したFBS-ID 235 * const void * fa_dat 追加するデータ 236 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 237 * 戻り値 238 * ER 0:ok, 非0:NG 275 239 */ 276 240 ER _ecn_fbs_add_data(mrb_state *mrb, ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 277 241 278 242 /* 279 * ãã¼ã¿è¿½å (é åãèªåçã«æ¡å¼µãã)280 * å¼æ°281 * ecn_fbs_id å 確ä¿ããFBS-ID282 * const void * fa_dat 追å ãããã¼ã¿283 * ECN_FBS_SSIZE_T fa_len 追å ããé·ã(byte)284 * æ»ãå¤285 * ER 0:ok, é0:NG243 * データ追加(領域を自動的に拡張する) 244 * 引数 245 * ecn_fbs_id型 確保したFBS-ID 246 * const void * fa_dat 追加するデータ 247 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 248 * 戻り値 249 * ER 0:ok, 非0:NG 286 250 */ 287 251 ER _ecn_fbs_add_data_ex(mrb_state *mrb, ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 288 252 289 253 /* 290 * ãã¼ã¿åå¾291 * å¼æ°292 * ecn_fbs_id å 確ä¿ããFBS-ID293 * void * fa_buf åå¾ãããããã¡294 * ECN_FBS_SSIZE_T fa_maxlen åå¾ããé·ã(byte)295 * ECN_FBS_SSIZE_T *p_len åå¾ããé·ã(byte)296 * æ»ãå¤297 * ER 0:ok, é0:NG254 * データ取得 255 * 引数 256 * ecn_fbs_id型 確保したFBS-ID 257 * void * fa_buf 取得するバッファ 258 * ECN_FBS_SSIZE_T fa_maxlen 取得する長さ(byte) 259 * ECN_FBS_SSIZE_T *p_len 取得した長さ(byte) 260 * 戻り値 261 * ER 0:ok, 非0:NG 298 262 */ 299 263 ER _ecn_fbs_get_data(mrb_state *mrb, ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen,
Note:
See TracChangeset
for help on using the changeset viewer.