Fujitsu DTV/STB solution driver (FAPex driver) Documentation [V01L00R00]


fapex/abst_libtsd.h File Reference

abstraction library header file (TSD driver) More...

Data Structures

struct  FAPEX_TSD_OpenParamStrT
 open parameters for the TSD driver More...
struct  FAPEX_TSD_OpenSubIdParamStrT
 open sub_id parameters for the TSD driver More...
struct  FAPEX_TSD_PidParamStrT
 pid parameters for the TSD driver More...
struct  FAPEX_TSD_SctFltParamStrT
 section filter parameters for the TSD driver More...
struct  FAPEX_TSD_PesParamStrT
 PES filter parameters for the TSD driver. More...
struct  FAPEX_TSD_DescKeysParamStrT
 Descramble Keys parameters for the TSD driver. More...
struct  FAPEX_TSD_ReadInfoStrT
 read information parameters for the TSD driver More...
struct  FAPEX_TSD_WriteInfoStrT
 write information parameters for the TSD driver More...
struct  FAPEX_TSD_BlockInfoStrT
 TSD block information parameters for the TSD driver. More...
struct  FAPEX_TSD_ChannelInfoStrT
 TSD channel information parameters for the TSD driver. More...
struct  FAPEX_TSD_StatusStrT
 TSD block/channel status parameters for the TSD driver. More...
struct  FAPEX_TSD_PacketInMapInfoStrT
 TS packet input control mapping information parameters for the TSD driver. More...
struct  FAPEX_TSD_PacketInInfoStrT
 TS packet input information parameters for the TSD driver. More...
struct  FAPEX_TSD_BmWriteParmStrT

Defines

#define FAPEX_TSD0   0
 TSD0 hardware block.
#define FAPEX_TSD1   1
 TSD1 hardware block.
#define FAPEX_TSD2   2
 TSD2 hardware block.
#define FAPEX_TSD3   3
 TSD3 hardware block.
#define FAPEX_TSD_MAX   4
 Total of TSD HW blocks.
#define FAPEX_TSD_CHANNEL_AUTODETECT   -1
 Selects the first free channel.
#define FAPEX_TS_DISABLE   9
 No TS input (feed via packet RAM)
#define FAPEX_TSD_IGNORE_BYTE   0x00000000
 Ignore provided section byte.
#define FAPEX_TSD_FILTER_BYTE   0xFFFFFFFF
 Filter exactly provided section byte.
#define FAPEX_TSD_IGNORE_VERSION   0xFF000000
 Ignore the version when filtering.
#define FAPEX_TSD_CHECK_VERSION   0x00FF0000
 Check the version when filtering.
#define FAPEX_SYNC_INVALIDATE   0xFFFFFFFF
 Invalidate the PCR PID.
#define FAPEX_TSD_ERR_BASE   (FAPEX_TSD_MODULE_BASE + FAPEX_RET_ERR_BASE)
#define FAPEX_TSD_ERR_BAD_PARAMETER   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_BAD_PARAMETER)
#define FAPEX_TSD_ERR_OUT_OF_MEMORY   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_OUT_OF_MEMORY)
#define FAPEX_TSD_ERR_TIMEOUT   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_TIMEOUT)
#define FAPEX_TSD_ERR_INVALID_STATUS   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_INVALID_HANDLE)
#define FAPEX_TSD_ERR_SEMAPHORE_CREATE   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_SEMAPHORE_CREATE)
#define FAPEX_TSD_FILTER_SIZE   (16)
#define FAPEX_TSD_INPUT_CH_A   0x00
 TS A input channel.
#define FAPEX_TSD_INPUT_CH_B   0x01
 TS B input channel.
#define FAPEX_TSD_INPUT_CH_C   0x02
 TS C input channel.
#define FAPEX_TSD_INPUT_DIRECT_MODE   0x09
 not supported. TS input via packet RAM (Direct Write Mode)
#define FAPEX_TSD_INPUT_LINEAR_MODE   0x19
 not supported. TS input via packet RAM (Linear Write mode)
#define FAPEX_TSD_INPUT_LINEAR_AUTO_MODE   0x29
 TS input via packet RAM (Linear write mode with automatical start)
#define FAPEX_TSD_IFLAGS_AM_SYNC   (0x0020)
 Enable automatical synchronization.
#define FAPEX_TSD_IFLAGS_PACKET_START   (0x0010)
 TSx_PACKET_START low active.
#define FAPEX_TSD_IFLAGS_EN   (0x0008)
 TSx_EN low active.
#define FAPEX_TSD_IFLAGS_INV_CLK   (0x0004)
 TSx_CLK invert.
#define FAPEX_TSD_IFLAGS_SP_MODE1   (0x0001)
 serial with TSx_PACKET_START
#define FAPEX_TSD_IFLAGS_SP_MODE2   (0x0002)
 parallel without TSx_PACKET_START
#define FAPEX_TSD_IFLAGS_SP_MODE3   (0x0003)
 parallel with TSx_PACKET_START
#define FAPEX_TSD_IFLAGS_SP_MODE_MSK   (0x0003)
 mask for sirial/parallel mode
#define FAPEX_TSD_OFLAGS_OUT_INV_CLK   (0x0200)
 TS_OUT_CLK invert.
#define FAPEX_TSD_OFLAGS_OUT_EN   (0x0100)
 generate TS_OUT_EN, TS_OUT_START
#define FAPEX_TSD_OFLAGS_OUT_CLK_PRESCALER_MSK   (0x00ff)
 mask for prescaler to generate TS_OUT_CLK
#define FAPEX_TSD_FLTFLAGS_CHECK_CC   (0x00002000)
 check continuity counter flag
#define FAPEX_TSD_FLTFLAGS_RM_TS_HEADER   (0x00001000)
 remove TS header flag
#define FAPEX_TSD_FLTFLAGS_RM_PES_HEADER   (0x00001800)
 remove TS & PES header flag
#define FAPEX_TSD_FLTFLAGS_ONESHOT_FILTERING   (0x00000400)
 one-shot filtering enable flag
#define FAPEX_TSD_FLTFLAGS_NEW_VERSION   (0x00000200)
 only new version detection flag
#define FAPEX_TSD_FLTFLAGS_PCR   (0x00000100)
 PCR detection flag.
#define FAPEX_TSD_FLTFLAGS_PTS   (0x00000080)
 PTS detection flag.
#define FAPEX_TSD_FLTFLAGS_PACKET_END   (0x00000040)
 packet_end detection flag
#define FAPEX_TSD_FLTFLAGS_SCRAMBLED_PACKET   (0x00000020)
 scrambled_packet detection flag
#define FAPEX_TSD_FLTFLAGS_TIMEOUT   (0x00000010)
 timeout detection flag
#define FAPEX_TSD_FLTFLAGS_SWAPWR_MSK   (0x00000004)
 write swap switch
#define FAPEX_TSD_FLTFLAGS_SWAPWR_SWAP   (0x00000004)
 enable write swap
#define FAPEX_TSD_FLTFLAGS_SWAPWR_NO_SWAP   (0x00000000)
 disable write swap
#define FAPEX_TSD_FLTFLAGS_SWAPRD_MSK   (0x00000002)
 read swap switch
#define FAPEX_TSD_FLTFLAGS_SWAPRD_SWAP   (0x00000002)
 enable read swap
#define FAPEX_TSD_FLTFLAGS_SWAPRD_NO_SWAP   (0x00000000)
 disable read swap
#define FAPEX_TSD_FLTFLAGS_SWAPMODE_MSK   (0x00000001)
 swap mode
#define FAPEX_TSD_FLTFLAGS_SWAPMODE_2BYTE   (0x00000001)
 2byte swap mode
#define FAPEX_TSD_FLTFLAGS_SWAPMODE_4BYTE   (0x00000000)
 4byte swap mode
#define FAPEX_TSD_FLTFLAGS_SWAP_MSK   (0x00000007)
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM1   (0x00000000)
 Number of table_id for section filtering is 1.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM2   (0x00010000)
 Number of table_id for section filtering is 2.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM4   (0x00030000)
 Number of table_id for section filtering is 4.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM8   (0x00070000)
 Number of table_id for section filtering is 8.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM12   (0x000B0000)
 Number of table_id for section filtering is 12.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM16   (0x000F0000)
 Number of table_id for section filtering is 16.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM20   (0x00130000)
 Number of table_id for section filtering is 20.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM24   (0x00170000)
 Number of table_id for section filtering is 24.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM28   (0x001B0000)
 Number of table_id for section filtering is 28.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM32   (0x001F0000)
 Number of table_id for section filtering is 32.
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM_SHIFT   16
#define FAPEX_TSD_STREAMTYPE_UNKNOWN   (0)
 stream_type
#define FAPEX_TSD_STREAMTYPE_AUDIO   (1)
 Audio stream.
#define FAPEX_TSD_STREAMTYPE_VIDEO   (2)
 Video stream.
#define FAPEX_TSD_STREAMTYPE_TELETEXT   (4)
 VBI-teletext stream.
#define FAPEX_DESC_SINGLE_DES_ENCRYPT   0
 descramble work type
#define FAPEX_DESC_DVB_CSA2_DECRYPT   1
 DVB CSA 2.1 descrambling mode.
#define FAPEX_DESC_DVB_CSA1_DECRYPT   2
 DVB CSA 1.0 descrambling mode.
#define FAPEX_DESC_MULTI_2_DECRYPT   3
 MULTI2 descrambling mode.
#define FAPEX_DESC_AES_CBC_DECRYPT   4
 AES descryption in CBC mode.
#define FAPEX_DESC_SINGLE_DES_DECRYPT   5
 Single DES decryption mode.
#define FAPEX_DESC_AES_CBC_ENCRYPT   6
 AES encryption in CBC mode.
#define FAPEX_DESC_AES_ECB_ENCRYPT   7
 AES encryption in ECB mode.
#define FAPEX_TSD_BUFFSTAT_NONE   (0x0000)
 normal status
#define FAPEX_TSD_BUFFSTAT_PACKET_END   (0x0001)
 packet end
#define FAPEX_TSD_BUFFSTAT_SECTION_END   (0x0002)
 section end
#define FAPEX_TSD_BUFFSTAT_SCRAMBLED_PACKET   (0x0004)
 scrambled packet
#define FAPEX_TSD_BUFFSTAT_CRCERROR   (0x0008)
 CRC error.
#define FAPEX_TSD_BUFFSTAT_THRESHUNDER   (0x0010)
 under Low level threshold
#define FAPEX_TSD_BUFFSTAT_THRESHOVER   (0x0020)
 over High level threshold
#define FAPEX_TSD_BUFFSTAT_OVERFLOW   (0x0040)
 Overflow.
#define FAPEX_TSD_BUFFSTAT_TIMEOUT   (0x0080)
 Timeout.
#define FAPEX_TSD_BUFFSTAT_STOPPED   (0x0100)
 stopped TSD channel demuxing
#define FAPEX_TSD_SYNC_INITIAL_STATUS   0
 Initial driver status.
#define FAPEX_TSD_SYNC_SYNCHRONISING   1
 Driver is synchronising.
#define FAPEX_TSD_SYNC_SYNCHRONISED   2
 Driver is synchronised.
#define FAPEX_TSD_SYNC_NO_PCR   3
 Synchronisation failed.
#define FAPEX_TSD_SYNC_TWO_PCRS   4
 Synchronisation failed.
#define FAPEX_TSD_SYNC_UNCERTAIN   5
 Synchronisation may reset.
#define FAPEX_TSD_PACKET_INPUT_BYTES   188
#define FAPEX_TSD_PACKET_INPUT_BUFF_NUM   4
#define FAPEX_TSD_PACKET_INPUT_LENGTH   188
#define FAPEX_TSD_PACKET_INPUT_LENGTH_A   192
#define FAPEX_TSD_PACKET_INPUT_LENGTH_B   204
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG   (0x0004)
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG   (0x0004)
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT   4
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF0   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG)
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF1   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT )
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF2   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << (2 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF3   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << (3 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF_ALL
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF0   (FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0000)
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF1   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0001) << FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT )
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF2   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0002) << (2 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF3   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0003) << (3 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF_ALL
#define FAPEX_IOCCOM_TSD_OPEN   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 0, FAPEX_TSD_OpenParamStrT)
 ioctl specific command for the TSD driver
#define FAPEX_IOCCOM_TSD_OPEN_SUBID   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_SUBID_TSD, FAPEX_TSD_OpenSubIdParamStrT)
#define FAPEX_IOCCOM_TSD_GET_BLOCK_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 1, FAPEX_TSD_BlockInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_CHANNEL_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 2, FAPEX_TSD_ChannelInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_STATUS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 3, FAPEX_TSD_StatusStrT)
#define FAPEX_IOCCOM_TSD_SET_INPUT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 4, FAPEX_TSD_InputParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PID_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 5, FAPEX_TSD_PidParamStrT)
#define FAPEX_IOCCOM_TSD_SET_SECTION_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 6, FAPEX_TSD_SctFltParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PES_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 7, FAPEX_TSD_PesParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PID_VALUE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 8, FAPEX_TSD_PidParamStrT)
#define FAPEX_IOCCOM_TSD_SET_KEYS   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 9, FAPEX_TSD_DescKeysParamStrT)
#define FAPEX_IOCCOM_TSD_SET_BUFFER_READSIZE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 10, uint32_t)
#define FAPEX_IOCCOM_TSD_SET_BUFFER_WRITEPOINTEROFFSET   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 11, uint32_t)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_READINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 11, FAPEX_TSD_ReadInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_WRITEINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 12, FAPEX_TSD_WriteInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_LEVEL   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 13, uint32_t)
#define FAPEX_IOCCOM_TSD_GET_INPUT_MAP_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 14, FAPEX_TSD_PacketInMapInfoStrT)
#define FAPEX_IOCCOM_TSD_SET_INPUT_PACKETINFO   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 15, FAPEX_TSD_PacketInInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_INPUT_PACKETINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 15, FAPEX_TSD_PacketInInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_STC_VALUE   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 16, uint64_t)
#define FAPEX_IOCCOM_TSD_BM_WRITE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 18, FAPEX_TSD_BmWriteParmStrT)

Typedefs

typedef FAPEX_TSD_OpenParamStrT FAPEX_TSD_InputParamStrT
 TSD block input parameters for the TSD driver
This structure contents are the same as FAPEX_TSD_OpenParamStrT.

Enumerations

enum  FAPEX_TSD_SectionPidT {
  FAPEX_TSD_PAT_SECTION_PID = (int32_t)0x0000, FAPEX_TSD_CAT_SECTION_PID = (int32_t)0x0001, FAPEX_TSD_TSDT_SECTION_PID = (int32_t)0x0002, FAPEX_TSD_PMT_MIN_SECTION_PID = (int32_t)0x0010,
  FAPEX_TSD_PMT_MAX_SECTION_PID = (int32_t)0x1FFE, FAPEX_TSD_NIT_SECTION_PID = (int32_t)0x0010, FAPEX_TSD_SDT_SECTION_PID = (int32_t)0x0011, FAPEX_TSD_EIT_SECTION_PID = (int32_t)0x0012,
  FAPEX_TSD_TDT_SECTION_PID = (int32_t)0x0014, FAPEX_TSD_BAT_SECTION_PID = (int32_t)0x0011, FAPEX_TSD_RST_SECTION_PID = (int32_t)0x0013, FAPEX_TSD_TOT_SECTION_PID = (int32_t)0x0014,
  FAPEX_TSD_ST_MIN_SECTION_PID = (int32_t)0x0010, FAPEX_TSD_ST_MAX_SECTION_PID = (int32_t)0x0014, FAPEX_TSD_DIT_SECTION_PID = (int32_t)0x0000, FAPEX_TSD_SIT_SECTION_PID = (int32_t)0x0000
}
 

Collection of sections that can be filtered by the TSD section filter. The PID value needs to be set to one of these.

More...
enum  FAPEX_TSD_TableIdT {
  FAPEX_TSD_PAT_TABLE = (int32_t)0x00, FAPEX_TSD_CAT_TABLE = (int32_t)0x01, FAPEX_TSD_PMT_TABLE = (int32_t)0x02, FAPEX_TSD_TSDT_TABLE = (int32_t)0x03,
  FAPEX_TSD_NIT_ATS_TABLE = (int32_t)0x40, FAPEX_TSD_NIT_OTS_TABLE = (int32_t)0x41, FAPEX_TSD_SDT_ATS_TABLE = (int32_t)0x42, FAPEX_TSD_SDT_OTS_TABLE = (int32_t)0x46,
  FAPEX_TSD_EIT_ATS_PF_TABLE = (int32_t)0x4E, FAPEX_TSD_EIT_OTS_PF_TABLE = (int32_t)0x4F, FAPEX_TSD_BAT_TABLE = (int32_t)0x4A, FAPEX_TSD_TDT_TABLE = (int32_t)0x70,
  FAPEX_TSD_RST_TABLE = (int32_t)0x71, FAPEX_TSD_ST_TABLE = (int32_t)0x72, FAPEX_TSD_TOT_TABLE = (int32_t)0x73, FAPEX_TSD_DIT_TABLE = (int32_t)0x7E,
  FAPEX_TSD_SIT_TABLE = (int32_t)0x7F, FAPEX_TSD_USER_000_TABLE = (int32_t)0x80, FAPEX_TSD_USER_001_TABLE = (int32_t)0x81, FAPEX_TSD_USER_002_TABLE = (int32_t)0x82,
  FAPEX_TSD_USER_003_TABLE = (int32_t)0x83, FAPEX_TSD_USER_004_TABLE = (int32_t)0x84, FAPEX_TSD_USER_005_TABLE = (int32_t)0x85, FAPEX_TSD_USER_006_TABLE = (int32_t)0x86,
  FAPEX_TSD_USER_007_TABLE = (int32_t)0x87, FAPEX_TSD_USER_008_TABLE = (int32_t)0x88, FAPEX_TSD_USER_009_TABLE = (int32_t)0x89, FAPEX_TSD_USER_010_TABLE = (int32_t)0x8A,
  FAPEX_TSD_USER_011_TABLE = (int32_t)0x8B, FAPEX_TSD_USER_012_TABLE = (int32_t)0x8C, FAPEX_TSD_USER_013_TABLE = (int32_t)0x8D, FAPEX_TSD_USER_014_TABLE = (int32_t)0x8E,
  FAPEX_TSD_USER_015_TABLE = (int32_t)0x8F, FAPEX_TSD_USER_016_TABLE = (int32_t)0x90, FAPEX_TSD_USER_017_TABLE = (int32_t)0x91, FAPEX_TSD_USER_018_TABLE = (int32_t)0x92,
  FAPEX_TSD_USER_019_TABLE = (int32_t)0x93, FAPEX_TSD_USER_020_TABLE = (int32_t)0x94, FAPEX_TSD_USER_021_TABLE = (int32_t)0x95, FAPEX_TSD_USER_022_TABLE = (int32_t)0x96,
  FAPEX_TSD_USER_023_TABLE = (int32_t)0x97, FAPEX_TSD_USER_024_TABLE = (int32_t)0x98, FAPEX_TSD_USER_025_TABLE = (int32_t)0x99, FAPEX_TSD_USER_026_TABLE = (int32_t)0x9A,
  FAPEX_TSD_USER_027_TABLE = (int32_t)0x9B, FAPEX_TSD_USER_028_TABLE = (int32_t)0x9C, FAPEX_TSD_USER_029_TABLE = (int32_t)0x9D, FAPEX_TSD_USER_030_TABLE = (int32_t)0x9E,
  FAPEX_TSD_USER_031_TABLE = (int32_t)0x9F, FAPEX_TSD_USER_032_TABLE = (int32_t)0xA0, FAPEX_TSD_USER_033_TABLE = (int32_t)0xA1, FAPEX_TSD_USER_034_TABLE = (int32_t)0xA2,
  FAPEX_TSD_USER_035_TABLE = (int32_t)0xA3, FAPEX_TSD_USER_036_TABLE = (int32_t)0xA4, FAPEX_TSD_USER_037_TABLE = (int32_t)0xA5, FAPEX_TSD_USER_038_TABLE = (int32_t)0xA6,
  FAPEX_TSD_USER_039_TABLE = (int32_t)0xA7, FAPEX_TSD_USER_040_TABLE = (int32_t)0xA8, FAPEX_TSD_USER_041_TABLE = (int32_t)0xA9, FAPEX_TSD_USER_042_TABLE = (int32_t)0xAA,
  FAPEX_TSD_USER_043_TABLE = (int32_t)0xAB, FAPEX_TSD_USER_044_TABLE = (int32_t)0xAC, FAPEX_TSD_USER_045_TABLE = (int32_t)0xAD, FAPEX_TSD_USER_046_TABLE = (int32_t)0xAE,
  FAPEX_TSD_USER_047_TABLE = (int32_t)0xAF, FAPEX_TSD_USER_048_TABLE = (int32_t)0xB0, FAPEX_TSD_USER_049_TABLE = (int32_t)0xB1, FAPEX_TSD_USER_051_TABLE = (int32_t)0xB2,
  FAPEX_TSD_USER_052_TABLE = (int32_t)0xB3, FAPEX_TSD_USER_053_TABLE = (int32_t)0xB4, FAPEX_TSD_USER_054_TABLE = (int32_t)0xB5, FAPEX_TSD_USER_055_TABLE = (int32_t)0xB6,
  FAPEX_TSD_USER_056_TABLE = (int32_t)0xB7, FAPEX_TSD_USER_057_TABLE = (int32_t)0xB8, FAPEX_TSD_USER_058_TABLE = (int32_t)0xB9, FAPEX_TSD_USER_059_TABLE = (int32_t)0xBA,
  FAPEX_TSD_USER_060_TABLE = (int32_t)0xBB, FAPEX_TSD_USER_061_TABLE = (int32_t)0xBC, FAPEX_TSD_USER_062_TABLE = (int32_t)0xBD, FAPEX_TSD_USER_063_TABLE = (int32_t)0xBE,
  FAPEX_TSD_USER_064_TABLE = (int32_t)0xBF, FAPEX_TSD_USER_065_TABLE = (int32_t)0xC0, FAPEX_TSD_USER_066_TABLE = (int32_t)0xC1, FAPEX_TSD_USER_067_TABLE = (int32_t)0xC2,
  FAPEX_TSD_USER_068_TABLE = (int32_t)0xC3, FAPEX_TSD_USER_069_TABLE = (int32_t)0xC4, FAPEX_TSD_USER_070_TABLE = (int32_t)0xC5, FAPEX_TSD_USER_071_TABLE = (int32_t)0xC6,
  FAPEX_TSD_USER_072_TABLE = (int32_t)0xC7, FAPEX_TSD_USER_073_TABLE = (int32_t)0xC8, FAPEX_TSD_USER_074_TABLE = (int32_t)0xC9, FAPEX_TSD_USER_075_TABLE = (int32_t)0xCA,
  FAPEX_TSD_USER_076_TABLE = (int32_t)0xCB, FAPEX_TSD_USER_077_TABLE = (int32_t)0xCC, FAPEX_TSD_USER_078_TABLE = (int32_t)0xCD, FAPEX_TSD_USER_079_TABLE = (int32_t)0xCE,
  FAPEX_TSD_USER_080_TABLE = (int32_t)0xCF, FAPEX_TSD_USER_081_TABLE = (int32_t)0xD0, FAPEX_TSD_USER_082_TABLE = (int32_t)0xD1, FAPEX_TSD_USER_083_TABLE = (int32_t)0xD2,
  FAPEX_TSD_USER_084_TABLE = (int32_t)0xD3, FAPEX_TSD_USER_085_TABLE = (int32_t)0xD4, FAPEX_TSD_USER_086_TABLE = (int32_t)0xD5, FAPEX_TSD_USER_087_TABLE = (int32_t)0xD6,
  FAPEX_TSD_USER_088_TABLE = (int32_t)0xD7, FAPEX_TSD_USER_089_TABLE = (int32_t)0xD8, FAPEX_TSD_USER_090_TABLE = (int32_t)0xD9, FAPEX_TSD_USER_091_TABLE = (int32_t)0xDA,
  FAPEX_TSD_USER_092_TABLE = (int32_t)0xDB, FAPEX_TSD_USER_093_TABLE = (int32_t)0xDC, FAPEX_TSD_USER_094_TABLE = (int32_t)0xDD, FAPEX_TSD_USER_095_TABLE = (int32_t)0xDE,
  FAPEX_TSD_USER_096_TABLE = (int32_t)0xDF, FAPEX_TSD_USER_097_TABLE = (int32_t)0xE0, FAPEX_TSD_USER_098_TABLE = (int32_t)0xE1, FAPEX_TSD_USER_099_TABLE = (int32_t)0xE2,
  FAPEX_TSD_USER_100_TABLE = (int32_t)0xE3, FAPEX_TSD_USER_101_TABLE = (int32_t)0xE4, FAPEX_TSD_USER_102_TABLE = (int32_t)0xE5, FAPEX_TSD_USER_103_TABLE = (int32_t)0xE6,
  FAPEX_TSD_USER_104_TABLE = (int32_t)0xE7, FAPEX_TSD_USER_105_TABLE = (int32_t)0xE8, FAPEX_TSD_USER_106_TABLE = (int32_t)0xE9, FAPEX_TSD_USER_107_TABLE = (int32_t)0xEA,
  FAPEX_TSD_USER_108_TABLE = (int32_t)0xEB, FAPEX_TSD_USER_109_TABLE = (int32_t)0xEC, FAPEX_TSD_USER_110_TABLE = (int32_t)0xED, FAPEX_TSD_USER_111_TABLE = (int32_t)0xEE,
  FAPEX_TSD_USER_112_TABLE = (int32_t)0xEF, FAPEX_TSD_USER_113_TABLE = (int32_t)0xF0, FAPEX_TSD_USER_114_TABLE = (int32_t)0xF1, FAPEX_TSD_USER_115_TABLE = (int32_t)0xF2,
  FAPEX_TSD_USER_116_TABLE = (int32_t)0xF3, FAPEX_TSD_USER_117_TABLE = (int32_t)0xF4, FAPEX_TSD_USER_118_TABLE = (int32_t)0xF5, FAPEX_TSD_USER_119_TABLE = (int32_t)0xF6,
  FAPEX_TSD_USER_120_TABLE = (int32_t)0xF7, FAPEX_TSD_USER_121_TABLE = (int32_t)0xF8, FAPEX_TSD_USER_122_TABLE = (int32_t)0xF9, FAPEX_TSD_USER_123_TABLE = (int32_t)0xFA,
  FAPEX_TSD_USER_124_TABLE = (int32_t)0xFB, FAPEX_TSD_USER_125_TABLE = (int32_t)0xFC, FAPEX_TSD_USER_126_TABLE = (int32_t)0xFD, FAPEX_TSD_USER_127_TABLE = (int32_t)0xFE
}
 

Collection of tables that can be filtered by the TSD section filter.

More...

Functions

FAPEXOPENRET_T FAPEX_TSD_Open (FAPEXOPENARG1_T id, FAPEXOPENARG2_T flags, FAPEXOPENARG3_T argptr)
 open method. This function is called with the systemcall "open".
FAPEXRELRET_T FAPEX_TSD_Close (FAPEXRELARG1_T id)
 release method. This function is called with the systemcall "close".
FAPEXREADRET_T FAPEX_TSD_Read (FAPEXREADARG1_T id, FAPEXREADARG2_T buf, FAPEXREADARG3_T count)
 read method. This function is called with the systemcall "read".
This function is waited for until the stream data is prepared.
FAPEXWRTRET_T FAPEX_TSD_Write (FAPEXWRTARG1_T id, FAPEXWRTARG2_T buf, FAPEXWRTARG3_T count)
 write method. This function is called with the systemcall "write".
This function is waited for until the empty area is available in buffer.
This function is supported only when the tsSelect value of FAPEX_TSD_OpenParamStrT / FAPEX_TSD_InputParamStrT structure is FAPEX_TSD_INPUT_LINEAR_AUTO_MODE at FAPEX_TSD_Open() or FAPEX_IOCCOM_TSD_SET_INPUT command with FAPEX_TSD_Ioctl().

FAPEXIOCRET_T FAPEX_TSD_Ioctl (FAPEXIOCARG1_T id, FAPEXIOCARG2_T cmd, FAPEXIOCARG3_T pArg)
 ioctl method. This function is called with the systemcall "ioctl".
FAPEXMMPRET_T FAPEX_TSD_Mmap (FAPEXMMPARG1_T start, FAPEXMMPARG2_T length, FAPEXMMPARG3_T prot, FAPEXMMPARG4_T flags, FAPEXMMPARG5_T id, FAPEXMMPARG6_T offset)
 mmap method. This function is called with the systemcall "mmap".

FAPEXMUNMPRET_T FAPEX_TSD_Munmap (FAPEXMMPARG1_T start, FAPEXMMPARG2_T length)
 munmap method. This function is called with the systemcall "munmap".

Detailed Description

abstraction library header file (TSD driver)

Attention:
This program is provided as is. You can redistribute it and/or modify it. Fujitsu Semiconductor Limited accepts no responsibility or liability for any errors or omissions.

Copyright (C) 2008-2010 Fujitsu Semiconductor Limited, All Rights Reserved.


Define Documentation

#define FAPEX_TSD0   0

TSD0 hardware block.

#define FAPEX_TSD1   1

TSD1 hardware block.

#define FAPEX_TSD2   2

TSD2 hardware block.

#define FAPEX_TSD3   3

TSD3 hardware block.

#define FAPEX_TSD_MAX   4

Total of TSD HW blocks.

#define FAPEX_TSD_CHANNEL_AUTODETECT   -1

Selects the first free channel.

#define FAPEX_TS_DISABLE   9

No TS input (feed via packet RAM)

#define FAPEX_TSD_IGNORE_BYTE   0x00000000

Ignore provided section byte.

#define FAPEX_TSD_FILTER_BYTE   0xFFFFFFFF

Filter exactly provided section byte.

#define FAPEX_TSD_IGNORE_VERSION   0xFF000000

Ignore the version when filtering.

#define FAPEX_TSD_CHECK_VERSION   0x00FF0000

Check the version when filtering.

#define FAPEX_SYNC_INVALIDATE   0xFFFFFFFF

Invalidate the PCR PID.

#define FAPEX_TSD_ERR_BASE   (FAPEX_TSD_MODULE_BASE + FAPEX_RET_ERR_BASE)

FAPex TSD error code base value

#define FAPEX_TSD_ERR_BAD_PARAMETER   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_BAD_PARAMETER)

Bad parameter passed.

#define FAPEX_TSD_ERR_OUT_OF_MEMORY   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_OUT_OF_MEMORY)

Memory allocation failed.

#define FAPEX_TSD_ERR_TIMEOUT   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_TIMEOUT)

Timeout occured.

#define FAPEX_TSD_ERR_INVALID_STATUS   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_INVALID_HANDLE)

Invalid status.

#define FAPEX_TSD_ERR_SEMAPHORE_CREATE   (FAPEX_TSD_ERR_BASE + FAPEX_ERR_SEMAPHORE_CREATE)

Semaphore could not be created.

#define FAPEX_TSD_FILTER_SIZE   (16)

section filter matching bytes

#define FAPEX_TSD_INPUT_CH_A   0x00

TS A input channel.

#define FAPEX_TSD_INPUT_CH_B   0x01

TS B input channel.

#define FAPEX_TSD_INPUT_CH_C   0x02

TS C input channel.

#define FAPEX_TSD_INPUT_DIRECT_MODE   0x09

not supported. TS input via packet RAM (Direct Write Mode)

#define FAPEX_TSD_INPUT_LINEAR_MODE   0x19

not supported. TS input via packet RAM (Linear Write mode)

#define FAPEX_TSD_INPUT_LINEAR_AUTO_MODE   0x29

TS input via packet RAM (Linear write mode with automatical start)

#define FAPEX_TSD_IFLAGS_AM_SYNC   (0x0020)

Enable automatical synchronization.

#define FAPEX_TSD_IFLAGS_PACKET_START   (0x0010)

TSx_PACKET_START low active.

#define FAPEX_TSD_IFLAGS_EN   (0x0008)

TSx_EN low active.

#define FAPEX_TSD_IFLAGS_INV_CLK   (0x0004)

TSx_CLK invert.

#define FAPEX_TSD_IFLAGS_SP_MODE1   (0x0001)

serial with TSx_PACKET_START

#define FAPEX_TSD_IFLAGS_SP_MODE2   (0x0002)

parallel without TSx_PACKET_START

#define FAPEX_TSD_IFLAGS_SP_MODE3   (0x0003)

parallel with TSx_PACKET_START

#define FAPEX_TSD_IFLAGS_SP_MODE_MSK   (0x0003)

mask for sirial/parallel mode

#define FAPEX_TSD_OFLAGS_OUT_INV_CLK   (0x0200)

TS_OUT_CLK invert.

#define FAPEX_TSD_OFLAGS_OUT_EN   (0x0100)

generate TS_OUT_EN, TS_OUT_START

#define FAPEX_TSD_OFLAGS_OUT_CLK_PRESCALER_MSK   (0x00ff)

mask for prescaler to generate TS_OUT_CLK

#define FAPEX_TSD_FLTFLAGS_CHECK_CC   (0x00002000)

check continuity counter flag

#define FAPEX_TSD_FLTFLAGS_RM_TS_HEADER   (0x00001000)

remove TS header flag

#define FAPEX_TSD_FLTFLAGS_RM_PES_HEADER   (0x00001800)

remove TS & PES header flag

#define FAPEX_TSD_FLTFLAGS_ONESHOT_FILTERING   (0x00000400)

one-shot filtering enable flag

#define FAPEX_TSD_FLTFLAGS_NEW_VERSION   (0x00000200)

only new version detection flag

#define FAPEX_TSD_FLTFLAGS_PCR   (0x00000100)

PCR detection flag.

#define FAPEX_TSD_FLTFLAGS_PTS   (0x00000080)

PTS detection flag.

#define FAPEX_TSD_FLTFLAGS_PACKET_END   (0x00000040)

packet_end detection flag

#define FAPEX_TSD_FLTFLAGS_SCRAMBLED_PACKET   (0x00000020)

scrambled_packet detection flag

#define FAPEX_TSD_FLTFLAGS_TIMEOUT   (0x00000010)

timeout detection flag

#define FAPEX_TSD_FLTFLAGS_SWAPWR_MSK   (0x00000004)

write swap switch

#define FAPEX_TSD_FLTFLAGS_SWAPWR_SWAP   (0x00000004)

enable write swap

#define FAPEX_TSD_FLTFLAGS_SWAPWR_NO_SWAP   (0x00000000)

disable write swap

#define FAPEX_TSD_FLTFLAGS_SWAPRD_MSK   (0x00000002)

read swap switch

#define FAPEX_TSD_FLTFLAGS_SWAPRD_SWAP   (0x00000002)

enable read swap

#define FAPEX_TSD_FLTFLAGS_SWAPRD_NO_SWAP   (0x00000000)

disable read swap

#define FAPEX_TSD_FLTFLAGS_SWAPMODE_MSK   (0x00000001)

swap mode

#define FAPEX_TSD_FLTFLAGS_SWAPMODE_2BYTE   (0x00000001)

2byte swap mode

#define FAPEX_TSD_FLTFLAGS_SWAPMODE_4BYTE   (0x00000000)

4byte swap mode

#define FAPEX_TSD_FLTFLAGS_SWAP_MSK   (0x00000007)
#define FAPEX_TSD_FLTFLAGS_TABLE_NUM1   (0x00000000)

Number of table_id for section filtering is 1.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM2   (0x00010000)

Number of table_id for section filtering is 2.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM4   (0x00030000)

Number of table_id for section filtering is 4.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM8   (0x00070000)

Number of table_id for section filtering is 8.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM12   (0x000B0000)

Number of table_id for section filtering is 12.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM16   (0x000F0000)

Number of table_id for section filtering is 16.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM20   (0x00130000)

Number of table_id for section filtering is 20.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM24   (0x00170000)

Number of table_id for section filtering is 24.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM28   (0x001B0000)

Number of table_id for section filtering is 28.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM32   (0x001F0000)

Number of table_id for section filtering is 32.

#define FAPEX_TSD_FLTFLAGS_TABLE_NUM_SHIFT   16
#define FAPEX_TSD_STREAMTYPE_UNKNOWN   (0)

stream_type

unknown stream

#define FAPEX_TSD_STREAMTYPE_AUDIO   (1)

Audio stream.

#define FAPEX_TSD_STREAMTYPE_VIDEO   (2)

Video stream.

#define FAPEX_TSD_STREAMTYPE_TELETEXT   (4)

VBI-teletext stream.

#define FAPEX_DESC_SINGLE_DES_ENCRYPT   0

descramble work type

Single DES encryption mode

#define FAPEX_DESC_DVB_CSA2_DECRYPT   1

DVB CSA 2.1 descrambling mode.

#define FAPEX_DESC_DVB_CSA1_DECRYPT   2

DVB CSA 1.0 descrambling mode.

#define FAPEX_DESC_MULTI_2_DECRYPT   3

MULTI2 descrambling mode.

#define FAPEX_DESC_AES_CBC_DECRYPT   4

AES descryption in CBC mode.

#define FAPEX_DESC_SINGLE_DES_DECRYPT   5

Single DES decryption mode.

#define FAPEX_DESC_AES_CBC_ENCRYPT   6

AES encryption in CBC mode.

#define FAPEX_DESC_AES_ECB_ENCRYPT   7

AES encryption in ECB mode.

#define FAPEX_TSD_BUFFSTAT_NONE   (0x0000)

normal status

#define FAPEX_TSD_BUFFSTAT_PACKET_END   (0x0001)

packet end

#define FAPEX_TSD_BUFFSTAT_SECTION_END   (0x0002)

section end

#define FAPEX_TSD_BUFFSTAT_SCRAMBLED_PACKET   (0x0004)

scrambled packet

#define FAPEX_TSD_BUFFSTAT_CRCERROR   (0x0008)

CRC error.

#define FAPEX_TSD_BUFFSTAT_THRESHUNDER   (0x0010)

under Low level threshold

#define FAPEX_TSD_BUFFSTAT_THRESHOVER   (0x0020)

over High level threshold

#define FAPEX_TSD_BUFFSTAT_OVERFLOW   (0x0040)

Overflow.

#define FAPEX_TSD_BUFFSTAT_TIMEOUT   (0x0080)

Timeout.

#define FAPEX_TSD_BUFFSTAT_STOPPED   (0x0100)

stopped TSD channel demuxing

#define FAPEX_TSD_SYNC_INITIAL_STATUS   0

Initial driver status.

#define FAPEX_TSD_SYNC_SYNCHRONISING   1

Driver is synchronising.

#define FAPEX_TSD_SYNC_SYNCHRONISED   2

Driver is synchronised.

#define FAPEX_TSD_SYNC_NO_PCR   3

Synchronisation failed.

#define FAPEX_TSD_SYNC_TWO_PCRS   4

Synchronisation failed.

#define FAPEX_TSD_SYNC_UNCERTAIN   5

Synchronisation may reset.

#define FAPEX_TSD_PACKET_INPUT_BYTES   188
#define FAPEX_TSD_PACKET_INPUT_BUFF_NUM   4
#define FAPEX_TSD_PACKET_INPUT_LENGTH   188
#define FAPEX_TSD_PACKET_INPUT_LENGTH_A   192
#define FAPEX_TSD_PACKET_INPUT_LENGTH_B   204
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG   (0x0004)
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG   (0x0004)
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT   4
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF0   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG)
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF1   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT )
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF2   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << (2 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_BUFF3   (FAPEX_TSD_PACKET_INPUT_STATUS_BUSY_FLAG << (3 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF0   (FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0000)
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF1   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0001) << FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT )
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF2   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0002) << (2 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_TSD_PACKET_INPUT_STATUS_VALID_BUFF3   ((FAPEX_TSD_PACKET_INPUT_STATUS_VALID_FLAG | 0x0003) << (3 * FAPEX_TSD_PACKET_INPUT_STATUS_BUFF_SHFT))
#define FAPEX_IOCCOM_TSD_OPEN   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 0, FAPEX_TSD_OpenParamStrT)

ioctl specific command for the TSD driver

#define FAPEX_IOCCOM_TSD_OPEN_SUBID   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_SUBID_TSD, FAPEX_TSD_OpenSubIdParamStrT)
#define FAPEX_IOCCOM_TSD_GET_BLOCK_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 1, FAPEX_TSD_BlockInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_CHANNEL_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 2, FAPEX_TSD_ChannelInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_STATUS   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 3, FAPEX_TSD_StatusStrT)
#define FAPEX_IOCCOM_TSD_SET_INPUT   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 4, FAPEX_TSD_InputParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PID_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 5, FAPEX_TSD_PidParamStrT)
#define FAPEX_IOCCOM_TSD_SET_SECTION_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 6, FAPEX_TSD_SctFltParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PES_FILTER   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 7, FAPEX_TSD_PesParamStrT)
#define FAPEX_IOCCOM_TSD_SET_PID_VALUE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 8, FAPEX_TSD_PidParamStrT)
#define FAPEX_IOCCOM_TSD_SET_KEYS   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 9, FAPEX_TSD_DescKeysParamStrT)
#define FAPEX_IOCCOM_TSD_SET_BUFFER_READSIZE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 10, uint32_t)
#define FAPEX_IOCCOM_TSD_SET_BUFFER_WRITEPOINTEROFFSET   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 11, uint32_t)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_READINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 11, FAPEX_TSD_ReadInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_WRITEINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 12, FAPEX_TSD_WriteInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_BUFFER_LEVEL   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 13, uint32_t)
#define FAPEX_IOCCOM_TSD_GET_INPUT_MAP_INFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 14, FAPEX_TSD_PacketInMapInfoStrT)
#define FAPEX_IOCCOM_TSD_SET_INPUT_PACKETINFO   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 15, FAPEX_TSD_PacketInInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_INPUT_PACKETINFO   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 15, FAPEX_TSD_PacketInInfoStrT)
#define FAPEX_IOCCOM_TSD_GET_STC_VALUE   _IOR(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 16, uint64_t)
#define FAPEX_IOCCOM_TSD_BM_WRITE   _IOW(FAPEX_DEV_TYPE, FAPEX_IOCCOM_NB_TSD + 18, FAPEX_TSD_BmWriteParmStrT)

Typedef Documentation

TSD block input parameters for the TSD driver
This structure contents are the same as FAPEX_TSD_OpenParamStrT.

The related ioctl command type : FAPEX_IOCCOM_TSD_SET_INPUT

See also:
FAPEX_TSD_Ioctl

Enumeration Type Documentation

Collection of sections that can be filtered by the TSD section filter. The PID value needs to be set to one of these.

Enumerator:
FAPEX_TSD_PAT_SECTION_PID 

Program association section.

FAPEX_TSD_CAT_SECTION_PID 

Conditional access section.

FAPEX_TSD_TSDT_SECTION_PID 

Transport stream description section.

FAPEX_TSD_PMT_MIN_SECTION_PID 

Transport stream program map section.

FAPEX_TSD_PMT_MAX_SECTION_PID 

Transport stream program map section.

FAPEX_TSD_NIT_SECTION_PID 

Network information section.

FAPEX_TSD_SDT_SECTION_PID 

Service description table.

FAPEX_TSD_EIT_SECTION_PID 

Event information section.

FAPEX_TSD_TDT_SECTION_PID 

Time and date section.

FAPEX_TSD_BAT_SECTION_PID 

Bouquet association section.

FAPEX_TSD_RST_SECTION_PID 

Running status section.

FAPEX_TSD_TOT_SECTION_PID 

Time offset section.

FAPEX_TSD_ST_MIN_SECTION_PID 

Stuffing section.

FAPEX_TSD_ST_MAX_SECTION_PID 

Stuffing section.

FAPEX_TSD_DIT_SECTION_PID 

Disconuity information section.

FAPEX_TSD_SIT_SECTION_PID 

Selection information section.

Collection of tables that can be filtered by the TSD section filter.

Enumerator:
FAPEX_TSD_PAT_TABLE 

Program association section.

FAPEX_TSD_CAT_TABLE 

Conditional access section.

FAPEX_TSD_PMT_TABLE 

Transport stream program map section.

FAPEX_TSD_TSDT_TABLE 

Transport stream description section.

FAPEX_TSD_NIT_ATS_TABLE 

Network information section (actual transport stream)

FAPEX_TSD_NIT_OTS_TABLE 

Network information section (other transport stream)

FAPEX_TSD_SDT_ATS_TABLE 

Service description table (actual transport stream)

FAPEX_TSD_SDT_OTS_TABLE 

Service description table (other transport stream)

FAPEX_TSD_EIT_ATS_PF_TABLE 

Event information section (actual transport stream / present following)

FAPEX_TSD_EIT_OTS_PF_TABLE 

Event information section (other transport stream / present following)

FAPEX_TSD_BAT_TABLE 

Bouquet association section.

FAPEX_TSD_TDT_TABLE 

Time and date section.

FAPEX_TSD_RST_TABLE 

Running status section.

FAPEX_TSD_ST_TABLE 

Stuffing section.

FAPEX_TSD_TOT_TABLE 

Time offset section.

FAPEX_TSD_DIT_TABLE 

Disconuity information section.

FAPEX_TSD_SIT_TABLE 

Selection information section.

FAPEX_TSD_USER_000_TABLE 

User defined table 000.

FAPEX_TSD_USER_001_TABLE 

User defined table 001.

FAPEX_TSD_USER_002_TABLE 

User defined table 002.

FAPEX_TSD_USER_003_TABLE 

User defined table 003.

FAPEX_TSD_USER_004_TABLE 

User defined table 004.

FAPEX_TSD_USER_005_TABLE 

User defined table 005.

FAPEX_TSD_USER_006_TABLE 

User defined table 006.

FAPEX_TSD_USER_007_TABLE 

User defined table 007.

FAPEX_TSD_USER_008_TABLE 

User defined table 008.

FAPEX_TSD_USER_009_TABLE 

User defined table 009.

FAPEX_TSD_USER_010_TABLE 

User defined table 010.

FAPEX_TSD_USER_011_TABLE 

User defined table 011.

FAPEX_TSD_USER_012_TABLE 

User defined table 012.

FAPEX_TSD_USER_013_TABLE 

User defined table 013.

FAPEX_TSD_USER_014_TABLE 

User defined table 014.

FAPEX_TSD_USER_015_TABLE 

User defined table 015.

FAPEX_TSD_USER_016_TABLE 

User defined table 016.

FAPEX_TSD_USER_017_TABLE 

User defined table 017.

FAPEX_TSD_USER_018_TABLE 

User defined table 018.

FAPEX_TSD_USER_019_TABLE 

User defined table 019.

FAPEX_TSD_USER_020_TABLE 

User defined table 020.

FAPEX_TSD_USER_021_TABLE 

User defined table 021.

FAPEX_TSD_USER_022_TABLE 

User defined table 022.

FAPEX_TSD_USER_023_TABLE 

User defined table 023.

FAPEX_TSD_USER_024_TABLE 

User defined table 024.

FAPEX_TSD_USER_025_TABLE 

User defined table 025.

FAPEX_TSD_USER_026_TABLE 

User defined table 026.

FAPEX_TSD_USER_027_TABLE 

User defined table 027.

FAPEX_TSD_USER_028_TABLE 

User defined table 028.

FAPEX_TSD_USER_029_TABLE 

User defined table 029.

FAPEX_TSD_USER_030_TABLE 

User defined table 030.

FAPEX_TSD_USER_031_TABLE 

User defined table 031.

FAPEX_TSD_USER_032_TABLE 

User defined table 032.

FAPEX_TSD_USER_033_TABLE 

User defined table 033.

FAPEX_TSD_USER_034_TABLE 

User defined table 034.

FAPEX_TSD_USER_035_TABLE 

User defined table 035.

FAPEX_TSD_USER_036_TABLE 

User defined table 036.

FAPEX_TSD_USER_037_TABLE 

User defined table 037.

FAPEX_TSD_USER_038_TABLE 

User defined table 038.

FAPEX_TSD_USER_039_TABLE 

User defined table 039.

FAPEX_TSD_USER_040_TABLE 

User defined table 040.

FAPEX_TSD_USER_041_TABLE 

User defined table 041.

FAPEX_TSD_USER_042_TABLE 

User defined table 042.

FAPEX_TSD_USER_043_TABLE 

User defined table 043.

FAPEX_TSD_USER_044_TABLE 

User defined table 044.

FAPEX_TSD_USER_045_TABLE 

User defined table 045.

FAPEX_TSD_USER_046_TABLE 

User defined table 046.

FAPEX_TSD_USER_047_TABLE 

User defined table 047.

FAPEX_TSD_USER_048_TABLE 

User defined table 048.

FAPEX_TSD_USER_049_TABLE 

User defined table 049.

FAPEX_TSD_USER_051_TABLE 

User defined table 051.

FAPEX_TSD_USER_052_TABLE 

User defined table 052.

FAPEX_TSD_USER_053_TABLE 

User defined table 053.

FAPEX_TSD_USER_054_TABLE 

User defined table 054.

FAPEX_TSD_USER_055_TABLE 

User defined table 055.

FAPEX_TSD_USER_056_TABLE 

User defined table 056.

FAPEX_TSD_USER_057_TABLE 

User defined table 057.

FAPEX_TSD_USER_058_TABLE 

User defined table 058.

FAPEX_TSD_USER_059_TABLE 

User defined table 059.

FAPEX_TSD_USER_060_TABLE 

User defined table 060.

FAPEX_TSD_USER_061_TABLE 

User defined table 061.

FAPEX_TSD_USER_062_TABLE 

User defined table 062.

FAPEX_TSD_USER_063_TABLE 

User defined table 063.

FAPEX_TSD_USER_064_TABLE 

User defined table 064.

FAPEX_TSD_USER_065_TABLE 

User defined table 065.

FAPEX_TSD_USER_066_TABLE 

User defined table 066.

FAPEX_TSD_USER_067_TABLE 

User defined table 067.

FAPEX_TSD_USER_068_TABLE 

User defined table 068.

FAPEX_TSD_USER_069_TABLE 

User defined table 069.

FAPEX_TSD_USER_070_TABLE 

User defined table 070.

FAPEX_TSD_USER_071_TABLE 

User defined table 071.

FAPEX_TSD_USER_072_TABLE 

User defined table 072.

FAPEX_TSD_USER_073_TABLE 

User defined table 073.

FAPEX_TSD_USER_074_TABLE 

User defined table 074.

FAPEX_TSD_USER_075_TABLE 

User defined table 075.

FAPEX_TSD_USER_076_TABLE 

User defined table 076.

FAPEX_TSD_USER_077_TABLE 

User defined table 077.

FAPEX_TSD_USER_078_TABLE 

User defined table 078.

FAPEX_TSD_USER_079_TABLE 

User defined table 079.

FAPEX_TSD_USER_080_TABLE 

User defined table 080.

FAPEX_TSD_USER_081_TABLE 

User defined table 081.

FAPEX_TSD_USER_082_TABLE 

User defined table 082.

FAPEX_TSD_USER_083_TABLE 

User defined table 083.

FAPEX_TSD_USER_084_TABLE 

User defined table 084.

FAPEX_TSD_USER_085_TABLE 

User defined table 085.

FAPEX_TSD_USER_086_TABLE 

User defined table 086.

FAPEX_TSD_USER_087_TABLE 

User defined table 087.

FAPEX_TSD_USER_088_TABLE 

User defined table 088.

FAPEX_TSD_USER_089_TABLE 

User defined table 089.

FAPEX_TSD_USER_090_TABLE 

User defined table 090.

FAPEX_TSD_USER_091_TABLE 

User defined table 091.

FAPEX_TSD_USER_092_TABLE 

User defined table 092.

FAPEX_TSD_USER_093_TABLE 

User defined table 093.

FAPEX_TSD_USER_094_TABLE 

User defined table 094.

FAPEX_TSD_USER_095_TABLE 

User defined table 095.

FAPEX_TSD_USER_096_TABLE 

User defined table 096.

FAPEX_TSD_USER_097_TABLE 

User defined table 097.

FAPEX_TSD_USER_098_TABLE 

User defined table 098.

FAPEX_TSD_USER_099_TABLE 

User defined table 099.

FAPEX_TSD_USER_100_TABLE 

User defined table 100.

FAPEX_TSD_USER_101_TABLE 

User defined table 101.

FAPEX_TSD_USER_102_TABLE 

User defined table 102.

FAPEX_TSD_USER_103_TABLE 

User defined table 103.

FAPEX_TSD_USER_104_TABLE 

User defined table 104.

FAPEX_TSD_USER_105_TABLE 

User defined table 105.

FAPEX_TSD_USER_106_TABLE 

User defined table 106.

FAPEX_TSD_USER_107_TABLE 

User defined table 107.

FAPEX_TSD_USER_108_TABLE 

User defined table 108.

FAPEX_TSD_USER_109_TABLE 

User defined table 109.

FAPEX_TSD_USER_110_TABLE 

User defined table 110.

FAPEX_TSD_USER_111_TABLE 

User defined table 111.

FAPEX_TSD_USER_112_TABLE 

User defined table 112.

FAPEX_TSD_USER_113_TABLE 

User defined table 113.

FAPEX_TSD_USER_114_TABLE 

User defined table 114.

FAPEX_TSD_USER_115_TABLE 

User defined table 115.

FAPEX_TSD_USER_116_TABLE 

User defined table 116.

FAPEX_TSD_USER_117_TABLE 

User defined table 117.

FAPEX_TSD_USER_118_TABLE 

User defined table 118.

FAPEX_TSD_USER_119_TABLE 

User defined table 119.

FAPEX_TSD_USER_120_TABLE 

User defined table 120.

FAPEX_TSD_USER_121_TABLE 

User defined table 121.

FAPEX_TSD_USER_122_TABLE 

User defined table 122.

FAPEX_TSD_USER_123_TABLE 

User defined table 123.

FAPEX_TSD_USER_124_TABLE 

User defined table 124.

FAPEX_TSD_USER_125_TABLE 

User defined table 125.

FAPEX_TSD_USER_126_TABLE 

User defined table 126.

FAPEX_TSD_USER_127_TABLE 

User defined table 127.


Function Documentation

FAPEXOPENRET_T FAPEX_TSD_Open ( FAPEXOPENARG1_T  id,
FAPEXOPENARG2_T  flags,
FAPEXOPENARG3_T  argptr 
)

open method. This function is called with the systemcall "open".

Parameters:
idThe identifier for TSD block descriptor (common descriptor).
flagsThis parameter indicate a open mode (read only/write only/read-write).
This implementation supports only read-write mode.
argptrargument pointer (FAPEX_TSD_OpenParamStrT)
If descriptor for this 'id' has already been opened, this 'argptr' will be invalid.
Return values:
>=0process OK, new file descriptor is returned.
<0process fails, its value is set to errno.
FAPEXRELRET_T FAPEX_TSD_Close ( FAPEXRELARG1_T  id )

release method. This function is called with the systemcall "close".

Parameters:
idThe identifier for TSD block descriptor (common descriptor).
Return values:
0process OK
<0process fails, its value is set to errno.
FAPEXREADRET_T FAPEX_TSD_Read ( FAPEXREADARG1_T  id,
FAPEXREADARG2_T  buf,
FAPEXREADARG3_T  count 
)

read method. This function is called with the systemcall "read".
This function is waited for until the stream data is prepared.

Parameters:
idThe identifier for TSD channel descriptor (sub descriptor).
bufThe pointer to the destination buffer which is in the user space.
countThe data size.
Return values:
>=0process OK, its value is the number of bytes actually read.
<0process fails, its value is set to errno.
FAPEXWRTRET_T FAPEX_TSD_Write ( FAPEXWRTARG1_T  id,
FAPEXWRTARG2_T  buf,
FAPEXWRTARG3_T  count 
)

write method. This function is called with the systemcall "write".
This function is waited for until the empty area is available in buffer.
This function is supported only when the tsSelect value of FAPEX_TSD_OpenParamStrT / FAPEX_TSD_InputParamStrT structure is FAPEX_TSD_INPUT_LINEAR_AUTO_MODE at FAPEX_TSD_Open() or FAPEX_IOCCOM_TSD_SET_INPUT command with FAPEX_TSD_Ioctl().

Parameters:
idThe identifier for TSD block descriptor (common descriptor).
bufThe pointer to the source buffer which is in the user space.
countThe data size.
Return values:
>=0process OK, its value is the number of bytes actually write.
<0process fails, its value is set to errno.
Note:
There are limitation for using this function as follows.
  • The first data in 'buf' area should be the sync word of TS packet.
  • The size of TS packet should be "188" byte.
  • TS packet data should be registered with big endian format.
FAPEXIOCRET_T FAPEX_TSD_Ioctl ( FAPEXIOCARG1_T  id,
FAPEXIOCARG2_T  cmd,
FAPEXIOCARG3_T  pArg 
)

ioctl method. This function is called with the systemcall "ioctl".

Parameters:
idThe identifier for this descriptor.
cmdThe ioctl command.
pArgThe pointer to the argument of the ioctl command.
Return values:
0process OK
<0process fails, its value is set to errno.

ioctl command(cmd) type:

  • FAPEX_IOCCOM_START
    start TSD channel. (pArg is ignored)
    When id is common descriptor for TSD block, all TSD channels on the ready state in this block will start.
    When id is sub descriptor for a TSD channel on the ready state, only this TSD channel will start.

  • FAPEX_IOCCOM_STOP
    stop TSD channel. (pArg is ignored)
    When id is common descriptor for TSD block, all TSD channels on the running state in this block will stop.
    When id is sub descriptor for a TSD channel on the running state, only this TSD channel will start.

  • FAPEX_IOCCOM_RESET
    reset TSD block STC regulation. (pArg is ignored)
    The id should be common descriptor for TSD block.

  • FAPEX_IOCCOM_TSD_GET_STATUS
    get TSD block/channel status.
    Set pointer of FAPEX_TSD_StatusStrT data field to pArg.
    The status value will be set to this field.
    When id is common descriptor, it is possible to get TSD block status.
    When id is sub descriptor, it is possible to get channel status.

  • FAPEX_IOCCOM_TSD_GET_STC_VALUE
    get STC value (unit of 90kHz).
    Set pointer of uint64_t data to pArg.
    If the appointed TSD block doesn't use STC, the returned value will be 0xFFFFFFFFFFFFFFFF.

FAPEXMMPRET_T FAPEX_TSD_Mmap ( FAPEXMMPARG1_T  start,
FAPEXMMPARG2_T  length,
FAPEXMMPARG3_T  prot,
FAPEXMMPARG4_T  flags,
FAPEXMMPARG5_T  id,
FAPEXMMPARG6_T  offset 
)

mmap method. This function is called with the systemcall "mmap".

tsd_PacketInMapInfoStrT.png
  • Demuxed Buffer Mapping
    When 'id' is TSD channel descriptor (sub descriptor),
    this function supports accessing of the mapped area forTS-Demuxed payload data.
    The readable area is only bufferSize bytes from mapped address.
    This bufferSize is parameter of FAPEX_TSD_PidParamStrT or the FAPEX_TSD_SctFltParamStrT structure.
    If the access of area excluding this is executed, the operation will not be guaranteed.
    After reading of this payload data, the FAPEX_IOCCOM_TSD_SET_BUFFER_READSIZE command with FAPEX_TSD_Ioctl() should be executed.
tsd_ReadInfoStrT.png
Parameters:
startThe memory mapping start pointer.
lengthThe memory mapping size.
protThe desired memory protection.
flagsThe mapping option.
idThe identifier for TSD block descriptor (common descriptor) or TSD channel descriptor (sub descriptor).
offsetThe memory mapping offset value.
Return values:
>0process OK, its value is the mapping address.
<0process fails, its value is set to errno.
FAPEXMUNMPRET_T FAPEX_TSD_Munmap ( FAPEXMMPARG1_T  start,
FAPEXMMPARG2_T  length 
)

munmap method. This function is called with the systemcall "munmap".

Parameters:
startThe memory mapping start pointer.
lengthThe memory mapping size.
Return values:
0process OK
<0process fails, its value is set to errno.


Copyright © 2006-2010 by Fujitsu Semiconductor Europe GmbH
Copyright © 2008-2010 by Fujitsu Semiconductor Limited

Disclaimer:
Please note that the use of this has been based on the terms and conditions of "DK Consent Letter (For Linux)" agreement between you and Fujitsu Semiconductor Limited.
The contents of this document may be revised without prior notice. Contact our sales department for confirmation. The information in this document are presented as is, no license is granted by implication or otherwise.
More...

FUJITSU sales representatives