summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0structs.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-11-28 20:17:58 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-11-28 20:17:58 +0100
commitac6fff2d6d514c4b4d72088114c1f2e42c5968cd (patch)
treec6e7607b5090ceff1e69a1f0fff206b1a7a9c07b /src/fig/FIG0structs.h
parentfedab89cd4625617b3e481f1f59ba0fc97b7305b (diff)
parent6800fb66282525542366bc58df3095b93e3bf8ca (diff)
downloaddabmux-ac6fff2d6d514c4b4d72088114c1f2e42c5968cd.tar.gz
dabmux-ac6fff2d6d514c4b4d72088114c1f2e42c5968cd.tar.bz2
dabmux-ac6fff2d6d514c4b4d72088114c1f2e42c5968cd.zip
Merge branch 'servicelinking' into next
Diffstat (limited to 'src/fig/FIG0structs.h')
-rw-r--r--src/fig/FIG0structs.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/fig/FIG0structs.h b/src/fig/FIG0structs.h
index a1e79d3..3b9bfbf 100644
--- a/src/fig/FIG0structs.h
+++ b/src/fig/FIG0structs.h
@@ -152,6 +152,32 @@ struct FIGtype0_5_short {
uint8_t language;
} PACKED;
+struct FIGtype0_6 {
+ uint8_t LSN_high:4; // Linkage Set Number
+ uint8_t ILS:1; // 0=national / 1=international
+ uint8_t SH:1; // 0=Soft link / 1=Hard link
+ uint8_t LA:1; // Linkage actuator
+ uint8_t IdListFlag:1; // Marks the presence of the list
+
+ uint8_t LSN_low; // Linkage Set Number
+
+ void setLSN(uint16_t LSN) {
+ LSN_high = LSN >> 8;
+ LSN_low = LSN & 0xff;
+ }
+} PACKED;
+
+#define FIG0_6_IDLQ_DAB 0x0
+#define FIG0_6_IDLQ_RDS 0x1
+#define FIG0_6_IDLQ_DRM_AMSS 0x3
+
+struct FIGtype0_6_header {
+ uint8_t num_ids:4; // number of Ids to follow in the list
+ uint8_t rfa:1; // must be 0
+ uint8_t IdLQ:2; // Identifier List Qualifier, see above defines
+ uint8_t rfu:1; // must be 0
+} PACKED;
+
struct FIGtype0_8_short {
uint8_t SCIdS:4;
uint8_t rfa_1:3;