⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zj_datapublic.h

📁 组拨技术
💻 H
📖 第 1 页 / 共 2 页
字号:

typedef struct _ZJCAEmailContent{
	unsigned long		m_nEmailId;									/*邮件标识号*/
	unsigned char		m_tSendTime[4];								/*发送时间*/
	char				m_sSenderInfo[ZJCA_MAX_EMAIL_SENDER_LEN];	/*发送者姓名*/
	unsigned short		m_nEmailLength;								/*邮件内容长度*/
	unsigned char		m_sEmail[ZJCA_MAX_EMAIL_CONTENT_LEN];		/*邮件内容*/
}ZJCAEmailContent;

typedef struct _ZJStreamFilter{
	short				m_nPid;							/*需要过滤的流的PID */
	unsigned char      sFilter[ZJCA_MAX_FILTER_LEN];	/*过滤器的值,为一个64个字节的数组,对应于滤取到的负载的前64个字节*/
	unsigned char		sMask[ZJCA_MAX_FILTER_LEN];		/*过滤器的掩码,为一个64个字节的数组,与过滤器字节一一对应,
														bit位为0时szFilter里对应的bit位无效,可为任意值,bit位为1时szFilter里对应的bit位有效,数据包头中与该位相同的数据可认为匹配;
														当sMask对应位被设置为无效时,该位不受pModePattern字段(如存在)影响。*/
	ZJ_FILTER_TYPE 		filterType;						/*过滤器类型,当取值为ZJ_FILTER_TYPE_NORMAL,时代表该过滤器属基本型过滤器,不支持反向过滤,pModePattern为无效字段。
														当取值为ZJ_FILTER_TYPE_NEG_MATCH_MODE可支持反向过滤模式,并由pModePattern字段指明对应位的过滤模式。
														对于另两种后缀为_CONTINUE的类型,表明滤取类型为对应类型的连续滤取类型,即连续获取数据知道停止函数被调用;
														而无后缀过滤类型,当收到一个符合条件的包后,过滤停止*/
	unsigned char*		pModePattern;					/*当过滤器类型取值为ZJ_FILTER_TYPE_NEG_MATCH_MODE时,该字段指示对应的每一个sFilter字段应使用正向过滤(取值为1)还是反向过滤(取值为0);
														字段取值长度为ZJCA_MAX_FILTER_LEN,后缀为_CONTINUE类型与无后缀时类型功能对应,此时sMask仍然有效。
														当设置正向过滤时,获取的数据为与sFilter对应位相同的数据;
														当设置为反向过滤时,获取的数据为与sFilter对应位不相同的数据*/
	long 			nTimeout;							/*过滤器接收数据的最长等待时间单位为毫秒,0为无限等待*/
}ZJStreamFilter;


typedef struct _ZJCATerminalInfo_{
	unsigned long		m_nSerioNo;							/*终端序列号*/
	unsigned long 	m_nHardVersion;						/*终端硬件版本号*/
	unsigned long 	m_nSoftVersion;						/*终端软件版本号*/
} ZJCATerminalInfo;

typedef struct _ZJProgramEPG_ {
	char 			m_sDayDescription[ZJ_MAX_DAY_EPG][ZJ_MAX_DAY_CHAR];		/*每一天的描述信息,该字串可直接用于显示*/
	char * 			m_pEventDescription[ZJ_MAX_DAY_EPG];					/*每一天节目的描述信息,该信息字段的解析参见附录A*/
} ZJProgramEPG;

typedef struct _ZJProgram_{
	unsigned long 	m_nProgramID;								/*当前节目的节目号,由系统维护,并唯一*/
	char 			m_sProgramName[MAX_PROGRAMNAME_LENGTH];		/*节目名称*/
	bool			m_bIsEnc;									/*当前节目是否加密;false-未加密;true-加密*/
	char 			m_sProgramDescription[256];					/*当前节目的描述*/
	unsigned char *	m_pSdpInfo;									/* SDP信息 */
	ZJProgramEPG * 	m_pProgramEpg;								/*指向本节目一周指南的指针*/
	unsigned short  m_nType;									/*当前节目的类型*/
} ZJProgram;

typedef struct _ZJLiveEPG_ {
	long				m_nProgramNum;							/*当前的节目数*/
	unsigned long 		m_nVersion;								/*当前EPG的版本号,其取值从0到0xffff */
	ZJProgram * 		m_pProgramList;							/*当前节目信息的描述数组指针,其中所包含的ZJProgram个数由m_nProgramNum决定*/
} ZJLiveEPG;

typedef void (*ZJEpgUpdateFUNC)(long);								/*更新通知函数原型定义*/


/************************************************************************/
typedef struct _ZJAACData_ {
	unsigned long m_nClockRate;
	unsigned char m_sHexConfig[2];
	unsigned long m_nTimeStamp;
	unsigned long m_nFrameLength;
	unsigned char *m_pFrameData;
}ZJAACData;

typedef struct _ZJMp4VData_ {
	unsigned long m_nClockRate;
	unsigned short m_nConfigLength;
	unsigned char m_sHexConfig[200];
	unsigned long m_nTimeStamp;
	unsigned long m_nFrameLength;
	unsigned char *m_pFrameData;
}ZJMp4VData;


typedef struct _ZJMiscData_
{
	unsigned long m_nDataLength;
	unsigned char * m_pData;
}ZJMiscData;

typedef struct _ZJStreamData_ {
	unsigned long m_nProgramId;
	unsigned short 	m_nStreamType;							/*当前的流数据类型;该类型定义后8bit遵循ISO/IEC 13818标准*/
	ZJ_AV_DATA_TYPE m_tDataType;
	union {
		ZJAACData		m_aacData;
		ZJMp4VData		m_mp4VData;
		ZJMiscData		m_miscData;							/* IP、UDP、ISMA或者ITS格式的数据 */
	}m_StreamData;
}ZJStreamData;

typedef void (*ZJStreamDataProcFUNC)(ZJStreamData*);					/*流数据接收通知函数原型定义*/

/************************************************************************/

typedef struct _ZJFramerTimeTag_ {										/*系统参考时钟值*/
    unsigned short		m_nCounter0;
    unsigned short 	m_nCounter1;
    unsigned short 	m_nCounter2;
} ZJFramerTimeTag;

typedef struct _ZJResourceRight_{
	unsigned short 	m_nRightType;						/*资源的授权类型: 0为无限制类型;1为限制分发类型; 2为有限使用次数;0xFFFF未知授权类型;其他保留*/
	union {
		unsigned long 	m_nUseTime;						/*当权利类型为2时,代表资源剩余的使用次数*/
	}m_Right;
	long 				m_nCharge;						/*当前资源授权的收费额度,如为已获得的授权,该项值为0,该值为-1表示当前无收费信息*/
} ZJResourceRight;

typedef enum _ZJResourceType_{						/*资源类型定义*/
	ZJ_MP2,										/*MPEG音频,第一二层*/
	ZJ_MP3,										/*MPEG音频,第三层*/
	ZJ_A_AVS,										/*AVS音频文件*/
	ZJ_WMA,										/*WMA音频文件*/
	ZJ_TXT,										/*纯文本格式*/
	ZJ_MPEG,										/*MPEG2视频文件*/
	ZJ_MP4,										/*MPEG4视频文件*/
	ZJ_V_AVS,										/*AVS视频文件*/
	ZJ_JPG,										/*JPEG图像文件*/
	ZJ_PNG,										/*PNG图像文件*/
	ZJ_GIF,										/*GIF图像文件*/
	ZJ_BMP,										/*BMP图像文件*/
	ZJ_MP2_IFRAME,								/*MPEG2 I帧图像文件*/
	ZJ_FLASH,										/*FLASH文件*/
	ZJ_HTML,										/*html文件*/
	ZJ_XML										/*xml文件*/

} ZJResourceType;


typedef struct _ZJResourceProperty_{
	LARGE_INT 			m_nSize;						/*当前资源的大小*/
	char 				m_sVersion[16];					/*资源版本,暂未使用,权做保留*/
	ZJResourceType		m_nType;						/*资源类型,终端可根据该类型选择能支持的类型呈现给用户*/
	bool				m_bIsFree;						/*当前资源是否加密;false-加密;true-不加密*/
	bool				m_bIsAuthored;					/*当前资源是否已有授权;false-无授权;true-已有授权*/
	ZJResourceRight*	m_pRight;						/*可为空;如m_bIsAuthored为true,指针指向有效数据,为当前资源已获得的使用权限;如m_bIsAuthored为false,指针指向有效数据,为当前资源可获得的使用权限;*/
	unsigned short	m_nPathLen;							/*资源路径的长度*/
	char 			m_nPath[255];						/*资源路径,指示当前资源在整个资源树下的位置。如/资讯/日常/天气预报/广东,表示在“资讯”资源的“日常”类中的“天气预报”节点下的“广东”资源。资源之间采用“/”来分隔,最后一个“/”后的字符串标识资源名称,它被用来直接呈现给用户。*/
} ZJResourceProperty;

typedef struct _ZJResource_{
	unsigned long 		m_nID;							/*资源的资源号,由系统维护,并唯一*/
	char 				m_sDescription[256];			/*当前资源的描述*/
	ZJResourceProperty	m_pProperty;					/*资源属性*/
} ZJResource;

typedef struct _ZJDownloadEPG_ {
	long				m_nResourceNum;					/*当前的下载资源数*/
	unsigned long 		m_nVersion;						/*当前EPG的版本号,其取值从0到0xffff */
	ZJResource * 		m_pResourceList;				/*当前下载资源信息的描述数组指针,其中所包含的ZJResource个数由m_nResourceNum决定*/
} ZJDownloadEPG;


typedef struct _ZJResourceData_ {
	unsigned long 		m_nID;								/* 当前的数据块所属的资源ID */
	unsigned long		m_nTotalBlock;						/* 该资源总的数据块数 */
	unsigned long		m_nBlockNumber;						/* 当前数据块在总数据块中的序号 */
	unsigned long 		m_nLength;							/* 当前数据块的长度 */
	unsigned char * 	m_nData;							/* 资源的数据块 */
} ZJResourceData;

typedef struct _ZJFileAttribute_ {						/*文件属性*/
	unsigned long 		m_nSize;							/*文件大小*/
	unsigned char		m_sLasModifiedTime[5];				/*文件最后修改时间 MJD + UTC*/
} ZJFileAttribute;

typedef struct _ZJ_T2ZRegFunction
{
 
	typedef ZJRESULT (*zj_Z2T_SetRetrieveFilter)(unsigned long requestId, ZJStreamFilter filter);
	typedef ZJRESULT (*zj_Z2T_StopRetrieve)(unsigned long requestId);
	zj_Z2T_SetRetrieveFilter m_zj_Z2T_SetRetrieveFilter;
    zj_Z2T_StopRetrieve m_zj_Z2T_StopRetrieve;

}ZJ_T2ZRegFunction;

typedef void (*ZJResourceDataProcFUNC)(ZJResourceData*);			/*资源数据接收通知函数原型定义*/


#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -