#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
};

// for timeout fork
struct timeval _cmdSubPriority_time;
unsigned short _connectionTimeout;

// for main
struct timeval _cmdMainPriority_time;
#endif /* TIMEOUT_H_ */