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

📄 sitable.h

📁 MiniWinOuterSM MiniWinOuterSM
💻 H
📖 第 1 页 / 共 2 页
字号:
	UCHAR adaptationLength;
	USHORT messageLength;
}DSMCCMessage;
typedef struct{
	UINT magic;
	USHORT version;
	int messageSize;
	UCHAR objectKeyLength;
	UCHAR*objectKey;
	UCHAR objectKindLength;
	UCHAR*objectKind;
	USHORT objectInfoLength;
	UCHAR*objectInfo;
	UCHAR serviceContextCount;
	UCHAR*serviceContextBytes;
	UINT messageBodyLengh;
	UCHAR*messageBody;
	/*union{
		UINT contentLength;//for BIOP::FileMessage alias "fil"
		USHORT bindCount;//for BIOP::DirectoryMessage	alias "dir"
		UCHAR tapCount;//for BIOP::StreamMessage alias "str"
							   //and BIOP::StreamEventMessage	"ste"
	};*/
}BIOPMessage;
typedef struct BIOPName{
	UCHAR nameLength;
	UCHAR *name;
	UCHAR kindLength;
	UCHAR*kind;
	struct BIOPName*next;
}BIOPName;
typedef struct{
	USHORT bindingsCount;
	BIOPName*binds;
	UCHAR*iorBytes;//pointer to IOP::IOR
}DirectoryMessage;
typedef struct DownloadInfoIndicate{
	UINT downloadId;
	USHORT blockSize;
	UCHAR windowSize;
	UCHAR ackperiod;
	UINT tCDownloadWindow;
	UINT tCDownloadScenario;
	UCHAR*compatibilityDescriptor;
	USHORT numberOfModules;
}DOWNLOADINFOINDICATE;
typedef struct dsmccDownloadData
{
	char protocolDiscriminator;
	char dsmccType;
	USHORT messageId;
	unsigned long downloadId;
	int reserved;
	int adaptationLength;
	USHORT messsageLength;	
}DSMCCDownloadData;
typedef struct dsmccModuleInfo{
	USHORT moduleId;
	int moduleSize;
	UCHAR moduleVersion;
	UCHAR moduleInfoLength;
	UCHAR*moduleInfoBytes;//descriptions bytes
}ModuleInfo;
typedef struct{
	USHORT moduleId;
	UINT moduleSize;
	UCHAR moduleVersion;
	UCHAR moduleInfoLength;
	
	UINT moduleTimeOut;
	UINT blockTimtOut;
	UINT minBlockTime;
	UCHAR tapCount;
	UCHAR*tapBytes;
}BIOPModuleInfo;
typedef struct dsmccGroupInfo{
	UINT groupId;
	UINT groupSize;
	char*GroupCompatibility;
	SHORT GroupCompatibilityLength;
	USHORT GroupInfoLength;
	char*GroupInfoBytes;//descriptions bytes
}GroupInfo;

typedef struct  BIOPProfile{
	UINT profileId_tag;
	UINT profile_data_length;
	UCHAR profile_data_byte_order;
	UCHAR ComponentCount;
	UCHAR*ComponentBytes;
	//struct BIOPProfile*next;
}BIOPProfile;
typedef struct IOPIOR{
	UINT typeId_length;
	UCHAR*typeId;
	int taggedProfileCount;
	UCHAR*profileBytes;
}IOPIOR;
typedef struct{
	UINT componentId_tag;
	UCHAR component_data_length;
	UINT carouselId;
	USHORT moduleId;
	USHORT version;
	UCHAR objectKeyLength;
	UCHAR*objectKey;
}BIOPObjectLocation;
typedef struct{
	UINT componentId_tag;
	UCHAR component_data_length;
	UCHAR tapCount;
	UCHAR*tapBytes;
}DSMConnBinder;
typedef struct{
	USHORT selectorType;
	UINT transactionId;
	UINT timeOut;
}DSMMessageSelector;
typedef struct{
	UINT Id;
	UINT Use;
	USHORT associationTag;
	int selectorLength;
	UCHAR*selectorBytes;
	DSMMessageSelector msgSelector;
}DSMTap;
typedef struct{
	UCHAR*serverid;
	USHORT compatibilityDescriptorLength;
	UCHAR*compatibilityDescriptor;
	USHORT privateDataLength;
	UCHAR*privateDataBytes;
}DOWNLOADSERVERINITIATE;//DOWNLOADSERVERINITIATE;

typedef struct{
	IOPIOR iopior;
	UCHAR downloadTapCount;
	UCHAR*downloadTapBytes;
	UCHAR serviceContextCount;
	UCHAR*serviceContextBytes;
	USHORT userInfoLength;
	UCHAR* userInfoBytes;
}ServiceGatewayInfo;
typedef struct{
	UCHAR nameLength;
	UCHAR*Name;
	UCHAR kindLength;
	UCHAR*kind;
	char bindType;//1--noobject(File),2--ncontent(Directory,ServiceGateway)
	UCHAR*ior;
	USHORT objectInfoLength;
	UCHAR*objectInfo;
}Object;
typedef struct OCMSG{
	UINT usedTimes;
	//UINT clock;
	UINT gdfsValue;
	UINT size;
	char SubDirPrepared;
	int refCount;
	UCHAR*msgData;
	struct OCMSG*next;
	struct OCMSG*prev;
}OCMSG;
//=====================================================================

//=====================DESCRIPTOR_PARSE====================================================
#ifdef __cplusplus
extern "C"{
#endif
	UCHAR*FindDescriptor(UCHAR*des,SHORT dslen,UCHAR tag);
	UCHAR GetSdtServiceName(DVBService*service,UCHAR*provider,UCHAR*sname,UCHAR*lan);
	int GetSdtMosaicInfo(DVBService*service,MOSAICINFO*mosaic);
	
	int GetNVODRefService(DVBService*service,NVODRefService*nvodrefService);
	UINT BCD2Int(UINT value);
	UINT Int2BCD(UINT value);
	UCHAR GetDeliveryTuneInfo(DVBStream*ts,PRTunerParams*tune);
	//========================================================================================
	USHORT GetPatStreamID(UCHAR*section);
	USHORT GetPmtPID(UCHAR*section,USHORT serviceID);//从PAT中获取指定service的PMT_PID
	USHORT GetPmtServiceID(UCHAR*section);
	int GetPmtMosaicInfo(UCHAR*section,MOSAICINFO*mosaic);
	//====================for all SI subTable parse function==================================
	USHORT GetSectionLength(UCHAR*section);
	UCHAR  GetSectionVersion(UCHAR*section);
	UINT  GetSectionCRC(UCHAR*section);
	USHORT GetExtTableID(UCHAR*section);
	UCHAR GetTableID(UCHAR*section);
	UCHAR GetSectionNo(UCHAR*section);
	UCHAR GetLastSectionNo(UCHAR*section);
	USHORT GetDesciptorCount(UCHAR*des, SHORT deslooplen);
	//======================for NIT and BAT===================================================
	USHORT GetNitFirstLoopLen(UCHAR*section);
	USHORT GetNitTSLoopLen(UCHAR*section);
	USHORT GetNitTSCount(UCHAR*section);
	USHORT GetNitNetID(UCHAR*section);
	void GetNitTSStream(UCHAR*section,DVBStream*stream,int index);
	USHORT GetBatBouquetID(UCHAR*section);
	UCHAR GetNitNetworkName(UCHAR*section,UCHAR*name,UCHAR*lan);
	UCHAR GetBatBouquetName(UCHAR*section,UCHAR*name,UCHAR*lan);

	//=======================for SDT=========================================================
	USHORT GetSdtStreamID(UCHAR*section);
	USHORT GetSdtNetID(UCHAR*section);
	void GetSdtService(UCHAR*section,DVBService*service,int index);
	SHORT GetSdtServiceCount(UCHAR*section);
	
	//=======================for EIT=========================================================
	
	void GetYMDFromMJD(USHORT mjd,USHORT*year,USHORT*month,USHORT*day);
	UCHAR GetWeekDay(USHORT mjd);
	void GetEventInfo(UCHAR*buf,DVBEvent*event);
	UCHAR* GetEitEvent(UCHAR*section,DVBEvent*event,int index);
	SHORT GetEitEventCount(UCHAR*section);
	UCHAR GetEitSegmentLastSecNo(UCHAR*section);
	UCHAR GetEitLastTableID(UCHAR*section);
	USHORT GetEitNetID(UCHAR*section);
	USHORT GetEitStreamID(UCHAR*section);
	USHORT GetEitServiceID(UCHAR*section);
	//  SYSTIME GetEitEventTime
	UCHAR GetShortEventName(DVBEvent*event,char*eventName,char*txt, char*lan);
	UCHAR GetEventContentType(DVBEvent*event,UCHAR*tp1,UCHAR*tp2);
	
	//======================for TDT TOT=========================================================
	void GetUTCTime(UCHAR*section,USHORT*mjd,UINT*time);
	void GetHMSFromUTC(INT utc,USHORT*hh,USHORT*min,USHORT*sec);
	UINT UTC2Seconds(INT utc);
	void GetTOTTime(UCHAR*section,USHORT*mjd,UINT*time);
	INT GetTOTOffsetInfo(UCHAR*section,TIMEOFFSETINFO*tos);
	//======================for PAT============================================================
	
	void GetPatProgram(UCHAR*section,DVBProgram*prog,int index);
	USHORT GetPatProgramCount(UCHAR*section);
	
	
	//=======================for PMT===========================================================
	USHORT GetPmtPCRPID(UCHAR*section);
	void GetPmtElement(UCHAR*section,ProgElement*element,int index);
	SHORT GetPmtElementCount(UCHAR*section);
	SHORT GetPmtProgramInfoLen(UCHAR*section);
	UCHAR  GetTeletextInfo(ProgElement*element,TeletextInfo*teletextInfo);
	//=======================for DSMCC (DC)====================================================
	int GetMsgHeaderLength(UCHAR*section);
	int GetDSMCCMessage(UCHAR*section,DSMCCMessage*msg);
	int GetDDBData(UCHAR *section,UCHAR *buf);
	//*************for DII**************
	int GetModuleInfo(UCHAR*section,int index,ModuleInfo*mi);
	int GetDownloadInfoIndicate(UCHAR*section,DOWNLOADINFOINDICATE*dii);
	char*GetModuleName(ModuleInfo*mi,char*name,int maxnamelen);
	//*************for DSI**************
	int GetGroupInfo(UCHAR*section,int index,GroupInfo*gi);
	int GetDownloadServerInitiate(UCHAR*section,DOWNLOADSERVERINITIATE*dsi);
	int GetServiceGatewayInfo(UCHAR*section,ServiceGatewayInfo*gi);
	int GetGroupCount(UCHAR*section);
	//////////////////////////////////////////////////////////////////////////
	//for BIOPMessage IOP::IOR..
	int GetIOPIOR(UCHAR*p,IOPIOR*ior);
	int GetProfile(IOPIOR*ior,int index,BIOPProfile*profile);
	int FindProfile(IOPIOR*ior,BIOPProfile*profile,UINT profileId_tag);
	int GetObjectLocation(BIOPProfile*profile,BIOPObjectLocation*location);
	int GetConnBinder(BIOPProfile*profile,DSMConnBinder*binder);
	int GetDSMTap(UCHAR*p,DSMTap*tap);
	int	GetConnBinderTap(DSMConnBinder*binder,int index,DSMTap*tap);

	int GetObjectByName(BIOPMessage*msg,const char*name,Object*obj);
	int GetBIOPMessage(UCHAR*p,BIOPMessage*msg);
	int GetOCObject(BIOPMessage*msg,int index,Object*obj);
	int FindMessage(UCHAR*moduleBytes,UINT moduleSize,BIOPMessage*msg,UCHAR*key);
	
#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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