diff arib25v021/arib25/src/arib_std_b25.h @ 0:67e8eca28a80

initial import
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 16 Feb 2009 15:41:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/arib25v021/arib25/src/arib_std_b25.h	Mon Feb 16 15:41:49 2009 +0900
@@ -0,0 +1,60 @@
+#ifndef ARIB_STD_B25_H
+#define ARIB_STD_B25_H
+
+#include "portable.h"
+#include "b_cas_card.h"
+
+typedef struct {
+	uint8_t *data;
+	int32_t  size;
+} ARIB_STD_B25_BUFFER;
+
+typedef struct {
+
+	int32_t  program_number; /* channel */
+	
+	int32_t  ecm_unpurchased_count;
+	int32_t  last_ecm_error_code;
+
+	int32_t  padding;
+
+	int64_t  total_packet_count;
+	int64_t  undecrypted_packet_count;
+	
+} ARIB_STD_B25_PROGRAM_INFO;
+
+typedef struct {
+
+	void *private_data;
+
+	void (* release)(void *std_b25);
+
+	int (* set_multi2_round)(void *std_b25, int32_t round);
+	int (* set_strip)(void *std_b25, int32_t strip);
+	int (* set_emm_proc)(void *std_b25, int32_t on);
+	
+	int (* set_b_cas_card)(void *std_b25, B_CAS_CARD *bcas);
+	
+	int (* reset)(void *std_b25);
+	int (* flush)(void *std_b25);
+
+	int (* put)(void *std_b25, ARIB_STD_B25_BUFFER *buf);
+	int (* get)(void *std_b25, ARIB_STD_B25_BUFFER *buf);
+
+	int (* get_program_count)(void *std_b25);
+	int (* get_program_info)(void *std_b25, ARIB_STD_B25_PROGRAM_INFO *info, int32_t idx);
+
+} ARIB_STD_B25;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern ARIB_STD_B25 *create_arib_std_b25();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ARIB_STD_B25_H */
+