#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>      /*�зǿ�J��X�w�q*/
#include   <stdlib.h>     /*�зǨ�Ʈw�w�q*/
#include   <unistd.h>     /*Unix �зǨ�Ʃw�q*/
#include   <fcntl.h>      /*�ɱ���w�q*/
#include   <termios.h>    /*PPSIX �׺ݱ���w�q*/
#include   <errno.h>      /*���~���w�q*/
#include 	<errno.h>
#include 	<string.h>
#include	<time.h>
#include	<ctype.h>
#include 	<ifaddrs.h>
#include	<math.h>
#include	"../../define.h"
#include 	<stdbool.h>

typedef unsigned char 		byte;
typedef unsigned short 	word;
typedef unsigned int 		unit;

unsigned char _gunCount;
struct ChargingInfoData *chargingInfo[CHAdeMO_QUANTITY + CCS_QUANTITY + GB_QUANTITY];
bool isStartOutputSwitch[CHAdeMO_QUANTITY + CCS_QUANTITY + GB_QUANTITY];

struct timeval _cmdSubPriority_time;
struct timeval _derating_time;
struct timeval _max_time;

struct timeval _test_time;

bool isCharging = false;
bool isWaitingAver = false;
bool isReadToCharging = false;
bool CanAverageCharging = false;
int preChargingTarget;
int preChargingCur;

float toAverVolPoint;
byte toAverVolCount;

int connector_1[12];
int connector_2[12];
byte conn_1_count = 0;
byte conn_2_count = 0;