#ifndef _UDI_INIT_H_
#define _UDI_INIT_H_
-typedef struct udi_init_s udi_init_t;
-typedef struct udi_primary_init_s udi_primary_init_t;
-typedef struct udi_secondary_init_s udi_secondary_init_t;
-typedef struct udi_ops_init_s udi_ops_init_t;
-typedef struct udi_cb_init_s udi_cb_init_t;
-typedef struct udi_cb_select_s udi_cb_select_t;
-typedef struct udi_gcb_init_s udi_gcb_init_t;
-
-typedef struct udi_init_context_s udi_init_context_t;
-typedef struct udi_limits_s udi_limits_t;
-typedef struct udi_chan_context_s udi_chan_context_t;
-typedef struct udi_child_chan_context_s udi_child_chan_context_t;
-
-typedef void udi_op_t(void);
-typedef udi_op_t * const udi_ops_vector_t;
-
/**
* \brief UDI Initialisation Structure
*
* gets for a specific ops vector.
*/
udi_cb_select_t *cb_select_list;
-};
+} __attribute__((packed));
/**
/**
* \brief Flags for each entry in \a ops_vector
*/
- //const udi_ubit8_t *op_flags;
+ const udi_ubit8_t *op_flags;
};
/**
* \see ::udi_timer_start_repeating, ::udi_timer_start
*/
udi_ubit32_t min_timer_res;
-} PACKED;
+} __attribute__((packed));
/**
* \brief Primary Region Context data
* \brief Pointer to the driver instance's initial region data
*/
void *rdata;
-} PACKED;
+} __attribute__((packed));
/**
* \brief Child Channel context