#ifndef COMMON_H #define COMMON_H #include #include #include #include /* FIX: was missing -> uint8_t/uint32_t undefined on some TU */ #include /* PRIu64 etc for LP64-safe printf of 64-bit fields */ #include #include #include #include #include #include #include #include #include #include #include #define PROJECT_NAME "Hikvision ISUP Client" #define PROJECT_VERSION "1.2.0" #define PROJECT_BUILD_DATE __DATE__ " " __TIME__ typedef enum { LOG_DEBUG=0, LOG_INFO, LOG_WARN, LOG_ERROR, LOG_FATAL } LogLevel; #define LOG_TAG "ISUP" #define LOG_PRINT(level, fmt, ...) do { \ char _ts[32]; _ts[0]=0; \ struct timespec _t; clock_gettime(CLOCK_REALTIME,&_t); \ struct tm _tm; localtime_r(&_t.tv_sec,&_tm); \ strftime(_ts,sizeof(_ts),"%Y-%m-%d %H:%M:%S",&_tm); \ fprintf(stderr,"[%s] %s [%s:%d] " fmt "\n", LOG_TAG, _ts, __FILE__, __LINE__, ##__VA_ARGS__); \ } while(0) #define LOG_DEBUG(fmt, ...) LOG_PRINT(LOG_DEBUG, fmt, ##__VA_ARGS__) #define LOG_INFO(fmt, ...) LOG_PRINT(LOG_INFO, fmt, ##__VA_ARGS__) #define LOG_WARN(fmt, ...) LOG_PRINT(LOG_WARN, fmt, ##__VA_ARGS__) #define LOG_ERROR(fmt, ...) LOG_PRINT(LOG_ERROR, fmt, ##__VA_ARGS__) #define LOG_FATAL(fmt, ...) LOG_PRINT(LOG_FATAL, fmt, ##__VA_ARGS__) #define MAX_BUF_SIZE 65536 #define MAX_IP_SIZE 64 #define MAX_PATH_SIZE 256 #define MAX_DEVICE_ID 64 #define MAX_CHANNEL_NUM 32 #define MAX_STREAM_NUM 32 #define MAX_PLAYBACK_NUM 16 #define MAX_ALARM_NUM 128 #define DEFAULT_CMS_PORT 7031 #define DEFAULT_SMS_PORT 7660 #define DEFAULT_ALARM_PORT 9000 #define DEFAULT_RTMP_PORT 1935 #define ISUP_PROTO_VERSION "ISUP5.0" #define REG_RETRY_INTERVAL 5 #define HEARTBEAT_INTERVAL 30 #define SIM_IMAGE_DIR "./sim_images" #define SIM_IMAGE_WIDTH 1920 #define SIM_IMAGE_HEIGHT 1080 #define SIM_FPS 25 #define SIM_BITRATE 4096000 #define SUCCESS 0 #define FAILURE -1 #define NOT_FOUND -2 #define INVALID_PARAM -3 typedef enum { DEV_OFFLINE=0, DEV_ONLINE, DEV_REGISTERING, DEV_STREAMING, DEV_PLAYBACK } DeviceStatus; size_t safe_strcpy(char*dest,const char*src,size_t size); char* str_trim(char*s); #endif