| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef COMMON_H
- #define COMMON_H
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdint.h> /* FIX: was missing -> uint8_t/uint32_t undefined on some TU */
- #include <inttypes.h> /* PRIu64 etc for LP64-safe printf of 64-bit fields */
- #include <unistd.h>
- #include <pthread.h>
- #include <signal.h>
- #include <errno.h>
- #include <time.h>
- #include <stdarg.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #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
|