Changeset 279 for EcnlProtoTool/trunk/ntshell/webserver/websocket.h
- Timestamp:
- Apr 29, 2017, 4:33:37 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/ntshell/webserver/websocket.h
r270 r279 58 58 #include "t_stddef.h" 59 59 60 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* é»æç¨ã¡ã¢ãªãããã¯ã®æ° */ 61 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* é»æç¨ã¡ã¢ãªãããã¯ã®ãµã¤ãº */ 60 #define NUM_WEBSOCKET_MBXID 2 62 61 63 /* T_EDATA管çé åãµã¤ãº */ 64 # define DEF_ECN_EDT_HDR_LEN (sizeof(intptr_t))62 #ifndef TOPPERS_MACRO_ONLY 63 #include "websocket_fbs.h" 65 64 66 /* 管çé åãµã¤ãº(64byte - sizeof(T_MSG)) */ 67 /* #define DEF_ECN_FBS_LIB_HDR_LEN ((ECHONET_MEMPOOL_BLOCK_SIZE + sizeof(int) - 1)>> 2) // */ 68 #define DEF_ECN_FBS_LIB_HDR_LEN (64 - DEF_ECN_EDT_HDR_LEN) 69 70 /* 管çé åãå«ããããã¯ã«ä¿æãããã¼ã¿ãµã¤ãº */ 71 #define DEF_ECN_FBS_FST_DAT_LEN (64) 72 73 /* ãªã³ã¯ãã¤ã³ã¿é 74 åã®ãµã¤ãº(byte) */ 75 #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) 76 77 /* åºå®é·ãããã¡æ大ãµã¤ãº */ 78 #define DEF_ECN_FBS_BUF_MAXLEN ((DEF_ECN_FBS_LNK_LEN / sizeof(void *)) * ECHONET_MEMPOOL_BLOCK_SIZE + DEF_ECN_FBS_FST_DAT_LEN) 79 80 /* åè¦ç´ ãããã¡ã®ãµã¤ãº */ 81 #define DEF_ECN_FBS_SUB_BUF_LEN ECHONET_MEMPOOL_BLOCK_SIZE 82 83 /* ãªã³ã¯ãã¤ã³ã¿é 84 åã«åæããããåè¦ç´ ãããã¡ */ 85 typedef struct { 86 uint8_t payload[ECHONET_MEMPOOL_BLOCK_SIZE]; 87 } T_ECN_SUB_BLK; 88 89 /* ãªã³ã¯ãã¤ã³ã¿é 90 å */ 91 typedef union { 92 T_ECN_SUB_BLK *p_sub[DEF_ECN_FBS_LNK_LEN / sizeof(T_ECN_SUB_BLK *)]; 93 uint8_t bin[DEF_ECN_FBS_LNK_LEN]; 94 } T_ECN_FBS_LNK; 95 96 /* 管çé å(64byte - sizeof(T_MSG)) */ 97 typedef struct { 98 uint16_t length; /* ã¡ãã»ã¼ã¸é· */ 99 uint16_t type; /* ã¡ãã»ã¼ã¸ã¿ã¤ã */ 100 union { 101 ID mbxid; /* éä¿¡å 102 ã¡ã¼ã«ããã¯ã¹IDï¼å 103 é¨ã¡ãã»ã¼ã¸ï¼ */ 104 }sender; 105 union { 106 ID mbxid; /* éä¿¡å 107 ã¡ã¼ã«ããã¯ã¹IDï¼å 108 é¨ã¡ãã»ã¼ã¸ï¼ */ 109 }target; 110 union { 111 ID mbxid; /* è¿ä¿¡å 112 ã¡ã¼ã«ããã¯ã¹IDï¼å 113 é¨ã¡ãã»ã¼ã¸ï¼ */ 114 }reply; 115 116 int rd; /* èªã¿åããããæ 117 å ± */ 118 int wr; /* æ¸ãè¾¼ã¿ãããæ 119 å ± */ 120 } T_ECN_FBS_HDR; 121 122 /* 管çé åãå«ããããã¯ã®æ§é */ 123 typedef struct { 124 uint8_t _msg[DEF_ECN_EDT_HDR_LEN]; /* T_MSG */ 125 T_ECN_FBS_HDR hdr; /* 管çé å 64byte - sizeof(T_MSG) */ 126 uint8_t _gap[DEF_ECN_FBS_LIB_HDR_LEN - sizeof(T_ECN_FBS_HDR)]; 127 T_ECN_FBS_LNK lnk; /* ãªã³ã¯ãã¤ã³ã¿é 128 å 128byte */ 129 uint8_t payload[DEF_ECN_FBS_FST_DAT_LEN]; 130 } T_ECN_FST_BLK; 131 132 /* FBS-ID */ 133 typedef struct ecn_fbs_id_strc { 134 T_ECN_FST_BLK *ptr; 135 } ECN_FBS_ID; 136 137 ER _ecn_fbs_cre(size_t fa_req_size, ECN_FBS_ID *fp_id); 138 ER _ecn_fbs_del(ECN_FBS_ID fa_id); 139 size_t _ecn_fbs_get_datalen(ECN_FBS_ID fa_id); 140 int _ecn_fbs_peek(ECN_FBS_ID fa_id, size_t fa_seek); 141 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, size_t fa_seek, int fa_val); 142 143 extern ID ecn_api_mailboxid; 144 extern ID WEBSOCKET_MBXID; 65 extern ID ws_api_mailboxid; 145 66 146 67 typedef struct ws_state … … 168 89 ws_state_t wstate; 169 90 ws_state_t rstate; 170 ECN_FBS_ID cur_in_msg;91 WS_FBS_ID cur_in_msg; 171 92 }; 172 93 … … 179 100 int websocket_output(struct websocket *ws, void *data, int len); 180 101 102 #endif /* TOPPERS_MACRO_ONLY */ 103 181 104 #endif /* WEBSOCKET_H */
Note:
See TracChangeset
for help on using the changeset viewer.