/*
 *========================================================================
 *
 *    : AZN_PLAZA_LANE APP
 *      : lane_stat_info.h
 *      : JBY 
 *      : 2018.07.13
 *      : 
 *        : λ  
 *
 *========================================================================
*/

#ifndef    _LANE_STAT_INFO
#define    _LANE_STAT_INFO

#include <file_ctrl.h>

struct lane_stat_info {
    uchar   plz_id[2];            /* 영업소번호           */
    uchar   lane_no[2];           /* 차로번호              */
    uchar   wrk_year[4];          /* 근무일자 년          */
    uchar   wrk_mon[2];           /*          월          */
    uchar   wrk_day[2];           /*          일          */
    uchar   wrk_no[4];            /* 근무번호             */
    uchar   wrkr_no[4];           /* 근무자번호           */
    uchar   lane_typ[2];             /* 차로구분              */
    uchar   mchi_stat0;           /* 기기상태(전원 KEY 0:OFF 1:ON)*/
    uchar   mchi_stat1;           /* MCT Cover (0:Close 1:,Open)    */
    uchar   mchi_stat2;           /* MCT Stocker(0:Normal, 1:Full)*/
    uchar   mchi_stat3;           /* MCT Hopper( 0:Normal,1:Empty)*/
    uchar   mchi_stat4;           
    uchar   mchi_stat5;           /* 신호등(0:RED , 1:GREEN)     */
    uchar   mchi_stat6;           
    uchar   mchi_stat7;           

    uchar   dummy1[3];             /* DUMMY            */
    unint   lst_rev_snd_no;        /* 최종수신 전송연번        */
    unint   warr_snd_no;           /* 보증 전송연번        */
    unint   warr_cmd_snd_no;       /* 보증지시 전송연번        */
    unint   be_last_snd_no;        /* 전일최종 전송연번        */
    
    uchar   day_fsh_year[4];           /* 일마감 수신일시 년       */
    uchar   day_fsh_mon[2];           /*             월       */
    uchar   day_fsh_day[2];           /*             일       */
    uchar   day_fsh_hr[2];           /*             시       */
    uchar   day_fsh_min[2];           /*             분       */
    uchar   day_fsh_sec[2];        /*                 초        */
    uchar   dummy2;        /* DUMMY             */
    
    uchar   wrk_strt_year[4];           /* 근무개시일시 년          */
    uchar   wrk_strt_mon[2];           /*          월          */
    uchar   wrk_strt_day[2];           /*          일          */
    uchar   wrk_strt_hr[2];           /*          시          */
    uchar   wrk_strt_min[2];           /*          분          */
    uchar   wrk_strt_sec[2];        /*              초        */
    uchar   dummy3;        /* DUMMY            */
    
    uchar   wrk_end_year[4];           /* 근무종료일시 년          */
    uchar   wrk_end_mon[2];           /*          월          */
    uchar   wrk_end_day[2];           /*          일          */
    uchar   wrk_end_hr[2];           /*          시          */
    uchar   wrk_end_min[2];           /*          분          */
    uchar   wrk_end_sec[2];        /*              초         */
    uchar   forc_end_yn;           /* 강제종료             */
    uchar   wrk_stop;           /* 근무중단             */
    uchar   cv_op;           /* 커버오픈             */
    uchar   last_err_knd;        /* 최종특이사항 종별        */

    uchar   last_spl_knd;           /* 최종특별처리 종별           */
    uchar   last_spl_code[2];           /*              Code           */
    uchar   last_spl_year[4];        /*            년        */
    uchar   last_spl_mon[2];           /*              월         */
    uchar   last_spl_day[2];           /*              일         */
    uchar   last_spl_hr[2];           /*              시         */
    uchar   last_spl_min[2];           /*              분         */
    uchar   last_spl_sec[2];        /*        초        */
    unint   snd_no;             /* 재송요구 전송연번        */
    uchar   hnd_stat;           /*          처리상태        */
                                /* 0 : 전송 완료(보증)        */
                                /* 1 : 재송 요구         */
    uchar   last_rcv_knd;       /* 최종수신종별             */
    uchar   err_div;            /* Error 발생구분           */
    uchar   rpr_info_knd[2];    /* 보수정보 기종            */
    uchar   occ_rest_div;       /*          발생복구구분    */
    uchar   err_code[2];        /*          이상코드        */
    uchar   occ_year[4];        /*          년             */
    uchar   occ_mon[2];         /*          월             */
    uchar   occ_day[2];         /*          일             */
    uchar   occ_hr[2];          /*          시             */
    uchar   occ_min[2];         /*          분             */
    uchar   occ_sec[2];         /*          초             */
    uchar   dummy4;             /*          Dummy         */
                                                            
    uchar   be_wrk_year[4];           /* 이전 근무일자 년         */
    uchar   be_wrk_mon[2];           /*               월         */
    uchar   be_wrk_day[2];           /*               일         */
    uchar   be_wrk_no[4];        /* 이전 근무번호            */    
    uchar   be_wrkr_no[4];    /* 이전근무자 번호          */
    uchar   ctrl_div[2];        /* 제어기 구분            */

    unint   lane_fw_ver;    /* 차로 F/W 버전         */

    uchar   dummy5;        /* DUMMY            */
    unint   bl_lst_hnd_no;        /* TAG B/L 최종처리연번  */
    unint   bef_lst_hnd_no;       /* 사전등록 최종처리연번 */
/* 2019.06.15 신규추가 */
    unint   imm_lst_hnd_no;       /* 차량번호면제 최종처리연번  */
    unint   rfid_lst_hnd_no;      /* 요일제/저공해 최종처리연번  */
    unint   red_lst_hnd_no;       /* 차량번호감면 최종처리연번  */

    unint   security_kye_ver;     /* 보안키 버전           */
    uchar   lane_ctrl_ver[25];    /* 차로제어기 ROM 버전      */

    uchar   comm_stat;            /* 통신상태             */
    uchar   wrk_stat;             /* 근무상태             */

    uchar   tbl_stat[20][3];     /* TABLE 상태           */
                /* [0] = TABLE 개정번호        */
                /* [1] = 2 (송신대기)        */
                /*     = 1 (지령대기)        */
                /* = !2,!1 (처리완료)        */        
                /*                */
                /* 이하는 불확실한 정보     */
                /* [2] = 0 (미등록  )        */
                /*     = 1 (등록중  )        */
                /*     = 2 (등록완료)        */
    uchar    filler[16];    /* FILLER            */
};                                                          
                                                            
                                                
/* tsst() */                                        
#define    OFF_LINE_STAT          'O'    /*  OFF-LINE            */
#define    CONNECT_STAT           'C'    /* CONNECT.            */
#define    DISCONNECT_STAT        'D'    /* DISCONNECT.            */
#define    STOPPED_STAT           'S'    /* STOPPED            */
#define    TEST_STAT              'T'    /* TEST.            */
                                                            
/* kmst() */                                        
#define    WS_NONE       0    /* 비근무                 */
#define    WS_ADMIN      1    /* 관리자                 */
#define    WS_NORMAL     2    /* 일반 근무자            */
#define    WS_ATIM       3    /* ATIM                   */
#define    WS_RPR        4    /* 보수원                 */
                                                            
/* kkst() */                                        
#define    MC_KEY             0x01    /* 전원(근무) Key.(0:OFF / 1:ON)                */
#define    MC_COVER           0x02    /* MCT Cover.(0:CLOSE / 1:OPEN)                 */
#define    MC_STACKER         0x04    /* MCT Stacker.(0:NORMAL / 1:FULL)              */ 
#define    MC_HOPPER          0x08    /* MCT Hopper.(0:NORMAL / 1:NEAR EMPTY)         */
#define    MC_TCSHIPASS       0x10    /* 운영형태.(0:TCS전용 / 1:TCS/Hi-pass 혼용운영 */
#define    MC_SIGLIGHT        0x20    /* 신호등.(0:RED / 1:GREEN)                     */

/* Hi-pass (0:, 1:) */
#define    HMC_CCU            0x01    /* CCU                */
#define    HMC_IRCU           0x02    /* IRCU               */
#define    HMC_RFCU           0x04    /* RFCU               */
#define    HMC_PSAM           0x08    /* PSAM 보드          */
#define    HMC_HUB            0x10    /* HUB                */
#define    HMC_UPS            0x20    /* UPS                */
#define    HMC_FAN            0x40    /* 송풍팬             */
#define    HMC_CYCLE          0x80    /* 순환팬             */
#define    HMC_HEATER         0x01    /* 히터               */
#define    HMC_AOVD           0x02    /* AOVD               */
#define    HMC_ECS            0x04    /* ECS CAMERA         */
#define    HMC_CDM            0x08    /* CD기               */
#define    HMC_FID            0x10    /* 운전자표시기       */
#define    HMC_TCSIF          0x20    /* TCS I/F            */
#define    HMC_SIGLIGHT       0x40    /* 신호등(0:녹, 1:적) */
#define    HMC_LOOP           0x80    /* LOOP               */
#if 0
static struct keydesc lane_stat_info_key[] = { 
    {ISNODUPS,  1, {{0, 8, CHARTYPE}}, 8, 0},    /* +ι    */
    {-1,        0, {{0, 0, 0       }}, 0, 0}
};
#endif
#endif
