summaryrefslogtreecommitdiff
path: root/mcast/common/.svn/text-base/ciparser.h.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'mcast/common/.svn/text-base/ciparser.h.svn-base')
-rw-r--r--mcast/common/.svn/text-base/ciparser.h.svn-base140
1 files changed, 140 insertions, 0 deletions
diff --git a/mcast/common/.svn/text-base/ciparser.h.svn-base b/mcast/common/.svn/text-base/ciparser.h.svn-base
new file mode 100644
index 0000000..44cb810
--- /dev/null
+++ b/mcast/common/.svn/text-base/ciparser.h.svn-base
@@ -0,0 +1,140 @@
+/*
+ * (c) BayCom GmbH, http://www.baycom.de, info@baycom.de
+ *
+ * See the COPYING file for copyright information and
+ * how to reach the author.
+ *
+ */
+
+#define ntohs16(data) ((u_int16_t)data[0]<<8 | (u_int16_t)data[1])
+typedef struct {
+ u_int16_t len;
+ u_int8_t *data;
+} ci_pdu_t;
+
+typedef struct
+{
+ u_int8_t slot;
+ u_int8_t tcid;
+ u_int32_t length;
+ u_int8_t *data;
+} ci_ll_t;
+
+typedef struct
+{
+ ci_ll_t *ll;
+ u_int8_t c_tpdu_tag;
+ u_int32_t length;
+ u_int8_t tcid;
+ u_int8_t *data;
+} ci_tl_t;
+
+typedef struct
+{
+ ci_tl_t *tl;
+ u_int8_t tag;
+ u_int32_t length;
+ u_int32_t object_value;
+ u_int8_t *data;
+} ci_sl_t;
+
+typedef struct
+{
+ ci_sl_t *sl;
+ u_int32_t tag;
+ u_int32_t length;
+ u_int8_t *data;
+} ci_al_t;
+
+typedef struct
+{
+ u_int16_t ca_id;
+ u_int16_t ca_pid;
+} ca_desc_t;
+
+typedef struct
+{
+ u_int8_t stream_type;
+ u_int16_t pid;
+ u_int16_t es_info_length;
+ u_int8_t ca_pmt_cmd_id;
+ ca_desc_t *cadescr;
+} pidinfo_t;
+
+typedef struct
+{
+ u_int8_t ca_pmt_list_management;
+ u_int16_t program_number;
+ u_int8_t version_number;
+ u_int8_t current_next;
+ u_int16_t program_info_length;
+ u_int8_t ca_pmt_cmd_id;
+ ca_desc_t *cadescr;
+ pidinfo_t *pidinfo;
+} ca_pmt_t;
+
+typedef struct
+{
+ u_int16_t pid;
+ u_int8_t ca_enable;
+} pid_ca_enable_t;
+
+typedef struct
+{
+ u_int16_t program_number;
+ u_int8_t version_number;
+ u_int8_t current_next;
+ u_int8_t ca_enable;
+ pid_ca_enable_t *pidcaenable;
+} ca_pmt_reply_t;
+
+
+#define LENGTH_SIZE_INDICATOR 0x80
+
+#define CPLM_MORE 0x00
+#define CPLM_FIRST 0x01
+#define CPLM_LAST 0x02
+#define CPLM_ONLY 0x03
+#define CPLM_ADD 0x04
+#define CPLM_UPDATE 0x05
+
+#define CPCI_OK_DESCRAMBLING 0x01
+#define CPCI_OK_MMI 0x02
+#define CPCI_QUERY 0x03
+#define CPCI_NOT_SELECTED 0x04
+
+#define AOT_CA_INFO_ENQ 0x9F8030
+#define AOT_CA_INFO 0x9F8031
+#define AOT_CA_PMT 0x9F8032
+#define AOT_CA_PMT_REPLY 0x9F8033
+
+#define ST_SESSION_NUMBER 0x90
+#define ST_OPEN_SESSION_REQUEST 0x91
+#define ST_OPEN_SESSION_RESPONSE 0x92
+#define ST_CREATE_SESSION 0x93
+#define ST_CREATE_SESSION_RESPONSE 0x94
+#define ST_CLOSE_SESSION_REQUEST 0x95
+#define ST_CLOSE_SESSION_RESPONSE 0x96
+
+#define DATA_INDICATOR 0x80
+
+#define T_SB 0x80
+#define T_RCV 0x81
+#define T_CREATE_TC 0x82
+#define T_CTC_REPLY 0x83
+#define T_DELETE_TC 0x84
+#define T_DTC_REPLY 0x85
+#define T_REQUEST_TC 0x86
+#define T_NEW_TC 0x87
+#define T_TC_ERROR 0x88
+#define T_DATA_LAST 0xA0
+#define T_DATA_MORE 0xA1
+
+
+DLL_SYMBOL int ci_cpl_find_caid_by_pid (int pid);
+DLL_SYMBOL int ci_cpl_find_slot_by_caid_and_pid (int caid, int pid);
+DLL_SYMBOL int ci_cpl_clear (int slot);
+DLL_SYMBOL int ci_cpl_clear_pids (int slot);
+DLL_SYMBOL int ci_cpl_clear_caids (int slot);
+DLL_SYMBOL int ci_cpl_clear_capids (int slot);
+DLL_SYMBOL int ci_decode_ll (uint8_t * data, int len);