397 lines
12 KiB
C
397 lines
12 KiB
C
#ifndef _HIK_NET_SDK_DEFINE_H_
|
||
#define _HIK_NET_SDK_DEFINE_H_
|
||
|
||
#if defined(_WIN32) || defined(_WIN64)
|
||
|
||
#if (defined HK_NET_LIBRARY)
|
||
#define HK_NET_API __declspec(dllexport) bool __stdcall
|
||
#else
|
||
#define HK_NET_API __declspec(dllimport) bool __stdcall
|
||
#endif
|
||
|
||
#define CALLBACK __stdcall
|
||
|
||
#else
|
||
|
||
#define HK_NET_API bool
|
||
#define CALLBACK
|
||
|
||
#endif
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"
|
||
{
|
||
#endif
|
||
|
||
#ifndef _HK_DEFINE_HKHANDLE_
|
||
#define _HK_DEFINE_HKHANDLE_
|
||
typedef void *HKHANDLE;
|
||
typedef void **PHKHANDLE;
|
||
#endif
|
||
|
||
#ifndef _HK_DEVICE_TYPE_DEF_
|
||
#define _HK_DEVICE_TYPE_DEF_
|
||
enum {
|
||
DEVICE_TYPE_HKDQ = 0,
|
||
DEVICE_TYPE_HIKVISION = 1, //暂未支持
|
||
|
||
DEVICE_TYPE_MAX,
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_SSADP_INFO_DEF_
|
||
#define _HK_SSADP_INFO_DEF_
|
||
typedef struct tagSADPInfo
|
||
{
|
||
int i_type;
|
||
char sseries[64];
|
||
char szSerialNO[64];
|
||
char szMac[64];
|
||
char szIPv4[64];
|
||
char szSubnetMask[64];
|
||
char szSoftVersion[64];
|
||
char szDSPVersion[64];
|
||
char szRelevanceSerialNo[64];
|
||
char szGateWay[64];
|
||
int i_dhcp;
|
||
}SSADPINFO, *PSSADPINFO;
|
||
#endif
|
||
|
||
#ifndef _HK_REALTIME_TEMPERATURE_INFO_DEF_
|
||
#define _HK_REALTIME_TEMPERATURE_INFO_DEF_
|
||
struct HK_STREAM_FRAME_INFO_S
|
||
{
|
||
unsigned int ui_magic_no;
|
||
unsigned int ui_header_size;//结构体长度
|
||
unsigned int ui_stream_type;//0-h264,1-h265,2-jpeg,3-aud,4-meta,5-update,6-rtdata
|
||
unsigned int ui_stream_len;//数据长度
|
||
|
||
//rt data info
|
||
unsigned int ui_rt_data_type;//1-14bit裸数据,2-全屏测温结果数据,3-YUV数据
|
||
unsigned int ui_frame_no;
|
||
unsigned int ui_std_stamp;//DSP相对时间戳
|
||
unsigned short us_year;
|
||
unsigned short us_month;
|
||
unsigned short us_dayofweek;//0-周日,6-周六
|
||
unsigned short us_day;
|
||
unsigned short us_hour;
|
||
unsigned short us_minute;
|
||
unsigned short us_second;
|
||
unsigned short us_millisecond;
|
||
unsigned int ui_width;
|
||
unsigned int ui_height;
|
||
unsigned int ui_len;
|
||
unsigned int ui_fps;
|
||
unsigned int ui_chan;
|
||
|
||
//fs support info
|
||
unsigned int ui_tm_data_mode;//4字节 or 2字节
|
||
unsigned int ui_tm_scale;//测温缩放比例
|
||
unsigned int ui_tm_offset;//测温偏移量
|
||
unsigned int ui_tm_res;
|
||
|
||
unsigned int ui_res[12];
|
||
unsigned int uc_crc_val;//crc校验码
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_REALTIME_VIDEO_CB_FUNC_DEF_
|
||
#define _HK_REALTIME_VIDEO_CB_FUNC_DEF_
|
||
typedef bool(CALLBACK *REALTIME_VIDEO_CB_FUNC)(unsigned int ui_channel_no, unsigned int ui_stream_type, unsigned char *puc_data, unsigned int ui_len, void *p_user_data);
|
||
#endif
|
||
|
||
#ifndef _HK_REALTIME_TEMPERATURE_STREAM_CB_FUNC_DEF_
|
||
#define _HK_REALTIME_TEMPERATURE_STREAM_CB_FUNC_DEF_
|
||
typedef bool(CALLBACK *REALTIME_TEMPERATURE_STREAM_CB_FUNC)(HK_STREAM_FRAME_INFO_S st_frame_info, unsigned char *puc_data, void *p_user_data);
|
||
#endif
|
||
|
||
#ifndef _HK_VIDEO_RESOLUTION_INFO_DEF_
|
||
#define _HK_VIDEO_RESOLUTION_INFO_DEF_
|
||
struct video_resolution{
|
||
unsigned short us_width;
|
||
unsigned short us_height;
|
||
};
|
||
#endif
|
||
|
||
|
||
#ifndef _HK_REALTIME_TEMPERATURE_RULE_DEF_
|
||
#define _HK_REALTIME_TEMPERATURE_RULE_DEF_
|
||
struct STRU_ANA_INFO {
|
||
char pc_ana[128];
|
||
};
|
||
#endif
|
||
|
||
|
||
#ifndef _HK_NET_DEV_SDK_POINT_DEF_
|
||
#define _HK_NET_DEV_SDK_POINT_DEF_
|
||
struct STRU_POINT {
|
||
unsigned short us_x;
|
||
unsigned short us_y;
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_LOCAL_TEMPERATURE_INFO_DEF_
|
||
#define _HK_LOCAL_TEMPERATURE_INFO_DEF_
|
||
typedef struct STRU_TEMPERTURE_INFO
|
||
{
|
||
int iType; //0, point, 1 rect, 2 line
|
||
float fMax;
|
||
int fMaxX;
|
||
int fMaxY;
|
||
|
||
float fMin;
|
||
int fMinX;
|
||
int fMinY;
|
||
|
||
float fAvg;
|
||
|
||
float fTemp; //iType point
|
||
int fX; //iType point
|
||
int fY; //iType point
|
||
|
||
STRU_TEMPERTURE_INFO()
|
||
{
|
||
iType = -1;
|
||
fMax = 0;
|
||
fMaxX = 0;
|
||
fMaxY = 0;
|
||
fMin = 0;
|
||
fMinX = 0;
|
||
fMinY = 0;
|
||
fAvg = 0;
|
||
fTemp = 0;
|
||
fX = 0;
|
||
fY = 0;
|
||
}
|
||
}LOCAL_TEMPERATURE_INFO;
|
||
#endif
|
||
|
||
#ifndef _HK_ANA_TEMPERATURE_DEF_
|
||
#define _HK_ANA_TEMPERATURE_DEF_
|
||
struct STRU_ANA_TEMPERATURE{
|
||
float fp_max;
|
||
unsigned short us_max_x;
|
||
unsigned short us_max_y;
|
||
|
||
float fp_min;
|
||
unsigned short us_min_x;
|
||
unsigned short us_min_y;
|
||
|
||
float fp_avg;
|
||
};
|
||
#endif
|
||
|
||
//自动切换测温档相关接口
|
||
#ifndef _HK_NET_MEAS_RANGE_
|
||
#define _HK_NET_MEAS_RANGE_
|
||
struct HK_NET_MEAS_RANGE{
|
||
unsigned char uc_range_type;
|
||
float f_range_min;
|
||
float f_range_max;
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_OSD_CONFIG_
|
||
#define _HK_OSD_CONFIG_
|
||
struct STRU_OSD_CONFIG{
|
||
unsigned char uc_show_chan;//0:不显示, 1:显示
|
||
unsigned char puc_chan_name[32];
|
||
unsigned short us_chan_name_x;
|
||
unsigned short us_chan_name_y;
|
||
|
||
unsigned char uc_show_time;//0:不显示, 1:显示
|
||
unsigned short us_time_x;
|
||
unsigned short us_time_y;
|
||
unsigned char uc_time_type;//0: XXXX-XX-XX 年月日, 1: XX-XX-XXXX 月日年, 2: XXXX年XX月XX日, 3: XX月XX日XXXX年, 4: XX-XX-XXXX 日月年, 5: XX日XX月XXXX年, 6: xx/xx/xxxx(月/日/年), 7: xxxx/xx/xx(年/月/日),8: xx/xx/xxxx(日/月/年)
|
||
unsigned char uc_show_week;//是否显示星期 0:不显示, 1:显示
|
||
unsigned char uc_time_attrib;// 1: 透明,闪烁, 2, 透明,不闪烁, 3: 不透明,闪烁, 4: 不透明,不闪烁
|
||
unsigned char uc_time_hour_type;//OSD小时制:0-24小时制,1-12小时制
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_PRESET_CONFIG_
|
||
#define _HK_PRESET_CONFIG_
|
||
struct STRU_PRESET_CONFIG{
|
||
unsigned int ui_enable; //1 enable, 0 disable
|
||
unsigned int ui_especial; //1 especial, 0 normal
|
||
unsigned int ui_no;
|
||
unsigned char puc_preset_name[64];
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_NVR_FILE_DEF_
|
||
#define _HK_NVR_FILE_DEF_
|
||
struct HK_NVR_FILE_COND{
|
||
unsigned int ui_start_year;
|
||
unsigned int ui_start_month;
|
||
unsigned int ui_start_day;
|
||
unsigned int ui_start_hour;
|
||
unsigned int ui_start_minute;
|
||
unsigned int ui_start_second;
|
||
|
||
unsigned int ui_stop_year;
|
||
unsigned int ui_stop_month;
|
||
unsigned int ui_stop_day;
|
||
unsigned int ui_stop_hour;
|
||
unsigned int ui_stop_minute;
|
||
unsigned int ui_stop_second;
|
||
};
|
||
|
||
struct HK_NVR_FILE_INFO{
|
||
char pc_file_name[128];
|
||
unsigned int ui_file_size;
|
||
|
||
unsigned int ui_start_year;
|
||
unsigned int ui_start_month;
|
||
unsigned int ui_start_day;
|
||
unsigned int ui_start_hour;
|
||
unsigned int ui_start_minute;
|
||
unsigned int ui_start_second;
|
||
|
||
unsigned int ui_stop_year;
|
||
unsigned int ui_stop_month;
|
||
unsigned int ui_stop_day;
|
||
unsigned int ui_stop_hour;
|
||
unsigned int ui_stop_minute;
|
||
unsigned int ui_stop_second;
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_NVR_IP_CHANNEL_
|
||
#define _HK_NVR_IP_CHANNEL_
|
||
struct STRU_NVR_IP_CHANNEL{
|
||
char pc_ip[16];
|
||
unsigned int ui_channel[2];
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_PLAY_BACK_PACKET_ES_INFO_
|
||
#define _HK_PLAY_BACK_PACKET_ES_INFO_
|
||
struct HK_PLAY_BACK_PACKET_ES_INFO{
|
||
unsigned short us_width; //宽度
|
||
unsigned short us_height; //调试
|
||
unsigned long ul_time_stamp; //时间戳低位
|
||
unsigned long ul_time_stamp_high; //时间戳高位
|
||
unsigned short us_year; //时间
|
||
unsigned short us_month;
|
||
unsigned short us_day;
|
||
unsigned short us_hour;
|
||
unsigned short us_minute;
|
||
unsigned short us_second;
|
||
unsigned short us_millisecond;
|
||
unsigned int ui_frame_num; //帧号
|
||
unsigned int ui_frame_rate; //帧率
|
||
unsigned int ui_packet_type; //包类型:0- 文件头,1- 视频I帧,2- 视频B帧, 3- 视频P帧, 10- 音频数据包, 11- 私有数据包
|
||
unsigned int ui_packet_size; //包大小
|
||
unsigned char *puc_packet_buffer; //缓冲区
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_NDSWN_CHANNEL_
|
||
#define _HK_NDSWN_CHANNEL_
|
||
struct STRU_NDSWN_CHANNEL{
|
||
int i_id;
|
||
char pc_ip[16];
|
||
int i_channel;
|
||
int i_manage_port;
|
||
char pc_protocol_type[32];
|
||
char pc_dev_sn[64];
|
||
};
|
||
#endif
|
||
|
||
//设置与获取测温规则
|
||
#ifndef _HK_NDSWN_POINT_
|
||
#define _HK_NDSWN_POINT_
|
||
struct STRU_NDSWN_POINT
|
||
{
|
||
float fX; // X轴坐标, 0.000~1
|
||
float fY; //Y轴坐标, 0.000~1
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_NDSWN_RULE_
|
||
#define _HK_NDSWN_RULE_
|
||
struct STRU_NDSWN_RULE{
|
||
int i_id;
|
||
float f_emiss;
|
||
float f_dist;
|
||
int i_rule_type;//规则标定类型 0-点,1-框,2-线
|
||
STRU_NDSWN_POINT pt_start;
|
||
STRU_NDSWN_POINT pt_end;
|
||
};
|
||
#endif
|
||
|
||
//报警规则
|
||
#ifndef _HK_NDSWN_ALARM_
|
||
#define _HK_NDSWN_ALARM_
|
||
struct STRU_NDSWN_ALARM{
|
||
int i_id;
|
||
int i_rule;//报警温度比较方式 0-高温大于,1-高温小于,2-低温大于,3-低温小于,4-平均温大于,5-平均温小于,6-温差大于,7-温差小于
|
||
float f_alarm;//报警温度
|
||
};
|
||
#endif
|
||
|
||
//区域报警规则
|
||
#ifndef _HK_NDSWN_DIFF_ALARM_
|
||
#define _HK_NDSWN_DIFF_ALARM_
|
||
struct STRU_NDSWN_DIFF_ALARM{
|
||
int i_rule_id1;
|
||
int i_rule_id2;
|
||
int i_rule;//报警温度比较方式0-高温大于,1-高温小于,2-低温大于,3-低温小于,4-平均温大于,5-平均温小于,6-温差大于,7-温差小于
|
||
float f_diff_alarm;//报警温度
|
||
};
|
||
#endif
|
||
|
||
#ifndef _HK_NDSWN_TEMPERATURE_UPLOAD_
|
||
#define _HK_NDSWN_TEMPERATURE_UPLOAD_
|
||
struct STRU_NDSWN_TEMPERATURE_UPLOAD{
|
||
int i_id;
|
||
int i_rule_type;//规则标定类型 0-点,1-框,2-线
|
||
int i_temperature_unit;//测温单位: 0-摄氏度(℃),1-华氏度(℉),2-开尔文(K)
|
||
float f_max;
|
||
float f_avg;
|
||
float f_min;
|
||
STRU_NDSWN_POINT st_max_pt;
|
||
STRU_NDSWN_POINT st_min_pt;
|
||
};
|
||
#endif
|
||
|
||
//实时温度回调
|
||
#ifndef _HK_NDSWN_REALTIME_TEMPERATURE_CB_FUNC_DEF_
|
||
#define _HK_NDSWN_REALTIME_TEMPERATURE_CB_FUNC_DEF_
|
||
typedef bool(CALLBACK *NDSWN_REALTIME_TEMPERATURE_CB_FUNC)(int i_channel, int i_preset, STRU_NDSWN_TEMPERATURE_UPLOAD *pst_temperature_data, unsigned int ui_len, void *p_user);
|
||
#endif
|
||
|
||
#ifndef _HK_NDSWN_TEMPERATURE_ALARM_UPLOAD_
|
||
#define _HK_NDSWN_TEMPERATURE_ALARM_UPLOAD_
|
||
struct STRU_NDSWN_TEMPERATURE_ALARM_UPLOAD{
|
||
int i_type;//0普通报警,1温差告警
|
||
int i_id1;//规则ID
|
||
int i_id2;//如果i_type为1则有第二个规则ID,如果i_type为0则本字段不启用
|
||
int i_rule_type;//规则标定类型 0-点,1-框,2-线
|
||
int i_temperature_unit;//测温单位: 0-摄氏度(℃),1-华氏度(℉),2-开尔文(K)
|
||
int i_alarm_type;//报警类型 0-最高温度 1-最低温度 2-平均温度 3-温差
|
||
int i_alarm_rule;//0-大于,1-小于
|
||
float f_rule_temperature;//报警条件的报警温度
|
||
float f_curr_temperature;//实际温度
|
||
};
|
||
#endif
|
||
|
||
//布防回调
|
||
#ifndef _HK_NDSWN_REALTIME_TEMPERATURE_ALARM_CB_FUNC_DEF_
|
||
#define _HK_NDSWN_REALTIME_TEMPERATURE_ALARM_CB_FUNC_DEF_
|
||
typedef bool(CALLBACK *NDSWN_REALTIME_TEMPERATURE_ALARM_CB_FUNC)(int i_channel, int i_preset, STRU_NDSWN_TEMPERATURE_ALARM_UPLOAD *pst_temperature_alarm_data, unsigned int ui_len, void *p_user);
|
||
#endif
|
||
|
||
//NVR回放回调
|
||
#ifndef _HK_PLAY_BACK_VIDEO_CB_FUNC_DEF_
|
||
#define _HK_PLAY_BACK_VIDEO_CB_FUNC_DEF_
|
||
typedef bool(CALLBACK *PLAY_BACK_VIDEO_CB_FUNC)(unsigned int i_handle, HK_PLAY_BACK_PACKET_ES_INFO *pst_es_info, void *p_user_data);
|
||
#endif
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|