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

📄 biop.h

📁 Red-Button
💻 H
字号:
/* * biop.h * * BIOP data types from ISO/IEC 13818-6 *//* * Copyright (C) 2005, Simon Kilvington * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA */#ifndef __BIOP_H__#define __BIOP_H__#include <stdint.h>#include "carousel.h"#include "assoc.h"struct BIOPVersion{	uint8_t major;	uint8_t minor;} __attribute__((__packed__));struct BIOPMessageHeader{	char magic[4];				/* 'BIOP' */	struct BIOPVersion biop_version;	/* 1.0 */	uint8_t byte_order;			/* 0 = big endian */	uint8_t message_type;			/* should be 0 */	uint32_t message_size;			/* not including this header */} __attribute__((__packed__));/* magic header value */#define BIOP_MAGIC_STR	"BIOP"#define BIOP_MAGIC_LEN	4/* version we are expecting */#define BIOP_VSN_MAJOR	1#define BIOP_VSN_MINOR	0/* byte order */#define BIOP_BIGENDIAN	0/* message type we are expecting */#define BIOP_MSG_TYPE	0/* objectKind types */#define BIOP_DIR		"dir"#define BIOP_FILE		"fil"#define BIOP_STREAM		"str"#define BIOP_SERVICEGATEWAY	"srg"#define BIOP_STREAMEVENT	"ste"/* IOP::IOR profileId_tag values */#define TAG_BIOP		0x49534f06#define TAG_LITE_OPTIONS	0x49534f05/* BIOP::ObjectLocation tag */#define TAG_ObjectLocation	0x49534f50/* DSM::ConnBinder tag */#define TAG_ConnBinder		0x49534f40/* use types */#define BIOP_DELIVERY_PARA_USE	0x0016/* selector_type we are expecting */#define SELECTOR_TYPE_MESSAGE_LEN	0x0a#define SELECTOR_TYPE_MESSAGE		0x0001/* data type to hold a sequence */struct biop_sequence{	uint32_t size;	unsigned char *data;};/* data type to hold an IOP::IOR object reference */struct biop_iop_ior{	uint16_t association_tag;	/* maps to an elementary_PID */	uint32_t carousel_id;	uint16_t module_id;	struct biop_sequence key;};/* functions */void process_biop(struct carousel *, struct module *, struct BIOPMessageHeader *, uint32_t);void process_biop_dir(uint8_t, char *, struct carousel *, unsigned char *, uint32_t);uint32_t process_iop_ior(uint8_t, unsigned char *, struct biop_iop_ior *);uint16_t process_biop_service_gateway_info(uint16_t, struct assoc *, unsigned char *, uint16_t);uint16_t biop_uint16(uint8_t, uint16_t);uint32_t biop_uint32(uint8_t, uint32_t);uint32_t biop_sequence255(unsigned char *, struct biop_sequence *);uint32_t biop_sequence65535(uint8_t, unsigned char *, struct biop_sequence *);uint32_t biop_sequence(uint8_t, unsigned char *, struct biop_sequence *);uint32_t biop_align32(uint32_t);#endif

⌨️ 快捷键说明

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