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

📄 zj_datapublic.h

📁 组拨技术
💻 H
📖 第 1 页 / 共 2 页
字号:
/************************************************************************
* filename:  ZJ_datapublic.h
* created:   2007.05.15
* Function:  This is a head file for interface between user and ZJ module.
*                Data structure definition is in this structure. 
*
* version:    0.8.5.1
************************************************************************/

#ifndef _ZJ_DATAPUBLIC_H
#define _ZJ_DATAPUBLIC_H

#ifdef __cplusplus
extern "C" {
#endif



#ifndef		NULL
	#define		NULL							((void*)0)
#endif

#define MAX_PROGRAMNAME_LENGTH 			256       /*最大节目长度*/
#define ZJCA_CARD_ID_LEN					8		/*card id 长度*/
#define ZJCA_MAX_PIN_LEN					8		/*最大的PIN长度*/
#define ZJCA_MAX_INFO_LEN					256		/*最大可返回的信息长度*/
#define ZJCA_MAX_SNAME_LEN					21		/*最大可返回的节目名称长度*/
#define ZJCA_CW_LENGTH						16		/*控制字长度*/


#define ZJCA_MAX_EMAIL_SENDER_LEN			11		/*最大的email发送者名称长度*/
#define ZJCA_MAX_EMAIL_TITLE_LEN				20		/*最大的邮件头长度*/
#define ZJCA_MAX_EMAIL_CONTENT_LEN			256		/*最大的邮件内容长度*/
#define ZJCA_MAX_FILTER_LEN              		      64            /*最大Filter 长度*/

/*email 状态*/
#define ZJCA_EMAIL_STATUS_UNREAD				0		/*邮件未读*/
#define ZJCA_EMAIL_STATUS_READ				1		/*邮件已读*/

/*智能卡状态定义*/
#define ZJCA_SC_OUT						0		/*智能卡不在读卡器中*/
#define ZJCA_SC_IN							1		/*智能卡在读卡器中,工作正常*/

#define ZJCA_TIME_INFINITE					-1		/*无限长时间*/

#define ZJ_MAX_DAY_CHAR						64		/*每日描述信息的最大长度*/
#define ZJ_MAX_DAY_EPG						7		/*EPG信息中所能描述的最大天数*/

#define ZJ_THREAD_MUTEX_TIMED_NP				1		/*普通锁。当一个线程加锁以后,其余请求锁的线程将形成一个等待队列,并在解锁后按优先级获得锁*/

#define ZJ_THREAD_SEMAPHORE_NO_NAME			1		/*普通无名信号量*/


/************************************************************************
* 返回值定义
************************************************************************/
/* 基本返回值定义 */
/*   以下定义对于所有接口函数都适用 */

#define ZJRESULT							long	/*函数调用返回值类型*/

#define ZJ_RT_ERROR							-1		/*函数调用错误*/
#define ZJ_POINTER_INVALID					-2		/*输入的指针无效*/
#define ZJ_DATA_LEN_ERROR					-3		/*输入的数据长度不合法*/
#define ZJ_NO_SPACE							-4		/*已经没有空间*/
#define ZJ_PARAM_INVALID					-5		/*参数不合法*/
#define ZJ_MEMORY_NOT_AVALIABLE				-6		/*系统没有足够的内存*/
#define ZJ_NOT_FOUND						-7		/* 未找到指定数据 */

#define ZJ_RT_OK							0		/*函数调用成功*/
#define ZJ_RT_FAIL							1		/*函数调用失败*/

/*	扩展返回值定义 */
/*   以下返回值定义对应于特定函数返回时有意义(参见函数说明):*/

#define ZJCA_DATA_LEN_ERROR					0x10		/*CA数据长度错误*/ 

#define ZJCA_ELEMENT_NOT_FOUND				0x20		/*未找到基本流*/

#define ZJCA_PIN_ERROR						0x30		/*PIN码错误*/ 
#define ZJCA_PIN_LOCKED						0x31		/*PIN被锁定*/ 

#define ZJCA_EXCEED_MAX_COUNT				0x40		/*超过了允许的最大的个数*/

#define ZJCA_EBUSY							0x50		/*当前忙*/

#define ZJCA_TIMEOUT						0x60		/*超时*/
#define ZJCA_SEM_SIGNAL						0x61		/*信号量被通知*/

#define ZJCA_FUNC_NOT_SUPPORT				0xf0		/*当前版本不支持该功能*/

#define ZJ_IO_OPEN_ERROR					0x70
#define ZJ_FILE_NOT_EXIST                   0x71

#define ZJ_PROGRAM_NOT_FOUND				0x80		/*未找到节目*/
#define ZJ_PROGRAM_NOT_AUTHOR				0x81		/*该节目无授权*/

#define ZJ_RESOURCE_NOT_FOUND				0x88		/*未找到资源*/
#define ZJ_RESOURCE_NOT_AUTHOR				0x89		/*该资源无授权*/

#define ZJ_RESOURCE_DOWNLOAD_FINISH			0x90		/*该资源下载完成*/

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

/************************************************************************
* 枚举类型定义
************************************************************************/
typedef enum _ZJCA_EMAIL_NOTIFY_TYPE
{
	ZJCA_NEW_EAMIL,					/*新邮件通知*/
	ZJCA_NO_EMAIL_ROOM				/*有新邮件,但Email空间不够*/
}ZJCA_EMAIL_NOTIFY_TYPE;

typedef enum _ZJCA_OSD_CANCEL_TYPE
{
	ZJCA_OSD_CANCEL_BY_USER,		/*用户和CA系统都可取消该消息显示*/
	ZJCA_OSD_CANCEL_BY_CA			/*仅CA系统可取消该消息显示*/
}ZJCA_OSD_CANCEL_TYPE;

typedef enum _ZJ_AV_DATA_TYPE
{
	ZJ_AV_ES,						/* ES结构AV数据*/
	ZJ_AV_ISMA,						/* ISMA结构AV数据*/
	ZJ_AV_ITS,						/* IP结构中内部TS数据(针对AVS的IP打包方式) */
	ZJ_AV_UDP,						/* 带UDP封装的ISMA结构AV数据*/
	ZJ_AV_IP,						/* 带UDP§IP封装的ISMA结构AV数据*/
	ZJ_AV_TS,						/* TS结构AV数据*/
	ZJ_AV_PES						/* PES结构AV数据*/
}ZJ_AV_DATA_TYPE;

typedef enum _ZJ_FILTER_TYPE
{
	ZJ_FILTER_TYPE_NORMAL,					/*基本型过滤器,不支持反向过滤*/
	ZJ_FILTER_TYPE_NEG_MATCH_MODE,			/*在基本过滤器基础上增加反向过滤功能*/
	ZJ_FILTER_TYPE_NORMAL_CONTINUE,			/*基本型过滤器,不支持反向过滤,连续过滤模式*/
	ZJ_FILTER_TYPE_NEG_MATCH_MODE_CONTINUE	/*在基本过滤器基础上增加反向过滤功能,连续过滤模式*/
} ZJ_FILTER_TYPE;

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


/* 数据结构定义 */
#ifndef 		bool									/*有些平台未定义bool类型*/
#define 		bool						unsigned char
#define 		true							1
#define 		false						0
#endif

typedef 		long 	zjthread_t;			/*线程标识*/
typedef 		long 	zjthread_mutex_t;		/*mutex标识*/
typedef 		long 	zjthread_mutexattr_t;	/*mutex属性,当前只支持PTHREAD_MUTEX_TIMED_NP类型*/
typedef 		long 	zjthread_semaphore_t;		/*semaphore标识*/
typedef 		long 	zjthread_semaphoreattr_t;	/*semaphore属性,当前只支持ZJ_THREAD_SEMAPHORE_NO_NAME类型*/


typedef 		FILE 	zjfile_t;			/*文件标识*/

typedef struct _LARGE_INTEGER_ {
     unsigned long 	LowPart;
     unsigned long 	HighPart;
} LARGE_INT;

typedef struct _zjthread_attr_t_{
	long 				sched_priority; 			/*表示线程的运行优先级*/
} zjthread_attr_t;		/*线程属性*/

typedef struct _ZJCAServiceEntitle{
	bool				m_bEntitled;					/*当前节目是否有授权*/
	unsigned short 		m_nTsId;						/*当前节目所属的TS ID号*/
	unsigned short 		m_nServiceId;					/*当前节目的serviceId号*/
	unsigned char		m_tStartTime[4];				/*授权开始时间*/
	unsigned char		m_tEndTime[4];					/*授权结束时间*/
	char				m_sServiceName[ZJCA_MAX_SNAME_LEN];	/*节目名称*/
	unsigned long 		m_nID;							/*资源或节目ID号*/
}ZJCAServiceEntitle;		/*普通节目授权*/

typedef struct _ZJCAEmailInfo{
	unsigned long 		m_nEmailId;									/*邮件标识号*/
	unsigned char		m_tSendTime[4];								/*发送时间*/
	char				m_sSenderInfo[ZJCA_MAX_EMAIL_SENDER_LEN];	/*发送者姓名*/
	unsigned char		m_Status;									/*邮件的状态*/
	unsigned char		m_sTitle[ZJCA_MAX_EMAIL_TITLE_LEN];			/*邮件头*/
}ZJCAEmailInfo;

typedef struct _ZJCAEmailTitle{
	unsigned long 		m_nEmailId;									/*邮件标识号*/
	unsigned char		m_Status;									/*邮件的状态,可为ZJCA_EMAIL_STATUS_UNREAD和ZJCA_EMAIL_STATUS_READ两种状态*/
	unsigned char		m_sTitle[ZJCA_MAX_EMAIL_TITLE_LEN];			/*邮件头*/
}ZJCAEmailTitle;

⌨️ 快捷键说明

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