
Data Structures | |
| struct | system_ids_t |
| struct | date_time_t |
| struct | mmi_t |
Defines | |
| #define | HLCI_WAIT_CAM_READY 0 |
| #define | CAM_PROG_MAX MAX_PROGRAMS |
| #define | SIZE_INDICATOR 0x80 |
| #define | MAX_TPDU_SIZE 4096 |
| #define | MAX_TPDU_DATA (MAX_TPDU_SIZE - 4) |
| #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 |
| #define | CAM_READ_TIMEOUT 3500 |
| #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 | SS_OK 0x00 |
| #define | SS_NOT_ALLOCATED 0xF0 |
| #define | RI_RESOURCE_MANAGER 0x00010041 |
| #define | RI_APPLICATION_INFORMATION 0x00020041 |
| #define | RI_CONDITIONAL_ACCESS_SUPPORT 0x00030041 |
| #define | RI_HOST_CONTROL 0x00200041 |
| #define | RI_DATE_TIME 0x00240041 |
| #define | RI_MMI 0x00400041 |
| #define | AOT_NONE 0x000000 |
| #define | AOT_PROFILE_ENQ 0x9F8010 |
| #define | AOT_PROFILE 0x9F8011 |
| #define | AOT_PROFILE_CHANGE 0x9F8012 |
| #define | AOT_APPLICATION_INFO_ENQ 0x9F8020 |
| #define | AOT_APPLICATION_INFO 0x9F8021 |
| #define | AOT_ENTER_MENU 0x9F8022 |
| #define | AOT_CA_INFO_ENQ 0x9F8030 |
| #define | AOT_CA_INFO 0x9F8031 |
| #define | AOT_CA_PMT 0x9F8032 |
| #define | AOT_CA_PMT_REPLY 0x9F8033 |
| #define | AOT_TUNE 0x9F8400 |
| #define | AOT_REPLACE 0x9F8401 |
| #define | AOT_CLEAR_REPLACE 0x9F8402 |
| #define | AOT_ASK_RELEASE 0x9F8403 |
| #define | AOT_DATE_TIME_ENQ 0x9F8440 |
| #define | AOT_DATE_TIME 0x9F8441 |
| #define | AOT_CLOSE_MMI 0x9F8800 |
| #define | AOT_DISPLAY_CONTROL 0x9F8801 |
| #define | AOT_DISPLAY_REPLY 0x9F8802 |
| #define | AOT_TEXT_LAST 0x9F8803 |
| #define | AOT_TEXT_MORE 0x9F8804 |
| #define | AOT_KEYPAD_CONTROL 0x9F8805 |
| #define | AOT_KEYPRESS 0x9F8806 |
| #define | AOT_ENQ 0x9F8807 |
| #define | AOT_ANSW 0x9F8808 |
| #define | AOT_MENU_LAST 0x9F8809 |
| #define | AOT_MENU_MORE 0x9F880A |
| #define | AOT_MENU_ANSW 0x9F880B |
| #define | AOT_LIST_LAST 0x9F880C |
| #define | AOT_LIST_MORE 0x9F880D |
| #define | AOT_SUBTITLE_SEGMENT_LAST 0x9F880E |
| #define | AOT_SUBTITLE_SEGMENT_MORE 0x9F880F |
| #define | AOT_DISPLAY_MESSAGE 0x9F8810 |
| #define | AOT_SCENE_END_MARK 0x9F8811 |
| #define | AOT_SCENE_DONE 0x9F8812 |
| #define | AOT_SCENE_CONTROL 0x9F8813 |
| #define | AOT_SUBTITLE_DOWNLOAD_LAST 0x9F8814 |
| #define | AOT_SUBTITLE_DOWNLOAD_MORE 0x9F8815 |
| #define | AOT_FLUSH_DOWNLOAD 0x9F8816 |
| #define | AOT_DOWNLOAD_REPLY 0x9F8817 |
| #define | AOT_COMMS_CMD 0x9F8C00 |
| #define | AOT_CONNECTION_DESCRIPTOR 0x9F8C01 |
| #define | AOT_COMMS_REPLY 0x9F8C02 |
| #define | AOT_COMMS_SEND_LAST 0x9F8C03 |
| #define | AOT_COMMS_SEND_MORE 0x9F8C04 |
| #define | AOT_COMMS_RCV_LAST 0x9F8C05 |
| #define | AOT_COMMS_RCV_MORE 0x9F8C06 |
| #define | MAX_CASYSTEM_IDS 64 |
| #define | DEC2BCD(d) (((d / 10) << 4) + (d % 10)) |
| #define | DCC_SET_MMI_MODE 0x01 |
| #define | DCC_DISPLAY_CHARACTER_TABLE_LIST 0x02 |
| #define | DCC_INPUT_CHARACTER_TABLE_LIST 0x03 |
| #define | DCC_OVERLAY_GRAPHICS_CHARACTERISTICS 0x04 |
| #define | DCC_FULL_SCREEN_GRAPHICS_CHARACTERISTICS 0x05 |
| #define | MM_HIGH_LEVEL 0x01 |
| #define | MM_LOW_LEVEL_OVERLAY_GRAPHICS 0x02 |
| #define | MM_LOW_LEVEL_FULL_SCREEN_GRAPHICS 0x03 |
| #define | DRI_MMI_MODE_ACK 0x01 |
| #define | DRI_LIST_DISPLAY_CHARACTER_TABLES 0x02 |
| #define | DRI_LIST_INPUT_CHARACTER_TABLES 0x03 |
| #define | DRI_LIST_GRAPHIC_OVERLAY_CHARACTERISTICS 0x04 |
| #define | DRI_LIST_FULL_SCREEN_GRAPHIC_CHARACTERISTICS 0x05 |
| #define | DRI_UNKNOWN_DISPLAY_CONTROL_CMD 0xF0 |
| #define | DRI_UNKNOWN_MMI_MODE 0xF1 |
| #define | DRI_UNKNOWN_CHARACTER_TABLE 0xF2 |
| #define | EF_BLIND 0x01 |
| #define | AI_CANCEL 0x00 |
| #define | AI_ANSWER 0x01 |
| #define | GET_FIELD(x) |
| #define | MAX_TC_RETRIES 20 |
Functions | |
| static void | ResourceManagerOpen (access_t *p_access, int i_session_id) |
| static void | ApplicationInformationOpen (access_t *p_access, int i_session_id) |
| static void | ConditionalAccessOpen (access_t *p_access, int i_session_id) |
| static void | DateTimeOpen (access_t *p_access, int i_session_id) |
| static void | MMIOpen (access_t *p_access, int i_session_id) |
| static uint8_t * | GetLength (uint8_t *p_data, int *pi_length) |
| static uint8_t * | SetLength (uint8_t *p_data, int i_length) |
| static void | Dump (bool b_outgoing, uint8_t *p_data, int i_size) |
| static int | TPDUSend (access_t *p_access, uint8_t i_slot, uint8_t i_tag, const uint8_t *p_content, int i_length) |
| static int | TPDURecv (access_t *p_access, uint8_t i_slot, uint8_t *pi_tag, uint8_t *p_data, int *pi_size) |
| static int | ResourceIdToInt (uint8_t *p_data) |
| static int | SPDUSend (access_t *p_access, int i_session_id, uint8_t *p_data, int i_size) |
| static void | SessionOpen (access_t *p_access, uint8_t i_slot, uint8_t *p_spdu, int i_size) |
| static void | SessionCreateResponse (access_t *p_access, uint8_t i_slot, uint8_t *p_spdu, int i_size) |
| static void | SessionSendClose (access_t *p_access, int i_session_id) |
| static void | SessionClose (access_t *p_access, int i_session_id) |
| static void | SPDUHandle (access_t *p_access, uint8_t i_slot, uint8_t *p_spdu, int i_size) |
| static int | APDUGetTag (const uint8_t *p_apdu, int i_size) |
| static uint8_t * | APDUGetLength (uint8_t *p_apdu, int *pi_size) |
| static int | APDUSend (access_t *p_access, int i_session_id, int i_tag, uint8_t *p_data, int i_size) |
| static void | ResourceManagerHandle (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static void | ApplicationInformationEnterMenu (access_t *p_access, int i_session_id) |
| static void | ApplicationInformationHandle (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static bool | CheckSystemID (system_ids_t *p_ids, uint16_t i_id) |
| static bool | CAPMTNeedsDescrambling (dvbpsi_pmt_t *p_pmt) |
| static int | GetCADSize (system_ids_t *p_ids, dvbpsi_descriptor_t *p_dr) |
| static uint8_t * | CAPMTHeader (system_ids_t *p_ids, uint8_t i_list_mgt, uint16_t i_program_number, uint8_t i_version, int i_size, dvbpsi_descriptor_t *p_dr, uint8_t i_cmd) |
| static uint8_t * | CAPMTES (system_ids_t *p_ids, uint8_t *p_capmt, int i_capmt_size, uint8_t i_type, uint16_t i_pid, int i_size, dvbpsi_descriptor_t *p_dr, uint8_t i_cmd) |
| static uint8_t * | CAPMTBuild (access_t *p_access, int i_session_id, dvbpsi_pmt_t *p_pmt, uint8_t i_list_mgt, uint8_t i_cmd, int *pi_capmt_size) |
| static void | CAPMTFirst (access_t *p_access, int i_session_id, dvbpsi_pmt_t *p_pmt) |
| static void | CAPMTAdd (access_t *p_access, int i_session_id, dvbpsi_pmt_t *p_pmt) |
| static void | CAPMTUpdate (access_t *p_access, int i_session_id, dvbpsi_pmt_t *p_pmt) |
| static void | CAPMTDelete (access_t *p_access, int i_session_id, dvbpsi_pmt_t *p_pmt) |
| static void | ConditionalAccessHandle (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static void | ConditionalAccessClose (access_t *p_access, int i_session_id) |
| static void | DateTimeSend (access_t *p_access, int i_session_id) |
| static void | DateTimeHandle (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static void | DateTimeManage (access_t *p_access, int i_session_id) |
| static void | DateTimeClose (access_t *p_access, int i_session_id) |
| static void | MMISendObject (access_t *p_access, int i_session_id, en50221_mmi_object_t *p_object) |
| static void | MMISendClose (access_t *p_access, int i_session_id) |
| static void | MMIDisplayReply (access_t *p_access, int i_session_id) |
| static char * | MMIGetText (access_t *p_access, uint8_t **pp_apdu, int *pi_size) |
| static void | MMIHandleEnq (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static void | MMIHandleMenu (access_t *p_access, int i_session_id, int i_tag, uint8_t *p_apdu, int i_size) |
| static void | MMIHandle (access_t *p_access, int i_session_id, uint8_t *p_apdu, int i_size) |
| static void | MMIClose (access_t *p_access, int i_session_id) |
| static int | InitSlot (access_t *p_access, int i_slot) |
| int | en50221_Init (access_t *p_access) |
| int | en50221_Poll (access_t *p_access) |
| int | en50221_SetCAPMT (access_t *p_access, dvbpsi_pmt_t *p_pmt) |
| int | en50221_OpenMMI (access_t *p_access, int i_slot) |
| int | en50221_CloseMMI (access_t *p_access, int i_slot) |
| en50221_mmi_object_t * | en50221_GetMMIObject (access_t *p_access, int i_slot) |
| void | en50221_SendMMIObject (access_t *p_access, int i_slot, en50221_mmi_object_t *p_object) |
| void | en50221_End (access_t *p_access) |
| static void * | FixUTF8 (char *p) |
| char * | dvbsi_to_utf8 (const char *psz_instring, size_t i_length) |
| #define AI_ANSWER 0x01 |
| #define AI_CANCEL 0x00 |
| #define AOT_ANSW 0x9F8808 |
Referenced by MMISendObject().
| #define AOT_APPLICATION_INFO 0x9F8021 |
Referenced by ApplicationInformationHandle(), and en50221_Init().
| #define AOT_APPLICATION_INFO_ENQ 0x9F8020 |
Referenced by ApplicationInformationOpen(), and en50221_Init().
| #define AOT_ASK_RELEASE 0x9F8403 |
| #define AOT_CA_INFO 0x9F8031 |
Referenced by ConditionalAccessHandle().
| #define AOT_CA_INFO_ENQ 0x9F8030 |
Referenced by ConditionalAccessOpen().
| #define AOT_CA_PMT 0x9F8032 |
Referenced by CAPMTAdd(), CAPMTDelete(), CAPMTFirst(), and CAPMTUpdate().
| #define AOT_CA_PMT_REPLY 0x9F8033 |
| #define AOT_CLEAR_REPLACE 0x9F8402 |
| #define AOT_CLOSE_MMI 0x9F8800 |
Referenced by MMIHandle(), and MMISendClose().
| #define AOT_COMMS_CMD 0x9F8C00 |
| #define AOT_COMMS_RCV_LAST 0x9F8C05 |
| #define AOT_COMMS_RCV_MORE 0x9F8C06 |
| #define AOT_COMMS_REPLY 0x9F8C02 |
| #define AOT_COMMS_SEND_LAST 0x9F8C03 |
| #define AOT_COMMS_SEND_MORE 0x9F8C04 |
| #define AOT_CONNECTION_DESCRIPTOR 0x9F8C01 |
| #define AOT_DATE_TIME 0x9F8441 |
Referenced by DateTimeSend().
| #define AOT_DATE_TIME_ENQ 0x9F8440 |
Referenced by DateTimeHandle().
| #define AOT_DISPLAY_CONTROL 0x9F8801 |
Referenced by MMIHandle().
| #define AOT_DISPLAY_MESSAGE 0x9F8810 |
| #define AOT_DISPLAY_REPLY 0x9F8802 |
Referenced by MMIDisplayReply().
| #define AOT_DOWNLOAD_REPLY 0x9F8817 |
| #define AOT_ENQ 0x9F8807 |
Referenced by MMIHandle().
| #define AOT_ENTER_MENU 0x9F8022 |
Referenced by ApplicationInformationEnterMenu().
| #define AOT_FLUSH_DOWNLOAD 0x9F8816 |
| #define AOT_KEYPAD_CONTROL 0x9F8805 |
| #define AOT_KEYPRESS 0x9F8806 |
| #define AOT_LIST_LAST 0x9F880C |
Referenced by MMIHandle().
| #define AOT_LIST_MORE 0x9F880D |
| #define AOT_MENU_ANSW 0x9F880B |
Referenced by MMISendObject().
| #define AOT_MENU_LAST 0x9F8809 |
Referenced by MMIHandle(), and MMIHandleMenu().
| #define AOT_MENU_MORE 0x9F880A |
| #define AOT_NONE 0x000000 |
Referenced by APDUGetTag().
| #define AOT_PROFILE 0x9F8011 |
Referenced by ResourceManagerHandle().
| #define AOT_PROFILE_CHANGE 0x9F8012 |
Referenced by ResourceManagerHandle().
| #define AOT_PROFILE_ENQ 0x9F8010 |
Referenced by ResourceManagerHandle(), and ResourceManagerOpen().
| #define AOT_REPLACE 0x9F8401 |
| #define AOT_SCENE_CONTROL 0x9F8813 |
| #define AOT_SCENE_DONE 0x9F8812 |
| #define AOT_SCENE_END_MARK 0x9F8811 |
| #define AOT_SUBTITLE_DOWNLOAD_LAST 0x9F8814 |
| #define AOT_SUBTITLE_DOWNLOAD_MORE 0x9F8815 |
| #define AOT_SUBTITLE_SEGMENT_LAST 0x9F880E |
| #define AOT_SUBTITLE_SEGMENT_MORE 0x9F880F |
| #define AOT_TEXT_LAST 0x9F8803 |
Referenced by MMIGetText().
| #define AOT_TEXT_MORE 0x9F8804 |
| #define AOT_TUNE 0x9F8400 |
| #define CAM_PROG_MAX MAX_PROGRAMS |
Referenced by CAPMTAdd().
| #define CAM_READ_TIMEOUT 3500 |
Referenced by TPDURecv().
| #define DATA_INDICATOR 0x80 |
Referenced by TPDURecv().
| #define DCC_DISPLAY_CHARACTER_TABLE_LIST 0x02 |
| #define DCC_FULL_SCREEN_GRAPHICS_CHARACTERISTICS 0x05 |
| #define DCC_INPUT_CHARACTER_TABLE_LIST 0x03 |
| #define DCC_OVERLAY_GRAPHICS_CHARACTERISTICS 0x04 |
| #define DCC_SET_MMI_MODE 0x01 |
Referenced by MMIHandle().
| #define DEC2BCD | ( | d | ) | (((d / 10) << 4) + (d % 10)) |
Referenced by DateTimeSend().
| #define DRI_LIST_DISPLAY_CHARACTER_TABLES 0x02 |
| #define DRI_LIST_FULL_SCREEN_GRAPHIC_CHARACTERISTICS 0x05 |
| #define DRI_LIST_GRAPHIC_OVERLAY_CHARACTERISTICS 0x04 |
| #define DRI_LIST_INPUT_CHARACTER_TABLES 0x03 |
| #define DRI_MMI_MODE_ACK 0x01 |
Referenced by MMIDisplayReply().
| #define DRI_UNKNOWN_CHARACTER_TABLE 0xF2 |
| #define DRI_UNKNOWN_DISPLAY_CONTROL_CMD 0xF0 |
| #define DRI_UNKNOWN_MMI_MODE 0xF1 |
| #define EF_BLIND 0x01 |
| #define GET_FIELD | ( | x | ) |
Value:
if ( l > 0 ) \ { \ p_mmi->last_object.u.menu.psz_##x \ = MMIGetText( p_access, &d, &l ); \ msg_Dbg( p_access, "MMI " STRINGIFY( x ) ": %s", \ p_mmi->last_object.u.menu.psz_##x ); \ }
Referenced by MMIHandleMenu().
| #define HLCI_WAIT_CAM_READY 0 |
| #define MAX_CASYSTEM_IDS 64 |
| #define MAX_TC_RETRIES 20 |
Referenced by InitSlot().
| #define MAX_TPDU_DATA (MAX_TPDU_SIZE - 4) |
Referenced by SPDUSend().
| #define MAX_TPDU_SIZE 4096 |
Referenced by en50221_Poll(), TPDURecv(), and TPDUSend().
| #define MM_HIGH_LEVEL 0x01 |
Referenced by MMIDisplayReply(), and MMIHandle().
| #define MM_LOW_LEVEL_FULL_SCREEN_GRAPHICS 0x03 |
| #define MM_LOW_LEVEL_OVERLAY_GRAPHICS 0x02 |
| #define RI_APPLICATION_INFORMATION 0x00020041 |
Referenced by en50221_OpenMMI(), ResourceManagerHandle(), SessionCreateResponse(), and SessionOpen().
| #define RI_CONDITIONAL_ACCESS_SUPPORT 0x00030041 |
Referenced by en50221_Init(), en50221_SetCAPMT(), ResourceManagerHandle(), SessionCreateResponse(), and SessionOpen().
| #define RI_DATE_TIME 0x00240041 |
Referenced by ResourceManagerHandle(), SessionCreateResponse(), and SessionOpen().
| #define RI_HOST_CONTROL 0x00200041 |
Referenced by SessionCreateResponse(), and SessionOpen().
| #define RI_MMI 0x00400041 |
| #define RI_RESOURCE_MANAGER 0x00010041 |
Referenced by ResourceManagerHandle(), SessionCreateResponse(), and SessionOpen().
| #define SIZE_INDICATOR 0x80 |
Referenced by GetLength(), and SetLength().
| #define SS_NOT_ALLOCATED 0xF0 |
Referenced by SessionOpen().
| #define SS_OK 0x00 |
Referenced by SessionClose(), SessionCreateResponse(), and SessionOpen().
| #define ST_CLOSE_SESSION_REQUEST 0x95 |
Referenced by SessionSendClose(), and SPDUHandle().
| #define ST_CLOSE_SESSION_RESPONSE 0x96 |
Referenced by SessionClose(), and SPDUHandle().
| #define ST_CREATE_SESSION 0x93 |
| #define ST_CREATE_SESSION_RESPONSE 0x94 |
Referenced by SPDUHandle().
| #define ST_OPEN_SESSION_REQUEST 0x91 |
Referenced by SPDUHandle().
| #define ST_OPEN_SESSION_RESPONSE 0x92 |
Referenced by SessionOpen().
| #define ST_SESSION_NUMBER 0x90 |
Referenced by SPDUHandle(), and SPDUSend().
| #define T_CREATE_TC 0x82 |
Referenced by InitSlot(), and TPDUSend().
| #define T_CTC_REPLY 0x83 |
Referenced by InitSlot(), and TPDUSend().
| #define T_DATA_LAST 0xA0 |
Referenced by en50221_Poll(), SessionClose(), SessionOpen(), SessionSendClose(), SPDUSend(), and TPDUSend().
| #define T_DATA_MORE 0xA1 |
Referenced by SPDUSend(), and TPDUSend().
| #define T_DELETE_TC 0x84 |
Referenced by TPDUSend().
| #define T_DTC_REPLY 0x85 |
Referenced by TPDUSend().
| #define T_NEW_TC 0x87 |
Referenced by TPDUSend().
| #define T_RCV 0x81 |
Referenced by en50221_Poll(), and TPDUSend().
| #define T_REQUEST_TC 0x86 |
Referenced by TPDUSend().
| #define T_SB 0x80 |
Referenced by SPDUSend(), and TPDURecv().
| #define T_TC_ERROR 0x88 |
Referenced by TPDUSend().
| static uint8_t* APDUGetLength | ( | uint8_t * | p_apdu, | |
| int * | pi_size | |||
| ) | [static] |
References GetLength().
Referenced by ApplicationInformationHandle(), ConditionalAccessHandle(), DateTimeHandle(), MMIGetText(), MMIHandle(), MMIHandleEnq(), and MMIHandleMenu().
| static int APDUGetTag | ( | const uint8_t * | p_apdu, | |
| int | i_size | |||
| ) | [static] |
| static int APDUSend | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| int | i_tag, | |||
| uint8_t * | p_data, | |||
| int | i_size | |||
| ) | [static] |
References access_sys_t::i_ca_handle, access_sys_t::i_ca_type, msg_Err, access_t::p_sys, SetLength(), SPDUSend(), VLC_EGENERIC, and xmalloc().
Referenced by ApplicationInformationEnterMenu(), ApplicationInformationOpen(), CAPMTAdd(), CAPMTDelete(), CAPMTFirst(), CAPMTUpdate(), ConditionalAccessOpen(), DateTimeSend(), en50221_Init(), MMIDisplayReply(), MMISendClose(), MMISendObject(), ResourceManagerHandle(), and ResourceManagerOpen().
| static void ApplicationInformationEnterMenu | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_ENTER_MENU, APDUSend(), en50221_session_t::i_slot, msg_Dbg, access_sys_t::p_sessions, access_t::p_sys, and access_sys_t::pb_slot_mmi_expected.
Referenced by en50221_OpenMMI().
| static void ApplicationInformationHandle | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_APPLICATION_INFO, APDUGetLength(), APDUGetTag(), GetLength(), i_type, msg_Err, msg_Info, and VLC_UNUSED.
Referenced by ApplicationInformationOpen().
| static void ApplicationInformationOpen | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_APPLICATION_INFO_ENQ, APDUSend(), ApplicationInformationHandle(), msg_Dbg, access_sys_t::p_sessions, access_t::p_sys, and en50221_session_t::pf_handle.
Referenced by SessionCreateResponse(), and SessionOpen().
| static void CAPMTAdd | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| dvbpsi_pmt_t * | p_pmt | |||
| ) | [static] |
References AOT_CA_PMT, APDUSend(), CAM_PROG_MAX, CAPMTBuild(), CAPMTFirst(), access_sys_t::i_selected_programs, msg_Dbg, msg_Warn, msleep, and access_t::p_sys.
Referenced by ConditionalAccessHandle(), and en50221_SetCAPMT().
| static uint8_t* CAPMTBuild | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| dvbpsi_pmt_t * | p_pmt, | |||
| uint8_t | i_list_mgt, | |||
| uint8_t | i_cmd, | |||
| int * | pi_capmt_size | |||
| ) | [static] |
References CAPMTES(), CAPMTHeader(), GetCADSize(), msg_Warn, access_sys_t::p_sessions, en50221_session_t::p_sys, and access_t::p_sys.
Referenced by CAPMTAdd(), CAPMTDelete(), CAPMTFirst(), and CAPMTUpdate().
| static void CAPMTDelete | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| dvbpsi_pmt_t * | p_pmt | |||
| ) | [static] |
References AOT_CA_PMT, APDUSend(), CAPMTBuild(), access_sys_t::i_selected_programs, msg_Dbg, and access_t::p_sys.
Referenced by en50221_SetCAPMT().
| static uint8_t* CAPMTES | ( | system_ids_t * | p_ids, | |
| uint8_t * | p_capmt, | |||
| int | i_capmt_size, | |||
| uint8_t | i_type, | |||
| uint16_t | i_pid, | |||
| int | i_size, | |||
| dvbpsi_descriptor_t * | p_dr, | |||
| uint8_t | i_cmd | |||
| ) | [static] |
| static void CAPMTFirst | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| dvbpsi_pmt_t * | p_pmt | |||
| ) | [static] |
| static uint8_t* CAPMTHeader | ( | system_ids_t * | p_ids, | |
| uint8_t | i_list_mgt, | |||
| uint16_t | i_program_number, | |||
| uint8_t | i_version, | |||
| int | i_size, | |||
| dvbpsi_descriptor_t * | p_dr, | |||
| uint8_t | i_cmd | |||
| ) | [static] |
| static bool CAPMTNeedsDescrambling | ( | dvbpsi_pmt_t * | p_pmt | ) | [static] |
Referenced by en50221_SetCAPMT().
| static void CAPMTUpdate | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| dvbpsi_pmt_t * | p_pmt | |||
| ) | [static] |
| static bool CheckSystemID | ( | system_ids_t * | p_ids, | |
| uint16_t | i_id | |||
| ) | [static] |
References i, and system_ids_t::pi_system_ids.
Referenced by CAPMTES(), CAPMTHeader(), and GetCADSize().
| static void ConditionalAccessClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, and access_t::p_sys.
Referenced by ConditionalAccessOpen().
| static void ConditionalAccessHandle | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_CA_INFO, APDUGetLength(), APDUGetTag(), CAPMTAdd(), i, MAX_PROGRAMS, msg_Dbg, msg_Err, access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, system_ids_t::pi_system_ids, and access_sys_t::pp_selected_programs.
Referenced by ConditionalAccessOpen().
| static void ConditionalAccessOpen | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
| static void DateTimeClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, and access_t::p_sys.
Referenced by DateTimeOpen().
| static void DateTimeHandle | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_DATE_TIME_ENQ, APDUGetLength(), APDUGetTag(), DateTimeSend(), date_time_t::i_interval, msg_Dbg, msg_Err, access_sys_t::p_sessions, en50221_session_t::p_sys, and access_t::p_sys.
Referenced by DateTimeOpen().
| static void DateTimeManage | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References DateTimeSend(), date_time_t::i_interval, date_time_t::i_last, mdate(), access_sys_t::p_sessions, en50221_session_t::p_sys, and access_t::p_sys.
Referenced by DateTimeOpen().
| static void DateTimeOpen | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References DateTimeClose(), DateTimeHandle(), DateTimeManage(), DateTimeSend(), msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, en50221_session_t::pf_close, en50221_session_t::pf_handle, and en50221_session_t::pf_manage.
Referenced by SessionCreateResponse(), and SessionOpen().
| static void DateTimeSend | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_DATE_TIME, APDUSend(), DEC2BCD, gmtime_r(), date_time_t::i_last, localtime_r(), M, mdate(), access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, and Y.
Referenced by DateTimeHandle(), DateTimeManage(), and DateTimeOpen().
| static void Dump | ( | bool | b_outgoing, | |
| uint8_t * | p_data, | |||
| int | i_size | |||
| ) | [static] |
| char* dvbsi_to_utf8 | ( | const char * | psz_instring, | |
| size_t | i_length | |||
| ) |
References FixUTF8(), strndup(), vlc_iconv(), vlc_iconv_close(), vlc_iconv_open(), and xmalloc().
Referenced by MMIGetText(), and scan_session_Clean().
| int en50221_CloseMMI | ( | access_t * | p_access, | |
| int | i_slot | |||
| ) |
| void en50221_End | ( | access_t * | p_access | ) |
References i, en50221_session_t::i_resource_id, MAX_PROGRAMS, MAX_SESSIONS, access_sys_t::p_sessions, access_t::p_sys, en50221_session_t::pf_close, and access_sys_t::pp_selected_programs.
Referenced by CAMClose().
| en50221_mmi_object_t* en50221_GetMMIObject | ( | access_t * | p_access, | |
| int | i_slot | |||
| ) |
| int en50221_Init | ( | access_t * | p_access | ) |
References AOT_APPLICATION_INFO, AOT_APPLICATION_INFO_ENQ, APDUGetTag(), APDUSend(), access_sys_t::i_ca_handle, access_sys_t::i_ca_timeout, access_sys_t::i_ca_type, access_sys_t::i_nb_slots, en50221_session_t::i_resource_id, msg_Dbg, msg_Err, msleep, access_sys_t::p_sessions, access_t::p_sys, RI_CONDITIONAL_ACCESS_SUPPORT, VLC_EGENERIC, vlc_object_alive, and VLC_SUCCESS.
Referenced by CAMOpen().
| int en50221_OpenMMI | ( | access_t * | p_access, | |
| int | i_slot | |||
| ) |
| int en50221_Poll | ( | access_t * | p_access | ) |
References GetLength(), access_sys_t::i_ca_handle, access_sys_t::i_nb_slots, en50221_session_t::i_resource_id, en50221_session_t::i_slot, InitSlot(), MAX_SESSIONS, MAX_TPDU_SIZE, msg_Dbg, msg_Err, access_sys_t::p_sessions, access_t::p_sys, access_sys_t::pb_active_slot, access_sys_t::pb_slot_mmi_expected, access_sys_t::pb_slot_mmi_undisplayed, access_sys_t::pb_tc_has_data, en50221_session_t::pf_close, en50221_session_t::pf_manage, SPDUHandle(), T_DATA_LAST, T_RCV, TPDURecv(), TPDUSend(), and VLC_SUCCESS.
Referenced by CAMPoll().
| void en50221_SendMMIObject | ( | access_t * | p_access, | |
| int | i_slot, | |||
| en50221_mmi_object_t * | p_object | |||
| ) |
| int en50221_SetCAPMT | ( | access_t * | p_access, | |
| dvbpsi_pmt_t * | p_pmt | |||
| ) |
| static void* FixUTF8 | ( | char * | p | ) | [inline, static] |
| static int GetCADSize | ( | system_ids_t * | p_ids, | |
| dvbpsi_descriptor_t * | p_dr | |||
| ) | [static] |
| static uint8_t* GetLength | ( | uint8_t * | p_data, | |
| int * | pi_length | |||
| ) | [static] |
References i, and SIZE_INDICATOR.
Referenced by APDUGetLength(), ApplicationInformationHandle(), en50221_Poll(), and handle_tracklist().
| static int InitSlot | ( | access_t * | p_access, | |
| int | i_slot | |||
| ) | [static] |
References i, access_sys_t::i_ca_timeout, MAX_TC_RETRIES, msg_Err, access_t::p_sys, access_sys_t::pb_active_slot, T_CREATE_TC, T_CTC_REPLY, TPDURecv(), TPDUSend(), VLC_EGENERIC, and VLC_SUCCESS.
Referenced by en50221_Poll().
| static void MMIClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
| static void MMIDisplayReply | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_DISPLAY_REPLY, APDUSend(), DRI_MMI_MODE_ACK, MM_HIGH_LEVEL, and msg_Dbg.
Referenced by MMIHandle().
| static char* MMIGetText | ( | access_t * | p_access, | |
| uint8_t ** | pp_apdu, | |||
| int * | pi_size | |||
| ) | [static] |
References AOT_TEXT_LAST, APDUGetLength(), APDUGetTag(), dvbsi_to_utf8(), msg_Err, and strdup().
Referenced by MMIHandleMenu().
| static void MMIHandle | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_CLOSE_MMI, AOT_DISPLAY_CONTROL, AOT_ENQ, AOT_LIST_LAST, AOT_MENU_LAST, APDUGetLength(), APDUGetTag(), DCC_SET_MMI_MODE, MM_HIGH_LEVEL, MMIDisplayReply(), MMIHandleEnq(), MMIHandleMenu(), msg_Err, and SessionSendClose().
Referenced by MMIOpen().
| static void MMIHandleEnq | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References APDUGetLength(), EN50221_MMI_ENQ, en50221_MMIFree(), en50221_mmi_object_t::enq, en50221_mmi_object_t::i_object_type, en50221_session_t::i_slot, mmi_t::last_object, msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, access_sys_t::pb_slot_mmi_expected, access_sys_t::pb_slot_mmi_undisplayed, en50221_mmi_object_t::u, VLC_UNUSED, and xmalloc().
Referenced by MMIHandle().
| static void MMIHandleMenu | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| int | i_tag, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_MENU_LAST, APDUGetLength(), EN50221_MMI_LIST, EN50221_MMI_MENU, en50221_MMIFree(), GET_FIELD, en50221_mmi_object_t::i_object_type, en50221_session_t::i_slot, mmi_t::last_object, en50221_mmi_object_t::menu, MMIGetText(), msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, access_sys_t::pb_slot_mmi_expected, access_sys_t::pb_slot_mmi_undisplayed, TAB_APPEND, en50221_mmi_object_t::u, and VLC_UNUSED.
Referenced by MMIHandle().
| static void MMIOpen | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References EN50221_MMI_NONE, en50221_mmi_object_t::i_object_type, mmi_t::last_object, MMIClose(), MMIHandle(), msg_Dbg, access_sys_t::p_sessions, en50221_session_t::p_sys, access_t::p_sys, en50221_session_t::pf_close, en50221_session_t::pf_handle, and xmalloc().
Referenced by SessionCreateResponse(), and SessionOpen().
| static void MMISendClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_CLOSE_MMI, APDUSend(), en50221_session_t::i_slot, access_sys_t::p_sessions, access_t::p_sys, and access_sys_t::pb_slot_mmi_expected.
Referenced by en50221_CloseMMI().
| static void MMISendObject | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| en50221_mmi_object_t * | p_object | |||
| ) | [static] |
References en50221_mmi_object_t::answ, AOT_ANSW, AOT_MENU_ANSW, APDUSend(), EN50221_MMI_ANSW, EN50221_MMI_MENU_ANSW, en50221_mmi_object_t::i_object_type, en50221_session_t::i_slot, en50221_mmi_object_t::menu_answ, msg_Err, access_sys_t::p_sessions, access_t::p_sys, access_sys_t::pb_slot_mmi_expected, en50221_mmi_object_t::u, and xmalloc().
Referenced by en50221_SendMMIObject().
| static int ResourceIdToInt | ( | uint8_t * | p_data | ) | [static] |
Referenced by SessionCreateResponse(), and SessionOpen().
| static void ResourceManagerHandle | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_apdu, | |||
| int | i_size | |||
| ) | [static] |
References AOT_PROFILE, AOT_PROFILE_CHANGE, AOT_PROFILE_ENQ, APDUGetTag(), APDUSend(), msg_Err, RI_APPLICATION_INFORMATION, RI_CONDITIONAL_ACCESS_SUPPORT, RI_DATE_TIME, RI_MMI, and RI_RESOURCE_MANAGER.
Referenced by ResourceManagerOpen().
| static void ResourceManagerOpen | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References AOT_PROFILE_ENQ, APDUSend(), msg_Dbg, access_sys_t::p_sessions, access_t::p_sys, en50221_session_t::pf_handle, and ResourceManagerHandle().
Referenced by SessionCreateResponse(), and SessionOpen().
| static void SessionClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References en50221_session_t::i_resource_id, en50221_session_t::i_slot, msg_Err, access_sys_t::p_sessions, access_t::p_sys, en50221_session_t::pf_close, SS_OK, ST_CLOSE_SESSION_RESPONSE, T_DATA_LAST, TPDURecv(), TPDUSend(), and VLC_SUCCESS.
Referenced by SPDUHandle().
| static void SessionCreateResponse | ( | access_t * | p_access, | |
| uint8_t | i_slot, | |||
| uint8_t * | p_spdu, | |||
| int | i_size | |||
| ) | [static] |
References ApplicationInformationOpen(), ConditionalAccessOpen(), DateTimeOpen(), en50221_session_t::i_resource_id, MMIOpen(), msg_Err, access_sys_t::p_sessions, access_t::p_sys, ResourceIdToInt(), ResourceManagerOpen(), RI_APPLICATION_INFORMATION, RI_CONDITIONAL_ACCESS_SUPPORT, RI_DATE_TIME, RI_HOST_CONTROL, RI_MMI, RI_RESOURCE_MANAGER, SS_OK, and VLC_UNUSED.
Referenced by SPDUHandle().
| static void SessionOpen | ( | access_t * | p_access, | |
| uint8_t | i_slot, | |||
| uint8_t * | p_spdu, | |||
| int | i_size | |||
| ) | [static] |
References ApplicationInformationOpen(), ConditionalAccessOpen(), DateTimeOpen(), en50221_session_t::i_resource_id, en50221_session_t::i_slot, i_tag, MAX_SESSIONS, MMIOpen(), msg_Err, access_sys_t::p_sessions, access_t::p_sys, p_sys, en50221_session_t::pf_close, en50221_session_t::pf_manage, ResourceIdToInt(), ResourceManagerOpen(), RI_APPLICATION_INFORMATION, RI_CONDITIONAL_ACCESS_SUPPORT, RI_DATE_TIME, RI_HOST_CONTROL, RI_MMI, RI_RESOURCE_MANAGER, SS_NOT_ALLOCATED, SS_OK, ST_OPEN_SESSION_RESPONSE, T_DATA_LAST, TPDURecv(), TPDUSend(), VLC_SUCCESS, and VLC_UNUSED.
Referenced by SPDUHandle().
| static void SessionSendClose | ( | access_t * | p_access, | |
| int | i_session_id | |||
| ) | [static] |
References en50221_session_t::i_slot, msg_Err, access_sys_t::p_sessions, access_t::p_sys, ST_CLOSE_SESSION_REQUEST, T_DATA_LAST, TPDURecv(), TPDUSend(), and VLC_SUCCESS.
Referenced by MMIHandle().
| static uint8_t* SetLength | ( | uint8_t * | p_data, | |
| int | i_length | |||
| ) | [static] |
| static void SPDUHandle | ( | access_t * | p_access, | |
| uint8_t | i_slot, | |||
| uint8_t * | p_spdu, | |||
| int | i_size | |||
| ) | [static] |
References en50221_session_t::i_resource_id, msg_Err, access_sys_t::p_sessions, access_t::p_sys, en50221_session_t::pf_close, en50221_session_t::pf_handle, SessionClose(), SessionCreateResponse(), SessionOpen(), ST_CLOSE_SESSION_REQUEST, ST_CLOSE_SESSION_RESPONSE, ST_CREATE_SESSION_RESPONSE, ST_OPEN_SESSION_REQUEST, and ST_SESSION_NUMBER.
Referenced by en50221_Poll().
| static int SPDUSend | ( | access_t * | p_access, | |
| int | i_session_id, | |||
| uint8_t * | p_data, | |||
| int | i_size | |||
| ) | [static] |
References en50221_session_t::i_slot, i_tag, MAX_TPDU_DATA, msg_Err, access_sys_t::p_sessions, access_t::p_sys, p_sys, ST_SESSION_NUMBER, T_DATA_LAST, T_DATA_MORE, T_SB, TPDURecv(), TPDUSend(), VLC_EGENERIC, VLC_SUCCESS, and xmalloc().
Referenced by APDUSend().
| static int TPDURecv | ( | access_t * | p_access, | |
| uint8_t | i_slot, | |||
| uint8_t * | pi_tag, | |||
| uint8_t * | p_data, | |||
| int * | pi_size | |||
| ) | [static] |
References CAM_READ_TIMEOUT, DATA_INDICATOR, Dump(), pollfd::events, pollfd::fd, access_sys_t::i_ca_handle, MAX_TPDU_SIZE, msg_Err, access_t::p_sys, p_sys, access_sys_t::pb_tc_has_data, poll, POLLIN, pollfd::revents, T_SB, VLC_EGENERIC, VLC_SUCCESS, and xmalloc().
Referenced by en50221_Poll(), InitSlot(), SessionClose(), SessionOpen(), SessionSendClose(), and SPDUSend().
| static int TPDUSend | ( | access_t * | p_access, | |
| uint8_t | i_slot, | |||
| uint8_t | i_tag, | |||
| const uint8_t * | p_content, | |||
| int | i_length | |||
| ) | [static] |
References Dump(), access_sys_t::i_ca_handle, MAX_TPDU_SIZE, msg_Err, access_t::p_sys, p_sys, SetLength(), T_CREATE_TC, T_CTC_REPLY, T_DATA_LAST, T_DATA_MORE, T_DELETE_TC, T_DTC_REPLY, T_NEW_TC, T_RCV, T_REQUEST_TC, T_TC_ERROR, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by en50221_Poll(), InitSlot(), SessionClose(), SessionOpen(), SessionSendClose(), and SPDUSend().
1.5.6