Ignore:
Timestamp:
Apr 29, 2017, 4:33:37 PM (7 years ago)
Author:
coas-nagasima
Message:

ファイルを追加、更新。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/ntshell/webserver/httpd.h

    r270 r279  
    44 *  Copyright (C) 2017 Cores Co., Ltd. Japan
    55 *
    6  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    7  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    8  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    9  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    10  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    11  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    12  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    13  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    14 ƒƒ“ƒgi—˜—p
    15  *      ŽÒƒ}ƒjƒ
    16 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    17  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    18  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    20  *      ‚ƁD
    21  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    22 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    24  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    26  *        •ñ‚·‚邱‚ƁD
    27  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    28  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    29  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    30  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    31  *      –Ɛӂ·‚邱‚ƁD
    32  *
    33  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    34  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    35  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    36  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    37  *  ‚̐ӔC‚𕉂í‚È‚¢D
     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 *  の責任を負わない.
    3849 *
    3950 *  @(#) $Id$
     
    4354#define __HTTPD_H__
    4455
     56/*
     57 *  ターゲット依存の定義
     58 */
     59#include <kernel.h>
    4560#include "httpd-fs.h"
    4661#include "http_parser.h"
    4762#include "websocket.h"
     63
     64/*
     65 *  各タスクの優å
     66ˆåº¦ã®å®šç¾©
     67 */
     68
     69#define HTTPD_PRIORITY  5               /* HTTPサーバータスクの優å
     70ˆåº¦ */
     71
     72#define HTTPD_STACK_SIZE                1024    /* HTTPサーバータスクのスタック領域のサイズ */
     73
     74 /*  TCP 送受信ウィンドバッファサイズ  */
     75
     76#define TCP_SWBUF_SIZE  512
     77#define TCP_RWBUF_SIZE  512
     78
     79/*
     80 *  関数のプロトタイプ宣言
     81 */
     82#ifndef TOPPERS_MACRO_ONLY
     83
     84 /*  TCP 送受信ウィンドバッファ  */
     85
     86extern uint8_t tcp_swbuf1[];
     87extern uint8_t tcp_rwbuf1[];
     88extern uint8_t tcp_swbuf2[];
     89extern uint8_t tcp_rwbuf2[];
     90
     91/* HTTPサーバータスク */
     92extern void httpd_task(intptr_t exinf);
    4893
    4994#define MAX_ELEMENT_SIZE 256
     
    81126
    82127typedef enum httpd_state_t {
    83         STATE_DISCONNECTED,             /* Ø’f’† */
    84         STATE_CONNECTED,                /* Ú‘±’† */
    85         STATE_WEBSOCKET,                /* WebSocket’ʐM’† */
    86         STATE_CLOSING,                  /* Ø’fˆ—’† */
    87         STATE_RESET,                    /* mruby‹N“®‚Ì‚½‚߂̃ŠƒZƒbƒg */
     128        STATE_DISCONNECTED,             /* 切断中 */
     129        STATE_CONNECTED,                /* 接続中 */
     130        STATE_WEBSOCKET,                /* WebSocket通信中 */
     131        STATE_CLOSING,                  /* 切断処理中 */
     132        STATE_RESET,                    /* mruby起動のためのリセット */
    88133} httpd_state_t;
    89134
     
    155200#define get_context(p) (struct httpd_state *)((intptr_t)p - (intptr_t)&((struct httpd_state *)0)->parser)
    156201
     202/*
     203 * ノンブロッキングコールのコールバック関数
     204 */
     205extern ER callback_nblk_tcp(ID cepid, FN fncd, void *p_parblk);
     206
     207#endif /* TOPPERS_MACRO_ONLY */
     208
    157209#endif /* __HTTPD_H__ */
Note: See TracChangeset for help on using the changeset viewer.