/usr/x86_64-w64-mingw32/include/mpeg2structs.h is in mingw-w64-x86-64-dev 2.0.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | /**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#include <mpeg2data.h>
#include <mpeg2bits.h>
#ifndef __INC_MPEG2STRUCTS__
#define __INC_MPEG2STRUCTS__
typedef enum _MPEG_CONTEXT_TYPE {
MPEG_CONTEXT_BCS_DEMUX = 0,
MPEG_CONTEXT_WINSOCK
} MPEG_CONTEXT_TYPE;
typedef enum _MPEG_CURRENT_NEXT_BIT {
MPEG_SECTION_IS_NEXT = 0,
MPEG_SECTION_IS_CURRENT = 1
} MPEG_CURRENT_NEXT_BIT;
typedef enum _MPEG_REQUEST_TYPE {
MPEG_RQST_UNKNOWN = 0,
MPEG_RQST_GET_SECTION,
MPEG_RQST_GET_SECTION_ASYNC,
MPEG_RQST_GET_TABLE,
MPEG_RQST_GET_TABLE_ASYNC,
MPEG_RQST_GET_SECTIONS_STREAM,
MPEG_RQST_GET_PES_STREAM,
MPEG_RQST_GET_TS_STREAM,
MPEG_RQST_START_MPE_STREAM
} MPEG_REQUEST_TYPE;
typedef struct _DSMCC_ELEMENT {
PID pid;
BYTE bComponentTag;
DWORD dwCarouselId;
DWORD dwTransactionId;
struct _DSMCC_ELEMENT *pNext;
} DSMCC_ELEMENT, *PDSMCC_ELEMENT;
typedef struct {
WINBOOL fSpecifyProtocol;
BYTE Protocol;
WINBOOL fSpecifyType;
BYTE Type;
WINBOOL fSpecifyMessageId;
WORD MessageId;
WINBOOL fSpecifyTransactionId;
WINBOOL fUseTrxIdMessageIdMask;
DWORD TransactionId;
WINBOOL fSpecifyModuleVersion;
BYTE ModuleVersion;
WINBOOL fSpecifyBlockNumber;
WORD BlockNumber;
WINBOOL fGetModuleCall;
WORD NumberOfBlocksInModule;
} DSMCC_FILTER_OPTIONS;
typedef struct _MPEG_HEADER_BITS_MIDL {
WORD Bits;
} MPEG_HEADER_BITS_MIDL;
typedef struct _MPEG_HEADER_VERSION_BITS_MIDL {
BYTE Bits;
} MPEG_HEADER_VERSION_BITS_MIDL;
typedef struct _DSMCC_SECTION {
TID TableId;
__C89_NAMELESS union {
MPEG_HEADER_BITS_MIDL S;
WORD W;
} Header;
WORD TableIdExtension;
__C89_NAMELESS union {
MPEG_HEADER_VERSION_BITS_MIDL S;
BYTE B;
} Version;
BYTE SectionNumber;
BYTE LastSectionNumber;
BYTE ProtocolDiscriminator;
BYTE DsmccType;
WORD MessageId;
DWORD TransactionId;
BYTE Reserved;
BYTE AdaptationLength;
WORD MessageLength;
BYTE RemainingData[1];
} DSMCC_SECTION, *PDSMCC_SECTION;
typedef struct _DVB_EIT_FILTER_OPTIONS {
WINBOOL fSpecifySegment;
BYTE bSegment;
} DVB_EIT_FILTER_OPTIONS, *PDVB_EIT_FILTER_OPTIONS;
typedef struct {
TID TableId;
__C89_NAMELESS union {
MPEG_HEADER_BITS_MIDL S;
WORD W;
} Header;
WORD TableIdExtension;
__C89_NAMELESS union {
MPEG_HEADER_VERSION_BITS_MIDL S;
BYTE B;
} Version;
BYTE SectionNumber;
BYTE LastSectionNumber;
BYTE RemainingData[1];
} LONG_SECTION, *PLONG_SECTION;
typedef struct _MPE_ELEMENT {
PID pid;
BYTE bComponentTag;
struct _MPE_ELEMENT *pNext;
} MPE_ELEMENT, *PMPE_ELEMENT;
typedef struct _MPEG2_FILTER {
BYTE bVersionNumber;
WORD wFilterSize;
WINBOOL fUseRawFilteringBits;
BYTE Filter[16];
BYTE Mask[16];
WINBOOL fSpecifyTableIdExtension;
WORD TableIdExtension;
WINBOOL fSpecifyVersion;
BYTE Version;
WINBOOL fSpecifySectionNumber;
BYTE SectionNumber;
WINBOOL fSpecifyCurrentNext;
WINBOOL fNext;
WINBOOL fSpecifyDsmccOptions;
DSMCC_FILTER_OPTIONS Dsmcc;
WINBOOL fSpecifyAtscOptions;
ATSC_FILTER_OPTIONS Atsc;
} MPEG2_FILTER, *PMPEG2_FILTER;
typedef struct {
BYTE bVersionNumber;
WORD wFilterSize;
WINBOOL fUseRawFilteringBits;
BYTE Filter[16];
BYTE Mask[16];
WINBOOL fSpecifyTableIdExtension;
WORD TableIdExtension;
WINBOOL fSpecifyVersion;
BYTE Version;
WINBOOL fSpecifySectionNumber;
BYTE SectionNumber;
WINBOOL fSpecifyCurrentNext;
WINBOOL fNext;
WINBOOL fSpecifyDsmccOptions;
DSMCC_FILTER_OPTIONS Dsmcc;
WINBOOL fSpecifyAtscOptions;
ATSC_FILTER_OPTIONS Atsc;
WINBOOL fSpecifyDvbEitOptions;
DVB_EIT_FILTER_OPTIONS Dvb_Eit;
} MPEG2_FILTER2, *PMPEG2_FILTER2;
typedef struct _MPEG_BCS_DEMUX {
DWORD AVMGraphId;
} MPEG_BCS_DEMUX;
typedef struct _MPEG_WINSOCK {
DWORD AVMGraphId;
} MPEG_WINSOCK;
typedef struct _MPEG_CONTEXT {
MPEG_CONTEXT_TYPE Type;
__C89_NAMELESS union {
MPEG_BCS_DEMUX Demux;
MPEG_WINSOCK Winsock;
} U;
} MPEG_CONTEXT, *PMPEG_CONTEXT;
typedef struct _MPEG_DATE {
BYTE Date;
BYTE Month;
WORD Year;
} MPEG_DATE;
typedef struct _MPEG_TIME {
BYTE Hours;
BYTE Minutes;
BYTE Seconds;
} MPEG_TIME;
typedef struct _MPEG_DATE_AND_TIME {
MPEG_DATE D;
MPEG_TIME T;
} MPEG_DATE_AND_TIME;
typedef MPEG_TIME MPEG_DURATION;
typedef struct {
TID TableId;
__C89_NAMELESS union {
MPEG_HEADER_BITS_MIDL S;
WORD W;
} Header;
BYTE SectionData[1];
} SECTION, *PSECTION;
typedef struct _MPEG_RQST_PACKET {
DWORD dwLength;
PSECTION pSection;
} MPEG_RQST_PACKET, *PMPEG_RQST_PACKET;
typedef struct _MPEG_PACKET_LIST {
WORD wPacketCount;
PMPEG_RQST_PACKET PacketList[1];
} MPEG_PACKET_LIST, *PMPEG_PACKET_LIST;
typedef struct _MPEG_STREAM_BUFFER {
HRESULT hr;
DWORD dwDataBufferSize;
DWORD dwSizeOfDataRead;
BYTE *pDataBuffer;
} MPEG_STREAM_BUFFER, *PMPEG_STREAM_BUFFER;
#endif /*__INC_MPEG2STRUCTS__*/
|