blob: fe594ac03d2dfae84d43267c7fc6c70dbcb187ca [file] [log] [blame]
/*
* Copyright 2013 André Hentschel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _BDATYPES_
#define _BDATYPES_
typedef struct _BDANODE_DESCRIPTOR
{
ULONG ulBdaNodeType;
GUID guidFunction;
GUID guidName;
} BDANODE_DESCRIPTOR, *PBDANODE_DESCRIPTOR;
typedef struct _BDA_SIGNAL_TIMEOUTS
{
ULONG ulCarrierTimeoutMs;
ULONG ulScanningTimeoutMs;
ULONG ulTuningTimeoutMs;
} BDA_SIGNAL_TIMEOUTS, *PBDA_SIGNAL_TIMEOUTS;
typedef struct _BDA_TEMPLATE_CONNECTION
{
ULONG FromNodeType;
ULONG FromNodePinType;
ULONG ToNodeType;
ULONG ToNodePinType;
} BDA_TEMPLATE_CONNECTION, *PBDA_TEMPLATE_CONNECTION;
typedef enum MEDIA_SAMPLE_CONTENT
{
MEDIA_TRANSPORT_PACKET,
MEDIA_ELEMENTARY_STREAM,
MEDIA_MPEG2_PSI,
MEDIA_TRANSPORT_PAYLOAD
} MEDIA_SAMPLE_CONTENT;
typedef struct
{
ULONG ulPID;
MEDIA_SAMPLE_CONTENT MediaSampleContent;
} PID_MAP;
typedef enum MUX_PID_TYPE
{
PID_OTHER = -1,
PID_ELEMENTARY_STREAM,
PID_MPEG2_SECTION_PSI_SI,
} MUX_PID_TYPE;
#include <pshpack2.h>
typedef struct _BDA_MUX_PIDLISTITEM
{
USHORT usPIDNumber;
USHORT usProgramNumber;
MUX_PID_TYPE ePIDType;
} BDA_MUX_PIDLISTITEM, *PBDA_MUX_PIDLISTITEM;
#include <poppack.h>
typedef enum BDA_CONDITIONALACCESS_REQUESTTYPE
{
CONDITIONALACCESS_ACCESS_UNSPECIFIED,
CONDITIONALACCESS_ACCESS_NOT_POSSIBLE,
CONDITIONALACCESS_ACCESS_POSSIBLE,
CONDITIONALACCESS_ACCESS_POSSIBLE_NO_STREAMING_DISRUPTION
} BDA_CONDITIONALACCESS_REQUESTTYPE;
typedef enum BDA_CONDITIONALACCESS_MMICLOSEREASON
{
CONDITIONALACCESS_UNSPECIFIED,
CONDITIONALACCESS_CLOSED_ITSELF,
CONDITIONALACCESS_TUNER_REQUESTED_CLOSE,
CONDITIONALACCESS_DIALOG_TIMEOUT,
CONDITIONALACCESS_DIALOG_FOCUS_CHANGE,
CONDITIONALACCESS_DIALOG_USER_DISMISSED,
CONDITIONALACCESS_DIALOG_USER_NOT_AVAILABLE
} BDA_CONDITIONALACCESS_MMICLOSEREASON;
typedef enum BDA_CONDITIONALACCESS_SESSION_RESULT
{
CONDITIONALACCESS_SUCCESSFULL,
CONDITIONALACCESS_ENDED_NOCHANGE,
CONDITIONALACCESS_ABORTED
} BDA_CONDITIONALACCESS_SESSION_RESULT;
typedef enum BDA_DISCOVERY_STATE
{
BDA_DISCOVERY_UNSPECIFIED,
BDA_DISCOVERY_REQUIRED,
BDA_DISCOVERY_COMPLETE
} BDA_DISCOVERY_STATE;
typedef enum ApplicationTypeType
{
SCTE28_ConditionalAccess,
SCTE28_POD_Host_Binding_Information,
SCTE28_IPService,
SCTE28_NetworkInterface_SCTE55_2,
SCTE28_NetworkInterface_SCTE55_1,
SCTE28_CopyProtection,
SCTE28_Diagnostic,
SCTE28_Undesignated,
SCTE28_Reserved,
} ApplicationTypeType;
typedef enum GuardInterval
{
BDA_GUARD_NOT_SET = -1,
BDA_GUARD_NOT_DEFINED,
BDA_GUARD_1_32,
BDA_GUARD_1_16,
BDA_GUARD_1_8,
BDA_GUARD_1_4,
BDA_GUARD_1_128,
BDA_GUARD_19_128,
BDA_GUARD_19_256,
BDA_GUARD_MAX,
} GuardInterval;
typedef enum TransmissionMode
{
BDA_XMIT_MODE_NOT_SET = -1,
BDA_XMIT_MODE_NOT_DEFINED,
BDA_XMIT_MODE_2K,
BDA_XMIT_MODE_8K,
BDA_XMIT_MODE_4K,
BDA_XMIT_MODE_2K_INTERLEAVED,
BDA_XMIT_MODE_4K_INTERLEAVED,
BDA_XMIT_MODE_1K,
BDA_XMIT_MODE_16K,
BDA_XMIT_MODE_32K,
BDA_XMIT_MODE_MAX,
} TransmissionMode;
typedef enum SpectralInversion
{
BDA_SPECTRAL_INVERSION_NOT_SET = -1,
BDA_SPECTRAL_INVERSION_NOT_DEFINED,
BDA_SPECTRAL_INVERSION_AUTOMATIC,
BDA_SPECTRAL_INVERSION_NORMAL,
BDA_SPECTRAL_INVERSION_INVERTED,
BDA_SPECTRAL_INVERSION_MAX
} SpectralInversion;
typedef enum BinaryConvolutionCodeRate
{
BDA_BCC_RATE_NOT_SET = -1,
BDA_BCC_RATE_NOT_DEFINED,
BDA_BCC_RATE_1_2,
BDA_BCC_RATE_2_3,
BDA_BCC_RATE_3_4,
BDA_BCC_RATE_3_5,
BDA_BCC_RATE_4_5,
BDA_BCC_RATE_5_6,
BDA_BCC_RATE_5_11,
BDA_BCC_RATE_7_8,
BDA_BCC_RATE_1_4,
BDA_BCC_RATE_1_3,
BDA_BCC_RATE_2_5,
BDA_BCC_RATE_6_7,
BDA_BCC_RATE_8_9,
BDA_BCC_RATE_9_10,
BDA_BCC_RATE_MAX,
} BinaryConvolutionCodeRate;
typedef enum Polarisation
{
BDA_POLARISATION_NOT_SET = -1,
BDA_POLARISATION_NOT_DEFINED,
BDA_POLARISATION_LINEAR_H,
BDA_POLARISATION_LINEAR_V,
BDA_POLARISATION_CIRCULAR_L,
BDA_POLARISATION_CIRCULAR_R,
BDA_POLARISATION_MAX,
} Polarisation;
typedef enum FECMethod
{
BDA_FEC_METHOD_NOT_SET = -1,
BDA_FEC_METHOD_NOT_DEFINED,
BDA_FEC_VITERBI,
BDA_FEC_RS_204_188,
BDA_FEC_LDPC,
BDA_FEC_BCH,
BDA_FEC_RS_147_130,
BDA_FEC_MAX,
} FECMethod;
typedef enum ModulationType
{
BDA_MOD_NOT_SET = -1,
BDA_MOD_NOT_DEFINED,
BDA_MOD_16QAM,
BDA_MOD_32QAM,
BDA_MOD_64QAM,
BDA_MOD_80QAM,
BDA_MOD_96QAM,
BDA_MOD_112QAM,
BDA_MOD_128QAM,
BDA_MOD_160QAM,
BDA_MOD_192QAM,
BDA_MOD_224QAM,
BDA_MOD_256QAM,
BDA_MOD_320QAM,
BDA_MOD_384QAM,
BDA_MOD_448QAM,
BDA_MOD_512QAM,
BDA_MOD_640QAM,
BDA_MOD_768QAM,
BDA_MOD_896QAM,
BDA_MOD_1024QAM,
BDA_MOD_QPSK,
BDA_MOD_BPSK,
BDA_MOD_OQPSK,
BDA_MOD_8VSB,
BDA_MOD_16VSB,
BDA_MOD_ANALOG_AMPLITUDE,
BDA_MOD_ANALOG_FREQUENCY,
BDA_MOD_8PSK,
BDA_MOD_RF,
BDA_MOD_16APSK,
BDA_MOD_32APSK,
BDA_MOD_NBC_QPSK,
BDA_MOD_NBC_8PSK,
BDA_MOD_DIRECTV,
BDA_MOD_ISDB_T_TMCC,
BDA_MOD_ISDB_S_TMCC,
BDA_MOD_MAX,
} ModulationType;
typedef enum RollOff
{
BDA_ROLL_OFF_NOT_SET = -1,
BDA_ROLL_OFF_NOT_DEFINED,
BDA_ROLL_OFF_20,
BDA_ROLL_OFF_25,
BDA_ROLL_OFF_35,
BDA_ROLL_OFF_MAX,
} RollOff;
typedef enum Pilot
{
BDA_PILOT_NOT_SET = -1,
BDA_PILOT_NOT_DEFINED,
BDA_PILOT_OFF,
BDA_PILOT_ON,
BDA_PILOT_MAX,
} Pilot;
#endif /* _BDATYPES_ */