extern int dual_tuner;
-#pragma pack(1)
struct as10x_raw_fw_pkt {
unsigned char address[4];
unsigned char data[MAX_FW_PKT_SIZE - 6];
-};
+} __packed;
struct as10x_fw_pkt_t {
union {
unsigned char length[2];
} u;
struct as10x_raw_fw_pkt raw;
-};
-#pragma pack()
+} __packed;
#ifdef __KERNEL__
int as102_fw_upload(struct as102_bus_adapter_t *bus_adap);
CONTROL_PROC_TURNOFF_RSP = 0xFF00
};
-
-#pragma pack(1)
union as10x_turn_on {
/* request */
struct {
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_turn_off {
/* request */
/* error */
uint8_t err;
} rsp;
-};
+} __packed;
union as10x_set_tune {
/* request */
/* response error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_get_tune_status {
/* request */
/* tune status */
struct as10x_tune_status sts;
} rsp;
-};
+} __packed;
union as10x_get_tps {
/* request */
/* tps details */
struct as10x_tps tps;
} rsp;
-};
+} __packed;
union as10x_common {
/* request */
/* response error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_add_pid_filter {
/* request */
/* Filter id */
uint8_t filter_id;
} rsp;
-};
+} __packed;
union as10x_del_pid_filter {
/* request */
/* response error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_start_streaming {
/* request */
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_stop_streaming {
/* request */
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_get_demod_stats {
/* request */
/* demod stats */
struct as10x_demod_stats stats;
} rsp;
-};
+} __packed;
union as10x_get_impulse_resp {
/* request */
/* impulse response ready */
uint8_t is_ready;
} rsp;
-};
+} __packed;
union as10x_fw_context {
/* request */
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_set_register {
/* request */
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
union as10x_get_register {
/* request */
/* register content */
struct as10x_register_value reg_val;
} rsp;
-};
+} __packed;
union as10x_cfg_change_mode {
/* request */
/* error */
uint8_t error;
} rsp;
-};
+} __packed;
struct as10x_cmd_header_t {
uint16_t req_id;
uint16_t prog;
uint16_t version;
uint16_t data_len;
-};
+} __packed;
#define DUMP_BLOCK_SIZE 16
uint32_t data32[DUMP_BLOCK_SIZE / sizeof(uint32_t)];
} u;
} rsp;
-};
+} __packed;
union as10x_dumplog_memory {
struct {
/* dump data */
uint8_t data[DUMP_BLOCK_SIZE];
} rsp;
-};
+} __packed;
union as10x_raw_data {
/* request */
uint8_t data[64 - sizeof(struct as10x_cmd_header_t) /* header */
- 2 /* proc_id */ - 1 /* rc */];
} rsp;
-};
+} __packed;
struct as10x_cmd_t {
struct as10x_cmd_header_t header;
union as10x_dumplog_memory dumplog_memory;
union as10x_raw_data raw_data;
} body;
-};
+} __packed;
struct as10x_token_cmd_t {
/* token cmd */
struct as10x_cmd_t c;
/* token response */
struct as10x_cmd_t r;
-};
-#pragma pack()
+} __packed;
/**************************/
#define CFG_MODE_OFF 1
#define CFG_MODE_AUTO 2
-#pragma pack(1)
struct as10x_tps {
uint8_t constellation;
uint8_t hierarchy;
uint8_t DVBH_mask_HP;
uint8_t DVBH_mask_LP;
uint16_t cell_ID;
-};
+} __packed;
struct as10x_tune_args {
/* frequency */
uint8_t guard_interval;
/* transmission mode */
uint8_t transmission_mode;
-};
+} __packed;
struct as10x_tune_status {
/* tune status */
uint16_t PER;
/* bit error rate 10^-4 */
uint16_t BER;
-};
+} __packed;
struct as10x_demod_stats {
/* frame counter */
uint16_t mer;
/* statistics calculation state indicator (started or not) */
uint8_t has_started;
-};
+} __packed;
struct as10x_ts_filter {
uint16_t pid; /** valid PID value 0x00 : 0x2000 */
uint8_t type; /** Red TS_PID_TYPE_<N> values */
uint8_t idx; /** index in filtering table */
-};
+} __packed;
struct as10x_register_value {
uint8_t mode;
uint16_t value16; /* 16 bit value */
uint32_t value32; /* 32 bit value */
}u;
-};
-
-#pragma pack()
+} __packed;
struct as10x_register_addr {
/* register addr */