📄 nettrans.h
字号:
/********************************************************************
created: 2002/07/28
created: 28:7:2002 22:59
filename: E:\WORK\0730\DvsServer\NetTrans.h
file path: E:\WORK\0730\DvsServer
file base: NetTrans
file ext: h
author: Sun_J
purpose: net ~~~
*********************************************************************/
#define IP2SERVER 0x7FFFFFFF //是上传数据
#define SERVER2IP 0x80000000 //是下传数据
#define SERVER2CLIENT 0x7FFFFFFF //-->
#define CLIENT2SERVER 0x80000000 //<--
/*编码卡复位 + DWORD(0:default reset dsp;1:reset whole card)*/
#define SYSRESET 0x11000001 //编码卡复位 + NULL
#define SYSINIT 0x11000002 //编码卡初始化 + INITINFO 数据结构
//编码卡收到SYSINIT信息后,予留10s,不处理其他命令,但是要处理HEARTBEAT信号
#define VIDEOSTART 0x11000003 //开始视频传输 + AVINFO 数据结构
//发送此命令需要确认数据通道已经连接
#define VIDEOSTOP 0x11000004 //结束视频传输 + AVINFO 数据结构
//不发送数据,不关闭数据通道连接
#define DEVICECTRL 0x11000005 //云台控制 + DEVICEINFO 数据结构
//ACK_CTRL
#define SPCONFIG 0x11000006 //配置云台串口 + INITINFO()
//
#define LAMPCTRL 0x11000007 //打开灯光 + ALERTINFO
#define VIDEORATE 0x11000008 //编码器的数据量 + INITINFO()
//分为0~5 六个档 ,0为默认为最高
#define ALERTSIGNAL 0x22000001 //报警信号 + ALERTINFO 数据结构
//PC端处理
#define INITREADY 0x22000002 //初始化成功 + NULL
//表示可以处理其他命令, 如果失败就不发送任何消息,用超时判断
#define HEARTBEAT 0x33000001 //心跳信号 + DWORD()
//此信号每10s发送一次,如果超时则认为编码卡出问题,回复也用此命令字
#define ACKNOWLEDGE 0x44000001 /*确认消息 + DWORD(命令代码) */
//
#define VIDEOSWITCH 0x55000007 //切换视频传输
#define QUERY_SWITCH 0x55001007 //子命令 + SWITCHINFO 数据结构
#define CAN_SWITCH 0x55002007 //sub cmd + SWITCHINFO 数据结构
#define NOT_SWITCH 0x55003007 //sub cmd + SWITCHINFO 数据结构
//此命令PC ~ PC 使用; 对编码卡翻译成VIDEOSTART命令
#define VIDEOSOURCE 0x66000001 //发送版卡信息
//发送板卡信息
#define PCMESSAGE 0x77000001 //PC之间的消息通信
//发送PC消息
#define PLACEDEFEAT 0x88000001 //布防处理(?? :)) + NULL
//dwSubCmd = TRUE, 允许报警; dwSubCmd = FALSE, 不处理报警
#define RECYCLEVIEW 0x99000001 //循环显示 + RECYCLEINFO 数据结构
#define RECYCLEMESSAGE 0x99000002 //循环消息 + ALERTINFO 数据结构
/*控制信号*/
typedef struct tagCmdSignal
{
DWORD dwFlag; //标志,= 0x7FFFFFF or 0x80000000
DWORD dwMainCmd; //主要命令
DWORD dwSubCmd; //附加命令
DWORD dwLength; //结构长度
}CMD_SIGNAL;
/*视频数据*/
#define DATA_HEADER 0x00000000 //一帧数据的开头
#define DATA_BODY 0x00000001 //一帧数据的中间
#define DATA_TAIL 0x00000002 //一帧数据的结尾
#define DATA_FULL 0x00000003 //包含整个一帧图象数据
typedef struct tagVideoData
{
DWORD dwFlag; /* = 0x7FFF FFFF*/
DWORD dwIsKeyFrame; //是否关键帧, 在数据的第一包加上
DWORD dwDataType; //数据类型
DWORD dwDataLen; //数据包的有效长度
}VIDEO_DATA;
/*压缩后图象结构*/
typedef struct tagBlockInfo
{
DWORD dwLength; //长度。
DWORD iCameraID : 1; //摄像机的编号。
DWORD iColor : 1; //是否彩色 0: 彩色 1: 黑白。
DWORD iBmpSize : 2; //图像尺寸 0: 352X288 1: 704x576 2: 176X144。
DWORD iReserve1 : 4; //保留数据1。
DWORD iVersion : 4; //版本号。
DWORD iUnUse : 20; //无用数据。
DWORD bKeyFrame ; //小帧号,0:静态,1:动态。
// DWORD wReserve2 : 31; //保留数据2。
}BLOCKINFO;
/*编码卡信息*/
#define CARD_NOTINIT 0x00000000 //编码卡未被初始化
#define CARD_INIT 0x00000001 //编码卡初始化但未连接
#define CARD_READY 0x00000002 //编码卡准备连接
#define CARD_START 0x00000003 //编码卡正在传输数据
#define CARD_ERROR 0x00000004 //错误
#define CARD_ALERT 0x00000005 //编码卡报警
#define CARD_RECYCLE 0x00000006 //循环显示
/*摄象机信息*/
#define PTZ_WANLI 0x00000000 //使用万力协议
#define PTZ_NANWANG 0x00000001 //使用难忘协议
#define PTZ_ALEC 0x00000002 //使用ALEC协议
#define PTZ_GENERAL 0x00000003 //使用通用云台
/*报警类型信息*/
#define ALERT_SMOG 0x00000000 //烟雾报警
#define ALERT_INFRARED 0x00000001 //红外报警
#define ALERT_OTHER 0x00000002 //其他报警
typedef struct tagBranceInfo
{
char szBranceName[60]; //摄象机所对的区域名称
BOOL bDevice; //是否有云台
BOOL bLamp; //是否有灯
DWORD dwPtzProtocol; //云台协议
DWORD dwPtzID; //云台地址
DWORD dwAlertType; //报警类型
DWORD dwBaudRate; //波特率 1200; 2400; 4800; 9600
}BRANCEINFO;
typedef struct tagCardInfo
{
DWORD dwCardState; //编码卡状态
char szCardName[64]; //编码卡名称
char szCardIP[16]; //IP地址
UINT uiCmdPort; //命令端口
UINT uiDataPort; //数据端口
DWORD dwActiveBrance; //哪一路正在被观看
DWORD dwUserPriority; //用户等级
DWORD dwLinkNumber; //正在连接的路数
DWORD dwReserve1; //
DWORD dwReserve2; //
BRANCEINFO Brance[8]; //摄象机信息
}CARDINFO;
/*视频开始和结束*/
typedef struct tagAVInfo
{
DWORD dwGUID; //根据IP地址计算出的GUID,唯一确定编码卡
DWORD dwActiveBrance; //此编码卡的第几路信号
DWORD dwUserPriority; //用户等级
DWORD dwReserve; //
}AVINFO;
/*工作站信息*/
typedef struct tagClientInfo
{
char szUserName[60]; //工作站登录用户
DWORD dwUserPriority; //等级
char szIPAddr[16]; //工作站IP地址
UINT uiCmdPort; //命令端口
UINT uiDataPort; //工作站数据端口
}CLIENTINFO;
/*心跳信号*/
#define HEART_HEART_BEAT 0x12348765 //?
/*切换信息*/
typedef struct tagSwitchInfo
{
char szUserName[60]; //工作站用户
DWORD dwGUID; //需要切换视频的编码卡的GUID
char szSourBrance[60]; //支路名称
char szDestBrance[60]; //只路名称
DWORD dwReserve; //
}SWITCHINFO;
/////////////////////////////////////////////////////
//QUERYSWITCH: USER NEED SWITCH IP CARD FROM SOUR TO DEST?
//CANSWITCH: USER ACCEPT SWITCH IP CARD FROM SOUR TO DEST
//NOTSWITCH: USER REFUSE SWTICH IP CARD FROM SOUR TO DEST
/////////////////////////////////////////////////////
/*用户信息*/
typedef struct tagUserInfo
{
BOOL bUserState; //状态 0:删除 1:使用中
DWORD dwUserPriority; //用户等级
char szUserName[60]; //用户名称
char szPassword[40]; //用户密码
}USERINFO;
/*云台控制信息*/
typedef struct tagDeviceInfo
{
DWORD dwCardGUID; //板卡的GUID
DWORD dwActiveBrance; //需要作的处理
DWORD dwCtrlSize;
char szCtrlBuf[32]; //控制命令不超过32 BYTE
}DEVICEINFO;
/*报警信息*/
typedef struct tagAlertInfo
{
char szCardIP[16]; //编码卡的IP地址
DWORD dwActiveBrance; //报警的支路
DWORD dwDealMode; //编码卡进行何种的报警处理
DWORD dwReserve; //
}ALERTINFO;
/*初始化信息*/
typedef struct tagInitInfo
{
DWORD dwBmpSize; //图象大小 0: 352X288 1: 704x576 2: 176X144。
DWORD dwColor; //是否彩色 0: 彩色 1: 黑白
DWORD dwBaudRate; //波特率 0: 1200 1: 2400 2: 4800 3: 9600
DWORD dwByteSize; //数据位 8, 9, 10
DWORD dwParity; //奇偶 0: 不校验 1: 奇校验 2: 偶校验 3: 全校验
DWORD dwStopBits; //停止位 0, 1, 2
DWORD dwReserve1; //开始位 0, 1, 2
DWORD dwReserve2; //保留
}INITINFO;
/*循环显示信息*/
typedef struct tagRecycleInfo
{
char szCardIP[16]; //编码卡IP地址
DWORD dwOldBrance; //恢复 :)
DWORD dwStartBrance; //开始的支路
DWORD dwStopBrance; //结束的支路
DWORD dwTimeSpace; //显示一路的时间间隔 s
}RECYCLEINFO;
/*
struct LOGFILE
{
DWORD dwLogType; // 事件类型0 = login; 1 = logout
char szUser[40]; // 用户
DWORD dwPriority; // 用户优先等级
char szHost[40]; // 主机名
char szDate[20]; // 日期
char szTime[20]; // 时间
};
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -