#ifndef _STATE_H_
#define _STATE_H_

extern u8 prog_state;

enum {
    STATE_NONE = 0,

    STATE_MB_CHILDINIT,     /* MBを初期化し、自動的に MB_CHILDSCAN へ遷移 */

    STATE_MB_CHILDSCAN,     /* GGID=0x00000346が見つかれば MB_CHILD へ遷移。*/
                            /* タイムアウトすれば MB_TIMEOUT へ遷移 */

    STATE_MB_CHILD,         /* ダウンロードをする。成功すると親の実行開始を受けてexecされる */
                            /* 接続中通信エラーが発生すると MB_DOWNLOAD_*_ERROR に遷移 */

    STATE_MB_TIMEOUT,
    STATE_MB_TIMEOUT2,      /* 明示的に ChildRestart() しない限り遷移しない。*/
                            /* ChildRestart() を呼ぶことで MB_CHILDINIT へ遷移 */

    STATE_MB_CONNECT_ERROR,
    STATE_MB_CONNECT_ERROR2,/* 明示的に ChildRestart() しない限り遷移しない。*/
                            /* ChildRestart() を呼ぶことで MB_CHILDINIT へ遷移 */

    STATE_MB_DOWNLOAD_ERROR,
    STATE_MB_DOWNLOAD_ERROR2,/*明示的に ChildRestart() しない限り遷移しない。*/
                            /* ChildRestart() を呼ぶことで MB_CHILDINIT へ遷移 */



    STATE_QUERY_CONTINUE,   /* もういちど接続する？ */

    STATE_QUERY_POWEROFF,   /* 電源を切断する？ */

    STATE_DO_POWEROFF,      /* パワーオフへ */

    STATE_CARD_PULLEDOUT,   /* カードが抜かれた場合 */

    STATE_MAXNUM
};

#endif /* _STATE_H_ */
