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

📄 dsmcc-biop.h

📁 Parses UK Profile 1.05/1.06 Object Carousel and saves files to disk (all stored under /tmp/cache at
💻 H
字号:
#ifndef DSMCC_BIOP_H#define DSMCC_BIOP_H#include <vdr/receiver.h>#include "dsmcc-cache.h"#define	BIOP_OBJ_OFFSET	11#define BIOP_TAG_OFFSET 17struct biop_name_comp {	unsigned char id_len;	char *id;	unsigned char kind_len;	char *kind;};struct biop_name {	unsigned char comp_count;	struct biop_name_comp *comps;};struct biop_body_file {	unsigned long msgbody_len;	unsigned long content_len;/*	char *content_byte; */};/*struct biop_body_stream { 	struct str_info_t info_t;	unsigned char contextlist_count};	struct context *contexts;	unsigned long msgbody_len;	unsigned char taps_count;	struct biop_tap *taps;};struct biop_body_stream_event { 	struct str_info_t info_t;	struct str_eventlist_t *eventlist_t;	unsigned char contextlist_count;	struct context *contexts;	unsigned long msgbody_len;	unsigned char taps_count;	struct biop_tap *taps;	unsigned char eventids_count;	unsigned short *eventids;};struct str_info_t {	unsigned char aDesc_len;	char *aDesc;	unsigned long aSec;	unsigned long aMicro;	unsigned char audio;	unsigned char video;	unsigned char data;};struct str_event_list_t event_list_t {	unsigned short evNames_count;	struct event_name *names;};struct event_name {	unsigned char length;	char *data;};*/struct biop_msg_header {	unsigned char version_major;	unsigned char version_minor;	unsigned int message_size;	unsigned char objkey_len;	char *objkey;	unsigned long objkind_len;	char *objkind;	unsigned int objinfo_len;	char *objinfo;};struct biop_tap {	unsigned short id;	unsigned short use;	unsigned short assoc_tag;	unsigned short selector_len;	char *selector_data;};struct biop_module_info {	unsigned long mod_timeout;	unsigned long block_timeout;	unsigned long min_blocktime;	unsigned char taps_count;	struct biop_tap tap;	unsigned char userinfo_len;	struct descriptor *descriptors;};struct biop_dsm_connbinder {	unsigned long component_tag;	unsigned char component_data_len;	unsigned char taps_count;	struct biop_tap tap;};struct biop_obj_location {	unsigned long component_tag;	char component_data_len;	unsigned long carousel_id;	unsigned short module_id;	char version_major;	char version_minor;	unsigned char objkey_len;	char *objkey;};struct biop_profile_body {	unsigned long data_len;	char byte_order;	char lite_components_count;	struct biop_obj_location obj_loc;	struct biop_dsm_connbinder dsm_conn;	/* ignore the rest  */};struct biop_profile_lite {	;};struct biop_ior {	unsigned long type_id_len; 	char *type_id;	unsigned long tagged_profiles_count;	unsigned long profile_id_tag;	union {		struct biop_profile_body full;		struct biop_profile_lite lite;	} body;	/* UKProfile - ignore other profiles */};	struct biop_binding {	struct biop_name name;	char binding_type;	struct biop_ior ior;	unsigned int objinfo_len;	char *objinfo;};struct biop_body_gateway {	unsigned long msgbody_len;	unsigned int bindings_count;	struct biop_binding binding;};struct biop_body_directory {	unsigned long msgbody_len;	unsigned int bindings_count;	struct biop_binding binding;};struct biop_message {	struct biop_msg_header hdr;	union {		struct biop_body_file file;		struct biop_body_directory dir;		struct biop_body_gateway srg;/*		struct biop_body_stream str;		struct biop_body_streamevent eve;*/	} body;};class Biop {	public:		static int ProcessBiopIor(struct biop_ior *, uchar *);		static int ProcessBiopName(struct biop_name *,uchar *);		static int ProcessBiopNameComp(struct biop_name_comp*,uchar *);		static int ProcessBiopBinding(struct biop_binding*,uchar *Data);		static int ProcessBiopModuleInfo(struct biop_module_info *, uchar *Data);		static void ProcessBiopData(Cache *cache, struct cache_module_data *cachep);	private:		static int ProcessBiopSrg(struct biop_message *, struct cache_module_data *cachep, Cache *cache);		static void ProcessBiopDir(struct biop_message *, struct cache_module_data *cachep, Cache *cache);		static void ProcessBiopFile(struct biop_message *, struct cache_module_data *cachep, Cache *cache);		static int			ProcessBiopMsgHdr(struct biop_message *, struct cache_module_data *cachep);		static int ProcessBiopTap(struct biop_tap *, uchar *);		static int ProcessBiopBinder(struct biop_dsm_connbinder*,uchar*);		static int ProcessBiopObject(struct biop_obj_location*, uchar*);		static int ProcessBiopBody(struct biop_profile_body *,uchar *);		static int ProcessBiopLite(struct biop_profile_lite *, uchar *);		static void FreeBiopBinding(struct biop_binding *);};#endif

⌨️ 快捷键说明

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