#ifndef _ATSC_SERVICE_LOCATION_H
#define _ATSC_SERVICE_LOCATION_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct atsc_desc_service_location_elementary {
uint8_t stream_type;
} __attribute__((packed));
struct atsc_desc_service_location {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
struct atsc_desc_service_location_elementary *elementary;
#ifndef _CA_H
#define _CA_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_ca {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint16_t ca_id;
union {
#ifndef _CA_IDENTIFIER_H
#define _CA_IDENTIFIER_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_ca_identifier {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t caid_count;
uint16_t *caids;
#ifndef _CABLE_DELIVERY_H
#define _CABLE_DELIVERY_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_cable_delivery {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint32_t frequency;
union {
#ifndef _DESC_EVENT_EXTENDED_H
#define _DESC_EVENT_EXTENDED_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_event_extended {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
union {
struct {
#ifndef _DESC_EVENT_SHORT_H
#define _DESC_EVENT_SHORT_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_event_short {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
unsigned char language[4];
char *name;
#ifndef _EXTENSION_DESC_H
#define _EXTENSION_DESC_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_v5_fe_parms;
};
struct dvb_extension_descriptor {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t extension_code;
#ifndef _DESC_FREQUENCY_LIST_H
#define _DESC_FREQUENCY_LIST_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_frequency_list {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t frequencies;
uint32_t *frequency;
#ifndef _HIERARCHY_H
#define _HIERARCHY_H
-#include <stdint.h>
+#include <libdvbv5/descriptors.h>
struct dvb_desc_hierarchy {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t hierarchy_type:4;
uint8_t reserved:4;
#ifndef _ISDBT_DELIVERY_H
#define _ISDBT_DELIVERY_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct isdbt_desc_terrestrial_delivery_system {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
+
uint16_t *frequency;
unsigned num_freqs;
#ifndef _DESC_LANGUAGE_H
#define _DESC_LANGUAGE_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_language {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
unsigned char language[4];
uint8_t audio_type;
#ifndef _LCN_DESC_H
#define _LCN_DESC_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_logical_channel_number {
uint16_t service_id;
} __attribute__((packed));
struct dvb_desc_logical_channel {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
struct dvb_desc_logical_channel_number *lcn;
} __attribute__((packed));
#ifndef _DESC_NETWORK_NAME_H
#define _DESC_NETWORK_NAME_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_network_name {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
char *network_name;
char *network_name_emph;
#ifndef _PARTIAL_RECEPTION_H
#define _PARTIAL_RECEPTION_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct isdb_partial_reception_service_id {
uint16_t service_id;
} __attribute__((packed));
struct isdb_desc_partial_reception {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
struct isdb_partial_reception_service_id *partial_reception;
} __attribute__((packed));
#ifndef _SAT_H
#define _SAT_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_sat {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint32_t frequency;
uint16_t orbit;
#ifndef _DESC_SERVICE_H
#define _DESC_SERVICE_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_service {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t service_type;
char *name;
#ifndef _DESC_SERVICE_LIST_H
#define _DESC_SERVICE_LIST_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_service_list_table {
uint16_t service_id;
} __attribute__((packed));
struct dvb_desc_service_list {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
//struct dvb_desc_service_list_table services[];
} __attribute__((packed));
#ifndef _SERVICE_LOCATION_H
#define _SERVICE_LOCATION_H
-#include <stdint.h>
+#include <libdvbv5/descriptors.h>
struct dvb_desc_service_location_element {
uint8_t stream_type;
} __attribute__((packed));
struct dvb_desc_service_location {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
union {
uint16_t bitfield;
#ifndef _T2_DELIVERY_H
#define _T2_DELIVERY_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_t2_delivery_subcell {
uint8_t cell_id_extension;
} __attribute__((packed));
struct dvb_desc_t2_delivery {
+ /* extended descriptor */
+
uint8_t plp_id;
uint16_t system_id;
union {
#ifndef _TERRESTRIAL_DELIVERY_H
#define _TERRESTRIAL_DELIVERY_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_terrestrial_delivery {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint32_t centre_frequency;
uint8_t reserved_future_use1:2;
#ifndef _TS_INFO_H
#define _TS_INFO_H
-#include <stdint.h>
-#include <unistd.h> /* ssize_t */
+#include <libdvbv5/descriptors.h>
struct dvb_desc_ts_info_transmission_type {
uint8_t transmission_type_info;
} __attribute__((packed));
struct dvb_desc_ts_info {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
char *ts_name, *ts_name_emph;
struct dvb_desc_ts_info_transmission_type transmission_type;
b = ntohl(b); \
} while (0)
+#define DVB_DESC_HEADER() \
+ uint8_t type; \
+ uint8_t length; \
+ struct dvb_desc *next
+
struct dvb_desc {
- uint8_t type;
- uint8_t length;
- struct dvb_desc *next;
+ DVB_DESC_HEADER();
uint8_t data[];
} __attribute__((packed));