Updated to v4.4.1 kernel headers.

Small modifications needed to allow compilation with the new headers:

- Manually modify bionic/libc/kernel/uapi/asm-mips/asm/siginfo.h to
  remove the uapi from the include.
- PR_XXX defines are now available for mips, so remove the definition
  from linker_mips.cpp.

Bug: 23789423
Change-Id: I6dc8a03b012426d3a937db15cb24d3a50fab5a8c
diff --git a/libc/kernel/uapi/linux/dvb/dmx.h b/libc/kernel/uapi/linux/dvb/dmx.h
index 8e1d718..99da210 100644
--- a/libc/kernel/uapi/linux/dvb/dmx.h
+++ b/libc/kernel/uapi/linux/dvb/dmx.h
@@ -22,117 +22,118 @@
 #include <time.h>
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define DMX_FILTER_SIZE 16
-typedef enum {
+enum dmx_output {
   DMX_OUT_DECODER,
   DMX_OUT_TAP,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   DMX_OUT_TS_TAP,
   DMX_OUT_TSDEMUX_TAP
-} dmx_output_t;
-typedef enum {
+};
+typedef enum dmx_output dmx_output_t;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum dmx_input {
   DMX_IN_FRONTEND,
   DMX_IN_DVR
 } dmx_input_t;
-typedef enum dmx_ts_pes {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum dmx_ts_pes {
   DMX_PES_AUDIO0,
   DMX_PES_VIDEO0,
   DMX_PES_TELETEXT0,
-  DMX_PES_SUBTITLE0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_PES_SUBTITLE0,
   DMX_PES_PCR0,
   DMX_PES_AUDIO1,
   DMX_PES_VIDEO1,
-  DMX_PES_TELETEXT1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_PES_TELETEXT1,
   DMX_PES_SUBTITLE1,
   DMX_PES_PCR1,
   DMX_PES_AUDIO2,
-  DMX_PES_VIDEO2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_PES_VIDEO2,
   DMX_PES_TELETEXT2,
   DMX_PES_SUBTITLE2,
   DMX_PES_PCR2,
-  DMX_PES_AUDIO3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_PES_AUDIO3,
   DMX_PES_VIDEO3,
   DMX_PES_TELETEXT3,
   DMX_PES_SUBTITLE3,
-  DMX_PES_PCR3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_PES_PCR3,
   DMX_PES_OTHER
 } dmx_pes_type_t;
 #define DMX_PES_AUDIO DMX_PES_AUDIO0
-#define DMX_PES_VIDEO DMX_PES_VIDEO0
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DMX_PES_VIDEO DMX_PES_VIDEO0
 #define DMX_PES_TELETEXT DMX_PES_TELETEXT0
 #define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
 #define DMX_PES_PCR DMX_PES_PCR0
-typedef struct dmx_filter {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef struct dmx_filter {
   __u8 filter[DMX_FILTER_SIZE];
   __u8 mask[DMX_FILTER_SIZE];
   __u8 mode[DMX_FILTER_SIZE];
-} dmx_filter_t;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+} dmx_filter_t;
 struct dmx_sct_filter_params {
   __u16 pid;
   dmx_filter_t filter;
-  __u32 timeout;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u32 timeout;
   __u32 flags;
 #define DMX_CHECK_CRC 1
 #define DMX_ONESHOT 2
-#define DMX_IMMEDIATE_START 4
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DMX_IMMEDIATE_START 4
 #define DMX_KERNEL_CLIENT 0x8000
 };
 struct dmx_pes_filter_params {
-  __u16 pid;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u16 pid;
   dmx_input_t input;
   dmx_output_t output;
   dmx_pes_type_t pes_type;
-  __u32 flags;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u32 flags;
 };
 typedef struct dmx_caps {
   __u32 caps;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   int num_decoders;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 } dmx_caps_t;
-typedef enum {
+typedef enum dmx_source {
   DMX_SOURCE_FRONT0 = 0,
-  DMX_SOURCE_FRONT1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_SOURCE_FRONT1,
   DMX_SOURCE_FRONT2,
   DMX_SOURCE_FRONT3,
   DMX_SOURCE_DVR0 = 16,
-  DMX_SOURCE_DVR1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  DMX_SOURCE_DVR1,
   DMX_SOURCE_DVR2,
   DMX_SOURCE_DVR3
 } dmx_source_t;
-struct dmx_stc {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+struct dmx_stc {
   unsigned int num;
   unsigned int base;
   __u64 stc;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define DMX_START _IO('o', 41)
 #define DMX_STOP _IO('o', 42)
 #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
-#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
 #define DMX_SET_BUFFER_SIZE _IO('o', 45)
 #define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5])
 #define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t)
-#define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t)
 #define DMX_GET_STC _IOWR('o', 50, struct dmx_stc)
 #define DMX_ADD_PID _IOW('o', 51, __u16)
 #define DMX_REMOVE_PID _IOW('o', 52, __u16)
-#endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#endif
diff --git a/libc/kernel/uapi/linux/dvb/frontend.h b/libc/kernel/uapi/linux/dvb/frontend.h
index a97d5e7..3a833cf 100644
--- a/libc/kernel/uapi/linux/dvb/frontend.h
+++ b/libc/kernel/uapi/linux/dvb/frontend.h
@@ -19,15 +19,15 @@
 #ifndef _DVBFRONTEND_H_
 #define _DVBFRONTEND_H_
 #include <linux/types.h>
-typedef enum fe_type {
+enum fe_type {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   FE_QPSK,
   FE_QAM,
   FE_OFDM,
   FE_ATSC
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-} fe_type_t;
-typedef enum fe_caps {
+};
+enum fe_caps {
   FE_IS_STUPID = 0,
   FE_CAN_INVERSION_AUTO = 0x1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -67,11 +67,11 @@
   FE_CAN_RECOVER = 0x40000000,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   FE_CAN_MUTE_TS = 0x80000000
-} fe_caps_t;
+};
 struct dvb_frontend_info {
   char name[128];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  fe_type_t type;
+  enum fe_type type;
   __u32 frequency_min;
   __u32 frequency_max;
   __u32 frequency_stepsize;
@@ -82,7 +82,7 @@
   __u32 symbol_rate_tolerance;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   __u32 notifier_delay;
-  fe_caps_t caps;
+  enum fe_caps caps;
 };
 struct dvb_diseqc_master_cmd {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -96,23 +96,23 @@
   int timeout;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-typedef enum fe_sec_voltage {
+enum fe_sec_voltage {
   SEC_VOLTAGE_13,
   SEC_VOLTAGE_18,
   SEC_VOLTAGE_OFF
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-} fe_sec_voltage_t;
-typedef enum fe_sec_tone_mode {
+};
+enum fe_sec_tone_mode {
   SEC_TONE_ON,
   SEC_TONE_OFF
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-} fe_sec_tone_mode_t;
-typedef enum fe_sec_mini_cmd {
+};
+enum fe_sec_mini_cmd {
   SEC_MINI_A,
   SEC_MINI_B
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-} fe_sec_mini_cmd_t;
-typedef enum fe_status {
+};
+enum fe_status {
   FE_HAS_SIGNAL = 0x01,
   FE_HAS_CARRIER = 0x02,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -122,14 +122,14 @@
   FE_TIMEDOUT = 0x20,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   FE_REINIT = 0x40,
-} fe_status_t;
-typedef enum fe_spectral_inversion {
+};
+enum fe_spectral_inversion {
   INVERSION_OFF,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   INVERSION_ON,
   INVERSION_AUTO
-} fe_spectral_inversion_t;
-typedef enum fe_code_rate {
+};
+enum fe_code_rate {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   FEC_NONE = 0,
   FEC_1_2,
@@ -147,8 +147,8 @@
   FEC_9_10,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   FEC_2_5,
-} fe_code_rate_t;
-typedef enum fe_modulation {
+};
+enum fe_modulation {
   QPSK,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   QAM_16,
@@ -167,8 +167,8 @@
   DQPSK,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   QAM_4_NR,
-} fe_modulation_t;
-typedef enum fe_transmit_mode {
+};
+enum fe_transmit_mode {
   TRANSMISSION_MODE_2K,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   TRANSMISSION_MODE_8K,
@@ -181,94 +181,39 @@
   TRANSMISSION_MODE_C1,
   TRANSMISSION_MODE_C3780,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-} fe_transmit_mode_t;
-typedef enum fe_bandwidth {
-  BANDWIDTH_8_MHZ,
-  BANDWIDTH_7_MHZ,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  BANDWIDTH_6_MHZ,
-  BANDWIDTH_AUTO,
-  BANDWIDTH_5_MHZ,
-  BANDWIDTH_10_MHZ,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  BANDWIDTH_1_712_MHZ,
-} fe_bandwidth_t;
-typedef enum fe_guard_interval {
+};
+enum fe_guard_interval {
   GUARD_INTERVAL_1_32,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   GUARD_INTERVAL_1_16,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   GUARD_INTERVAL_1_8,
   GUARD_INTERVAL_1_4,
   GUARD_INTERVAL_AUTO,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   GUARD_INTERVAL_1_128,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   GUARD_INTERVAL_19_128,
   GUARD_INTERVAL_19_256,
   GUARD_INTERVAL_PN420,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   GUARD_INTERVAL_PN595,
-  GUARD_INTERVAL_PN945,
-} fe_guard_interval_t;
-typedef enum fe_hierarchy {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  GUARD_INTERVAL_PN945,
+};
+enum fe_hierarchy {
   HIERARCHY_NONE,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   HIERARCHY_1,
   HIERARCHY_2,
   HIERARCHY_4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   HIERARCHY_AUTO
-} fe_hierarchy_t;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 enum fe_interleaving {
   INTERLEAVING_NONE,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   INTERLEAVING_AUTO,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   INTERLEAVING_240,
   INTERLEAVING_720,
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-struct dvb_qpsk_parameters {
-  __u32 symbol_rate;
-  fe_code_rate_t fec_inner;
-};
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-struct dvb_qam_parameters {
-  __u32 symbol_rate;
-  fe_code_rate_t fec_inner;
-  fe_modulation_t modulation;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-};
-struct dvb_vsb_parameters {
-  fe_modulation_t modulation;
-};
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-struct dvb_ofdm_parameters {
-  fe_bandwidth_t bandwidth;
-  fe_code_rate_t code_rate_HP;
-  fe_code_rate_t code_rate_LP;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  fe_modulation_t constellation;
-  fe_transmit_mode_t transmission_mode;
-  fe_guard_interval_t guard_interval;
-  fe_hierarchy_t hierarchy_information;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-};
-struct dvb_frontend_parameters {
-  __u32 frequency;
-  fe_spectral_inversion_t inversion;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  union {
-    struct dvb_qpsk_parameters qpsk;
-    struct dvb_qam_parameters qam;
-    struct dvb_ofdm_parameters ofdm;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-    struct dvb_vsb_parameters vsb;
-  } u;
-};
-struct dvb_frontend_event {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  fe_status_t status;
-  struct dvb_frontend_parameters parameters;
-};
 #define DTV_UNDEFINED 0
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define DTV_TUNE 1
@@ -359,21 +304,21 @@
 #define DTV_STAT_ERROR_BLOCK_COUNT 68
 #define DTV_STAT_TOTAL_BLOCK_COUNT 69
 #define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
-typedef enum fe_pilot {
+enum fe_pilot {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   PILOT_ON,
   PILOT_OFF,
   PILOT_AUTO,
-} fe_pilot_t;
+};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-typedef enum fe_rolloff {
+enum fe_rolloff {
   ROLLOFF_35,
   ROLLOFF_20,
   ROLLOFF_25,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   ROLLOFF_AUTO,
-} fe_rolloff_t;
-typedef enum fe_delivery_system {
+};
+enum fe_delivery_system {
   SYS_UNDEFINED,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   SYS_DVBC_ANNEX_A,
@@ -398,7 +343,7 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   SYS_TURBO,
   SYS_DVBC_ANNEX_C,
-} fe_delivery_system_t;
+};
 #define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SYS_DMBTH SYS_DTMB
@@ -492,6 +437,81 @@
   struct dtv_property * props;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
+enum fe_bandwidth {
+  BANDWIDTH_8_MHZ,
+  BANDWIDTH_7_MHZ,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  BANDWIDTH_6_MHZ,
+  BANDWIDTH_AUTO,
+  BANDWIDTH_5_MHZ,
+  BANDWIDTH_10_MHZ,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  BANDWIDTH_1_712_MHZ,
+};
+typedef enum fe_sec_voltage fe_sec_voltage_t;
+typedef enum fe_caps fe_caps_t;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum fe_type fe_type_t;
+typedef enum fe_sec_tone_mode fe_sec_tone_mode_t;
+typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t;
+typedef enum fe_status fe_status_t;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum fe_spectral_inversion fe_spectral_inversion_t;
+typedef enum fe_code_rate fe_code_rate_t;
+typedef enum fe_modulation fe_modulation_t;
+typedef enum fe_transmit_mode fe_transmit_mode_t;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum fe_bandwidth fe_bandwidth_t;
+typedef enum fe_guard_interval fe_guard_interval_t;
+typedef enum fe_hierarchy fe_hierarchy_t;
+typedef enum fe_pilot fe_pilot_t;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef enum fe_rolloff fe_rolloff_t;
+typedef enum fe_delivery_system fe_delivery_system_t;
+struct dvb_qpsk_parameters {
+  __u32 symbol_rate;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  fe_code_rate_t fec_inner;
+};
+struct dvb_qam_parameters {
+  __u32 symbol_rate;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  fe_code_rate_t fec_inner;
+  fe_modulation_t modulation;
+};
+struct dvb_vsb_parameters {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  fe_modulation_t modulation;
+};
+struct dvb_ofdm_parameters {
+  fe_bandwidth_t bandwidth;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  fe_code_rate_t code_rate_HP;
+  fe_code_rate_t code_rate_LP;
+  fe_modulation_t constellation;
+  fe_transmit_mode_t transmission_mode;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  fe_guard_interval_t guard_interval;
+  fe_hierarchy_t hierarchy_information;
+};
+struct dvb_frontend_parameters {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u32 frequency;
+  fe_spectral_inversion_t inversion;
+  union {
+    struct dvb_qpsk_parameters qpsk;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+    struct dvb_qam_parameters qam;
+    struct dvb_ofdm_parameters ofdm;
+    struct dvb_vsb_parameters vsb;
+  } u;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
+struct dvb_frontend_event {
+  fe_status_t status;
+  struct dvb_frontend_parameters parameters;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
 #define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
 #define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
 #define FE_TUNE_MODE_ONESHOT 0x01