#ifndef TIMEOUT_H_
#define TIMEOUT_H_

#include    <sys/time.h>
#include    <sys/timeb.h>
#include    <sys/types.h>
#include    <sys/stat.h>
#include    <sys/types.h>
#include    <sys/ioctl.h>
#include    <sys/socket.h>
#include    <sys/ipc.h>
#include    <sys/shm.h>
#include    <sys/shm.h>
#include    <sys/mman.h>
#include    <linux/wireless.h>
#include    <linux/can.h>
#include    <linux/can/raw.h>
#include    <arpa/inet.h>
#include    <netinet/in.h>

#include    <unistd.h>
#include    <stdarg.h>
#include    <stdio.h>
#include    <stdlib.h>
#include    <unistd.h>
#include    <fcntl.h>
#include    <termios.h>
#include    <errno.h>
#include    <errno.h>
#include    <string.h>
#include    <time.h>
#include    <ctype.h>
#include    <ifaddrs.h>

//------------------------------------------------------------------------------
#define CONN_PLUG_TIME_OUT                      (40)

//------------------------------------------------------------------------------
enum Timeout_flag {
    Timeout_None                   = 0,
    Timeout_SelftestChk            = 1,
    Timeout_Authorizing            = 2,
    Timeout_VerifyFail             = 3,
    Timeout_VerifyComp             = 4,
    Timeout_WaitPlug               = 5,

    Timeout_Preparing              = 6,
    Timeout_EvChargingDet          = 7,
    Timeout_EvseChargingDet        = 8,
    Timeout_EvseCompleteDet        = 9,
    Timeout_ForCcsPrechargeDet     = 10,
    Timeout_ReturnToChargingGunDet = 11,
    Timeout_AuthorizingForStop     = 12,
    Timeout_SelectGun              = 13,
    Timeout_WaitBalance            = 14,
    Timeout_EVCCID_Link            = 15,
    Timeout_ShowStopPage           = 16,
    Timeout_helpPage               = 17,
    Timeout_SettingPage            = 18,
    Timeout_ShowPlugFail           = 19,
    Timeout_ExitComplete           = 20,
};

//------------------------------------------------------------------------------
// for timeout fork
struct timespec _cmdSubPriority_time;
unsigned short _connectionTimeout;

// for main
struct timespec _cmdMainPriority_time;
struct timespec _toAverage_time;
//uint8_t _ocppProfileChkFlag;

#endif /* TIMEOUT_H_ */