DtvKit_ATSC3.0
Loading...
Searching...
No Matches
atsc_types.h
Go to the documentation of this file.
1/*******************************************************************************
2 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3 *
4 * This file is part of a DTVKit Software Component
5 * You are permitted to copy, modify or distribute this file subject to the terms
6 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
7 *
8 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
9 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
10 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
11 *
12 * If you or your organisation is not a member of DTVKit then you have access
13 * to this source code outside of the terms of the licence agreement
14 * and you are expected to delete this and any associated files immediately.
15 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
16 *******************************************************************************/
17
18#ifndef __ATSC_TYPES_H__
19#define __ATSC_TYPES_H__
20
21#include <inttypes.h>
22#include <functional>
23#include <stdio.h>
24#include <unistd.h>
25#include <string.h>
26#include <vector>
27#include <string>
28#include <map>
29
31
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41#include "atsc_basetype.h"
42
43
47#define ATSCCORE_ESG_URLS "atsc30core.esg.urls"
48
52#define ATSCCORE_ESG_URLS_QUERY "atsc30core.esg.urls.query"
53
57#define ATSCCORE_ESG_URLS_CLEAR "atsc30core.esg.clear"
58
62#define ATSCCORE_SLS_URLS "atsc30core.sls.urls"
63
67#define ATSCCORE_SLS_URLS_QUERY "atsc30core.sls.urls.query"
68
72#define ATSCCORE_NRT_URLS "atsc30core.nrt.urls"
73
77#define ATSCCORE_NRT_URLS_QUERY "atsc30core.nrt.urls.query"
78
82#define ATSCCORE_APP_URLS "atsc30core.app.urls"
83
87#define ATSCCORE_APP_URLS_QUERY "atsc30core.app.urls.query"
88
92#define ATSCCORE_HELD_URLS "atsc30core.held.urls"
93
97#define ATSCCORE_HELD_URLS_QUERY "atsc30core.held.urls.query"
98
102#define ATSCCORE_HELD_MSGS "atsc30core.held.msgs"
103
107#define ATSCCORE_HELD_MSGS_QUERY "atsc30core.held.msgs.query"
108
112#define ATSCCORE_HELD_MSGS_CLEAR "atsc30core.held.msgs.clear"
113
117#define ATSCCORE_FILES_CLEAR "atsc30core.files.clear"
118
122#define ATSCCORE_FILES_REMOVE "atsc30core.files.remove"
123
127#define ATSCCORE_DOWNLOAD_STATUS "atsc30core.download.status"
128
132#define ATSCCORE_DOWNLOAD_STATUS_QUERY "atsc30core.download.status.query"
133
137#define ATSCCORE_SUBSCRIBE "atsc30core.subscribe"
138
142#define ATSCCORE_UNSUBSCRIBE "atsc30core.unsubscribe"
143
147#define ATSCCORE_OBJECTS_LIST "atsc30core.objects.list"
148
152#define ATSCCORE_SUBSCRIBE_LIST "atsc30core.subscribe.list"
153
157#define ATSCCORE_STORAGE "atsc30core.storage"
158
162typedef enum{
165 eMethodEsgUrls = 0,
169 eMethodSlsUrls = 3,
172 eMethodNrtUrls = 5,
175 eMethodAppUrls = 7,
178 eMethodHeldUrls = 9,
181 eMethodHeldMsgs = 11,
188 eMethodDownloadStatus = 16,
199
210
222
233
237typedef enum
238{
241 eStandardATSC30 = 1 << 1
243
249
260
271
281
291
292typedef struct{
293 int iDemod;
294 int iLock;
295 int iCh;
298
302typedef struct {
303 int32_t iCh;
304 int32_t iId;
305 int32_t iEas;
306 int32_t iSnr;
307 int32_t iRssi;
308 int32_t iLock;
309 int32_t iFreq;
310 int32_t iPlpId;
311 int32_t iActive;
312 int32_t iBitRate;
313 int32_t iRecoding;
314 int32_t iModel;
319 timespec Time;
321
325typedef struct {
326 int32_t iCh;
327 int32_t iPlp;
328 int32_t iFreq;
329 int32_t iTunerId;
334
338typedef struct{
339 bool bRun;
340 bool bScan;
344 int32_t iCh;
345 int32_t iFreq;
346 int32_t iPlpId;
347 int32_t iLock;
348 int32_t iTunerId;
349 int32_t iBandwidth;
353}sFeProp_t;
354
358typedef struct{
360 uint8_t sHidden[16];
361 uint8_t sReserved[16];
362 uint8_t sReserved2[16];
363 uint8_t sModulation[16];
364 uint8_t sEtmLocation[16];
365 uint8_t sServiceType[16];
366 uint8_t sAccessControlled[16];
368 uint16_t sMajor[16];
369 uint16_t sMinor[16];
370 uint16_t sSourceId[16];
371 uint16_t sProgramNum[16];
372 uint16_t sChannelTsid[16];
373 uint16_t sDescriptorsLength[16];
375 char sShortName[16][14];
376 char sDescriptors[16][256];
378 uint32_t sCarrierFrequency[16];
380 timespec tTime;
382
386typedef struct{
387 int32_t iProtocol;
388 int32_t iCategory;
389 int32_t iServiceId;
391 void *pParser;
392}sParser_t;
393
397typedef struct {
398 int32_t iAt1Start;
399 int32_t iAt1End;
400 int32_t iAt3Start;
401 int32_t iAt3End;
402 int32_t iTunerId;
403 int32_t iPlpId;
404 int32_t iRegionId;
407
411typedef struct{
412 int32_t iMethod;
413 int32_t iId;
414 std::string sParams;
416
421typedef struct
422{
423 char sWifiMac[6];
424 char sEthMac[6];
426 uint8_t sWifiAddr[4];
427 uint8_t sEthAddr[4];
429
433typedef struct {
434 int32_t iStartCh;
435 int32_t iEndCh;
436 int32_t iId;
437 int32_t iDemod;
438 int32_t iCurrCh;
439 int32_t iPlpId;
440 int32_t iLock;
441 int32_t iSnr;
442 int32_t iRssi;
444
448typedef struct{
450 int32_t iExpect;
452 char sMethod[32];
453 char sUri[256];
454 char sContentLocation[256];
456
460typedef struct
461{
462 int32_t iCount;
463 int32_t sDemods[ATSCCORE_FRONTEND_MAX];
464 int32_t sStartCh[ATSCCORE_FRONTEND_MAX];
465 int32_t sEndCh[ATSCCORE_FRONTEND_MAX];
467
471typedef struct
472{
473 uint8_t iRatingValue;
474 char slangAbr[64];
475 char slangStrn[64];
476}sRating_t;
477
481typedef struct
482{
488 char sDimensionGraduate[16];
489 char sDimensionTitle[128];
491 sRating_t sRating[128];
493
497typedef struct
498{
500 char sRegionIdText[32];
501 RrtDimension_t sDimension[32];
503
507typedef struct {
508 RrtElement_t sRrtTable[8];
510
514typedef struct {
515 bool bLeap59;
516 bool bLeap61;
520 uint8_t iDstHour;
523 uint16_t iPtpPrepend;
525 char sUtcLocalOffset[64];
527
531typedef struct
532{
533 int32_t iHaat;
534 uint32_t iHeading;
535 FLOAT_32 fStrength;
537
541typedef struct
542{
543 int32_t iElevation;
547 uint16_t iOtherBsidRf;
548 uint16_t iOtherBsid;
550 FLOAT_32 fLatitude;
551 FLOAT_32 fLongtitude;
553 sDirectional_t sDirectional[32]; /* Structure represents the directional parameters for a signal. */
554}sOtherRf_t;
559typedef struct
560{
561 bool bHidden;
567 int32_t iServiceId;
574 char sGlobalServiceID[256];
575 char sDrmSystemID[256];
576 char sConfiguration[256];
577 char sServiceName[256];
579
588
592typedef struct
593{
597 int32_t iSlsProtocol;
599 char sSlsDestinationIpAddress[256];
600 char sSlsSourceIpAddress[256];
602
606typedef struct
607{
608 uint8_t cSvcUrlType;
610
614typedef struct
615{
616 uint8_t cType;
618
622typedef struct{
626 char sSaCapability[256];
627 char sSaCapabilityStringCode[256];
628 char sBooleanOp[2];
630 timespec stTime;
632 sSvcServiceAttr_t sSvcServiceAttr; /* Structure to store attributes of a service.*/
633 sSvcSimulcastTSID_t sSvcSimulcastTsid; /* Structure to store simulcast transport stream IDs. */
634 sBroadcastSvcSignaling_t sBrdcastSvcSignal; /* Store broadcast service signaling information. */
635 sSvcInetUrl_t sScvInetUrl; /* Represents an Internet URL service. */
636 sOtherBsid_t sOtherBsid; /* Structure represents an Other BSID. */
637 sOtherRf_t sOtherRf[32]; /* Represents the RF (Radio Frequency) parameters for another BSID. */
639
643typedef struct
644{
645 uint8_t cSltUrlType;
647
651typedef struct{
652 int32_t iBsid;
653 int32_t iVersion;
656 uint32_t iSourceIp;
658 timespec stTime;
660 sSltService_t sService[32];
662
663typedef struct {
664 int32_t iServiceId;
665 int32_t iMajorCh;
666 int32_t iMinorCh;
667 int32_t iPhyCh;
669
673typedef std::function<void(sFeStatus_t)> FeStatusCbFunc;
674
678typedef std::function<void(sFeParams_t)> FeParamsCbFunc;
679
683typedef std::function<void(std::string)> OnScreenNotify;
684
685#ifdef __cplusplus
686};
687#endif
688
689#endif /* __ATSC_TYPES_H__ */
eDemod_t
Definition atsc_types.h:215
@ eDemod8VSB
Definition atsc_types.h:216
@ eDemodATSC30
Definition atsc_types.h:219
@ eDemodMax
Definition atsc_types.h:220
@ eDemod64QAM
Definition atsc_types.h:217
@ eDemod256QAM
Definition atsc_types.h:218
eHttpType_t
Definition atsc_types.h:253
@ eHttpTypePost
Definition atsc_types.h:255
@ eHttpTypeGet
Definition atsc_types.h:254
@ eHttpTypeNoOp
Definition atsc_types.h:258
@ eHttpTypeDelete
Definition atsc_types.h:257
@ eHttpTypePut
Definition atsc_types.h:256
eStandard_t
Definition atsc_types.h:238
@ eStandardATSC30
Definition atsc_types.h:241
@ eStandardATSC10
Definition atsc_types.h:240
@ eStandardNone
Definition atsc_types.h:239
eContentType_t
Definition atsc_types.h:275
@ eContentTypeXml
Definition atsc_types.h:277
@ eContentTypeTextHtml
Definition atsc_types.h:279
@ eContentTypeJson
Definition atsc_types.h:276
@ eContentTypeTextPlain
Definition atsc_types.h:278
eJsonMethod_t
Definition atsc_types.h:162
@ eMethodHeldQueryUrls
Definition atsc_types.h:179
@ eMethodAtscListSubscribe
Definition atsc_types.h:195
@ eMethodQueryDownloadStatus
Definition atsc_types.h:189
@ eMethodAtscListObjects
Definition atsc_types.h:194
@ eMethodHeldQueryMsgs
Definition atsc_types.h:182
@ eMethodClearFiles
Definition atsc_types.h:185
@ eMethodAtscSubscribe
Definition atsc_types.h:191
@ eMethodNoMethod
Definition atsc_types.h:163
@ eMethodAtscUnSubscribe
Definition atsc_types.h:192
@ eMethodAppQueryUrls
Definition atsc_types.h:176
@ eMethodNrtQueryUrls
Definition atsc_types.h:173
@ eMethodEsgQueryUrls
Definition atsc_types.h:166
@ eMethodSlsQueryUrls
Definition atsc_types.h:170
@ eMethodHeldClearMsgs
Definition atsc_types.h:183
@ eMethodAtscStorage
Definition atsc_types.h:197
@ eMethodRemoveFiles
Definition atsc_types.h:186
@ eMethodEsgClear
Definition atsc_types.h:167
eRegion_t
Definition atsc_types.h:227
@ eRegionIndia
Definition atsc_types.h:230
@ eRegionKorea
Definition atsc_types.h:229
@ eRegionUS
Definition atsc_types.h:228
@ eRegionMax
Definition atsc_types.h:231
eHttpResponseCode_t
Definition atsc_types.h:264
@ eHttpResponseCodeAccepted
Definition atsc_types.h:268
@ eHttpResponseCodeNotFound
Definition atsc_types.h:269
@ eHttpResponseCodeOk
Definition atsc_types.h:266
@ eHttpResponseCodeCreated
Definition atsc_types.h:267
@ eHttpResponseCodeContinue
Definition atsc_types.h:265
eScanResult
Definition atsc_types.h:244
@ eScanInProgress
Definition atsc_types.h:247
@ eScanfailed
Definition atsc_types.h:246
@ eScanScuccess
Definition atsc_types.h:245
eATSCResult_t
Definition atsc_types.h:203
@ ATSC_INVALID
Definition atsc_types.h:204
@ ATSC_OK
Definition atsc_types.h:205
@ ATSC_NOK
Definition atsc_types.h:206
@ ATSC_INVALID_FRONTEND_INSTANCE
Definition atsc_types.h:207
@ ATSC_NOT_IMPLEMENTED
Definition atsc_types.h:208
eTunerScanType_t
Definition atsc_types.h:286
@ eTunerScanStop
Definition atsc_types.h:288
@ eTunerScanInfo
Definition atsc_types.h:289
@ eTunerScanStart
Definition atsc_types.h:287
Definition atsc_types.h:482
uint8_t iDimensionIdex
Definition atsc_types.h:486
uint8_t iDimensionLevels
Definition atsc_types.h:485
bool bDimensionGraduate
Definition atsc_types.h:483
Definition atsc_types.h:498
uint8_t iRegionIdentifier
Definition atsc_types.h:499
Definition atsc_types.h:593
int32_t iSlsMinorProtocolVersion
Definition atsc_types.h:595
int32_t iSlsDestinationUdpPort
Definition atsc_types.h:594
int32_t iSlsProtocol
Definition atsc_types.h:597
int32_t iSlsMajorProtocolVersion
Definition atsc_types.h:596
Definition atsc_types.h:532
FLOAT_32 fStrength
Definition atsc_types.h:535
int32_t iHaat
Definition atsc_types.h:533
uint32_t iHeading
Definition atsc_types.h:534
Definition atsc_types.h:325
int32_t iTunerId
Definition atsc_types.h:329
int32_t iFreq
Definition atsc_types.h:328
eDemod_t iDemod
Definition atsc_types.h:331
eRegion_t iRegionId
Definition atsc_types.h:332
int32_t iPlp
Definition atsc_types.h:327
int32_t iCh
Definition atsc_types.h:326
Definition atsc_types.h:338
bool bScanning
Definition atsc_types.h:342
eDemod_t iDemod
Definition atsc_types.h:351
bool bScan
Definition atsc_types.h:340
int32_t iTunerId
Definition atsc_types.h:348
int32_t iFreq
Definition atsc_types.h:345
bool bChChange
Definition atsc_types.h:341
int32_t iCh
Definition atsc_types.h:344
bool bRun
Definition atsc_types.h:339
int32_t iPlpId
Definition atsc_types.h:346
int32_t iBandwidth
Definition atsc_types.h:349
eRegion_t iRegionId
Definition atsc_types.h:352
int32_t iLock
Definition atsc_types.h:347
Definition atsc_types.h:302
int32_t iRssi
Definition atsc_types.h:307
int32_t iRecoding
Definition atsc_types.h:313
int32_t iFreq
Definition atsc_types.h:309
int32_t iLock
Definition atsc_types.h:308
int32_t iModel
Definition atsc_types.h:314
int32_t iSnr
Definition atsc_types.h:306
int32_t iPlpId
Definition atsc_types.h:310
eRegion_t iRegionId
Definition atsc_types.h:317
int32_t iActive
Definition atsc_types.h:311
eDemod_t iDemod
Definition atsc_types.h:316
int32_t iId
Definition atsc_types.h:304
int32_t iBitRate
Definition atsc_types.h:312
int32_t iCh
Definition atsc_types.h:303
timespec Time
Definition atsc_types.h:319
int32_t iEas
Definition atsc_types.h:305
Definition atsc_types.h:448
int32_t iContentLength
Definition atsc_types.h:449
int32_t iExpect
Definition atsc_types.h:450
Definition atsc_types.h:411
int32_t iMethod
Definition atsc_types.h:412
std::string sParams
Definition atsc_types.h:414
int32_t iId
Definition atsc_types.h:413
Definition atsc_types.h:358
uint8_t cSectionCount
Definition atsc_types.h:359
timespec tTime
Definition atsc_types.h:380
Definition atsc_types.h:422
Definition atsc_types.h:615
uint8_t cType
Definition atsc_types.h:616
Definition atsc_types.h:542
FLOAT_32 fLongtitude
Definition atsc_types.h:551
int32_t iElevation
Definition atsc_types.h:543
int32_t iEffectiveRadiatedPower
Definition atsc_types.h:544
uint16_t iOtherBsidRf
Definition atsc_types.h:547
uint16_t iOtherBsid
Definition atsc_types.h:548
int32_t iOtherDirectionalCount
Definition atsc_types.h:545
FLOAT_32 fLatitude
Definition atsc_types.h:550
Definition atsc_types.h:386
int32_t iCategory
Definition atsc_types.h:388
void * pParser
Definition atsc_types.h:391
int32_t iProtocol
Definition atsc_types.h:387
int32_t iServiceId
Definition atsc_types.h:389
Definition atsc_types.h:472
uint8_t iRatingValue
Definition atsc_types.h:473
Definition atsc_types.h:507
Definition atsc_types.h:433
int32_t iEndCh
Definition atsc_types.h:435
int32_t iId
Definition atsc_types.h:436
int32_t iCurrCh
Definition atsc_types.h:438
int32_t iPlpId
Definition atsc_types.h:439
int32_t iStartCh
Definition atsc_types.h:434
int32_t iLock
Definition atsc_types.h:440
int32_t iSnr
Definition atsc_types.h:441
int32_t iDemod
Definition atsc_types.h:437
int32_t iRssi
Definition atsc_types.h:442
Definition atsc_types.h:292
int iServices
Definition atsc_types.h:296
int iDemod
Definition atsc_types.h:293
int iLock
Definition atsc_types.h:294
int iCh
Definition atsc_types.h:295
Definition atsc_types.h:397
int32_t iAt3Start
Definition atsc_types.h:400
int32_t iTunerId
Definition atsc_types.h:402
int32_t iPlpId
Definition atsc_types.h:403
int32_t iRegionId
Definition atsc_types.h:404
int32_t iAt3End
Definition atsc_types.h:401
int32_t iAt1Start
Definition atsc_types.h:398
eDemod_t iDemod
Definition atsc_types.h:405
int32_t iAt1End
Definition atsc_types.h:399
Definition atsc_types.h:651
timespec stTime
Definition atsc_types.h:658
int32_t iNumberOfService
Definition atsc_types.h:654
int32_t iBsid
Definition atsc_types.h:652
sSltInetUrl_t sSltInetUrl
Definition atsc_types.h:659
uint32_t iSourceIp
Definition atsc_types.h:656
int32_t iVersion
Definition atsc_types.h:653
Definition atsc_types.h:644
uint8_t cSltUrlType
Definition atsc_types.h:645
Definition atsc_types.h:622
timespec stTime
Definition atsc_types.h:630
int32_t iCapabilityBytes
Definition atsc_types.h:623
int32_t iOtherRfCount
Definition atsc_types.h:624
Definition atsc_types.h:607
uint8_t cSvcUrlType
Definition atsc_types.h:608
Definition atsc_types.h:560
int32_t iMinorChannel
Definition atsc_types.h:569
bool bBroadbandAccessRequired
Definition atsc_types.h:563
bool bSvcprotected
Definition atsc_types.h:565
bool bHideInGuide
Definition atsc_types.h:562
int32_t iMajorChannel
Definition atsc_types.h:568
int32_t iServiceCategory
Definition atsc_types.h:570
int32_t iServiceId
Definition atsc_types.h:567
bool bHidden
Definition atsc_types.h:561
uint8_t cSltSvcSeqNum
Definition atsc_types.h:572
bool bEssential
Definition atsc_types.h:564
Definition atsc_types.h:584
int iSvcSimulcastMajorChNum
Definition atsc_types.h:585
int iSvcSimulcastMinorChNum
Definition atsc_types.h:586
Definition atsc_types.h:514
uint8_t iDstHour
Definition atsc_types.h:520
bool bDstStatus
Definition atsc_types.h:517
int16_t iCurrentOffset
Definition atsc_types.h:522
bool bLeap61
Definition atsc_types.h:516
bool bLeap59
Definition atsc_types.h:515
uint16_t iPtpPrepend
Definition atsc_types.h:523
uint8_t iDstDayOfMonth
Definition atsc_types.h:519
Definition atsc_types.h:461
int32_t iCount
Definition atsc_types.h:462
Definition atsc_types.h:663
int32_t iPhyCh
Definition atsc_types.h:667
int32_t iMinorCh
Definition atsc_types.h:666
int32_t iServiceId
Definition atsc_types.h:664
int32_t iMajorCh
Definition atsc_types.h:665