}
 
 static void audio_vchi_callback(void *param,
-                               const VCHI_CALLBACK_REASON_T reason,
+                               const enum vchi_callback_reason reason,
                                void *msg_handle)
 {
        struct bcm2835_audio_instance *instance = param;
 
 
 /* incoming event service callback */
 static void service_callback(void *param,
-                            const VCHI_CALLBACK_REASON_T reason,
+                            const enum vchi_callback_reason reason,
                             void *bulk_ctx)
 {
        struct vchiq_mmal_instance *instance = param;
 
 
 // Routine to set a control option for a named service
 extern int32_t vchi_service_set_option(const VCHI_SERVICE_HANDLE_T handle,
-                                       VCHI_SERVICE_OPTION_T option,
-                                       int value);
+                                      enum vchi_service_option option,
+                                      int value);
 
 /* Routine to send a message from kernel memory across a service */
 extern int
                                void *data,
                                uint32_t max_data_size_to_read,
                                uint32_t *actual_msg_size,
-                               VCHI_FLAGS_T flags);
+                               enum vchi_flags flags);
 
 // Routine to look at a message in place.
 // The message is not dequeued, so a subsequent call to peek or dequeue
 extern int32_t vchi_msg_peek(VCHI_SERVICE_HANDLE_T handle,
                             void **data,
                             uint32_t *msg_size,
-                            VCHI_FLAGS_T flags);
+                            enum vchi_flags flags);
 
 // Routine to remove a message after it has been read in place with peek
 // The first message on the queue is dequeued.
 extern int32_t vchi_msg_hold(VCHI_SERVICE_HANDLE_T handle,
                             void **data,        // } may be NULL, as info can be
                             uint32_t *msg_size, // } obtained from HELD_MSG_T
-                            VCHI_FLAGS_T flags,
+                            enum vchi_flags flags,
                             struct vchi_held_msg *message_descriptor);
 
 // Initialise an iterator to look through messages in place
 extern int32_t vchi_msg_look_ahead(VCHI_SERVICE_HANDLE_T handle,
                                   struct vchi_msg_iter *iter,
-                                  VCHI_FLAGS_T flags);
+                                  enum vchi_flags flags);
 
 /*******************************************************************************
  * Global service support API - operations on held messages
 extern int32_t vchi_bulk_queue_receive(VCHI_SERVICE_HANDLE_T handle,
                                       void *data_dst,
                                       uint32_t data_size,
-                                      VCHI_FLAGS_T flags,
+                                      enum vchi_flags flags,
                                       void *transfer_handle);
 
 // Prepare interface for a transfer from the other side into relocatable memory.
 int32_t vchi_bulk_queue_receive_reloc(const VCHI_SERVICE_HANDLE_T handle,
                                      uint32_t offset,
                                      uint32_t data_size,
-                                     const VCHI_FLAGS_T flags,
+                                     const enum vchi_flags flags,
                                      void * const bulk_handle);
 
 // Routine to queue up data ready for transfer to the other (once they have signalled they are ready)
 extern int32_t vchi_bulk_queue_transmit(VCHI_SERVICE_HANDLE_T handle,
                                        const void *data_src,
                                        uint32_t data_size,
-                                       VCHI_FLAGS_T flags,
+                                       enum vchi_flags flags,
                                        void *transfer_handle);
 
 /******************************************************************************
 extern int32_t vchi_bulk_queue_transmit_reloc(VCHI_SERVICE_HANDLE_T handle,
                                              uint32_t offset,
                                              uint32_t data_size,
-                                             VCHI_FLAGS_T flags,
+                                             enum vchi_flags flags,
                                              void *transfer_handle);
 #endif /* VCHI_H_ */
 
 
 #define VCHI_COMMON_H_
 
 //flags used when sending messages (must be bitmapped)
-typedef enum {
+enum vchi_flags {
        VCHI_FLAGS_NONE                      = 0x0,
        VCHI_FLAGS_BLOCK_UNTIL_OP_COMPLETE   = 0x1,   // waits for message to be received, or sent (NB. not the same as being seen on other side)
        VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE = 0x2,   // run a callback when message sent
        VCHI_FLAGS_BULK_DATA_QUEUED      = 0x040000,  // internal use only
        VCHI_FLAGS_BULK_DATA_COMPLETE    = 0x080000,  // internal use only
        VCHI_FLAGS_INTERNAL              = 0xFF0000
-} VCHI_FLAGS_T;
+};
 
 // constants for vchi_crc_control()
-typedef enum {
+enum vchi_crc_control {
        VCHI_CRC_NOTHING = -1,
        VCHI_CRC_PER_SERVICE = 0,
        VCHI_CRC_EVERYTHING = 1,
-} VCHI_CRC_CONTROL_T;
+};
 
 //callback reasons when an event occurs on a service
-typedef enum {
+enum vchi_callback_reason {
        VCHI_CALLBACK_REASON_MIN,
 
        //This indicates that there is data available
        VCHI_CALLBACK_BULK_TRANSMIT_ABORTED,
 
        VCHI_CALLBACK_REASON_MAX
-} VCHI_CALLBACK_REASON_T;
+};
 
 // service control options
-typedef enum {
+enum vchi_service_option {
        VCHI_SERVICE_OPTION_MIN,
 
        VCHI_SERVICE_OPTION_TRACE,
        VCHI_SERVICE_OPTION_SYNCHRONOUS,
 
        VCHI_SERVICE_OPTION_MAX
-} VCHI_SERVICE_OPTION_T;
+};
 
 //Callback used by all services / bulk transfers
 typedef void (*VCHI_CALLBACK_T)(void *callback_param, //my service local param
-                               VCHI_CALLBACK_REASON_T reason,
+                               enum vchi_callback_reason reason,
                                void *handle); //for transmitting msg's only
 
 /*
 
  *             void **data,
  *             uint32_t *msg_size,
 
- *             VCHI_FLAGS_T flags
+ *             enum vchi_flags flags
  *
  * Description: Routine to return a pointer to the current message (to allow in
  *              place processing). The message can be removed using
  *
  ***********************************************************/
 int32_t vchi_msg_peek(VCHI_SERVICE_HANDLE_T handle,
-       void **data,
-       uint32_t *msg_size,
-       VCHI_FLAGS_T flags)
+                     void **data,
+                     uint32_t *msg_size,
+                     enum vchi_flags flags)
 {
        struct shim_service *service = (struct shim_service *)handle;
        struct vchiq_header *header;
  * Arguments:  VCHI_BULK_HANDLE_T handle,
  *             void *data_dst,
  *             const uint32_t data_size,
- *             VCHI_FLAGS_T flags
+ *             enum vchi_flags flags
  *             void *bulk_handle
  *
  * Description: Routine to setup a rcv buffer
  * Returns: int32_t - success == 0
  *
  ***********************************************************/
-int32_t vchi_bulk_queue_receive(VCHI_SERVICE_HANDLE_T handle,
-       void *data_dst,
-       uint32_t data_size,
-       VCHI_FLAGS_T flags,
-       void *bulk_handle)
+int32_t vchi_bulk_queue_receive(VCHI_SERVICE_HANDLE_T handle, void *data_dst,
+                               uint32_t data_size, enum vchi_flags flags,
+                               void *bulk_handle)
 {
        struct shim_service *service = (struct shim_service *)handle;
        VCHIQ_BULK_MODE_T mode;
  * Arguments:  VCHI_BULK_HANDLE_T handle,
  *             const void *data_src,
  *             uint32_t data_size,
- *             VCHI_FLAGS_T flags,
+ *             enum vchi_flags flags,
  *             void *bulk_handle
  *
  * Description: Routine to transmit some data
  *
  ***********************************************************/
 int32_t vchi_bulk_queue_transmit(VCHI_SERVICE_HANDLE_T handle,
-       const void *data_src,
-       uint32_t data_size,
-       VCHI_FLAGS_T flags,
-       void *bulk_handle)
+                                const void *data_src,
+                                uint32_t data_size,
+                                enum vchi_flags flags,
+                                void *bulk_handle)
 {
        struct shim_service *service = (struct shim_service *)handle;
        VCHIQ_BULK_MODE_T mode;
  *             void *data,
  *             uint32_t max_data_size_to_read,
  *             uint32_t *actual_msg_size
- *             VCHI_FLAGS_T flags
+ *             enum vchi_flags flags
  *
  * Description: Routine to dequeue a message into the supplied buffer
  *
  * Returns: int32_t - success == 0
  *
  ***********************************************************/
-int32_t vchi_msg_dequeue(VCHI_SERVICE_HANDLE_T handle,
-       void *data,
-       uint32_t max_data_size_to_read,
-       uint32_t *actual_msg_size,
-       VCHI_FLAGS_T flags)
+int32_t vchi_msg_dequeue(VCHI_SERVICE_HANDLE_T handle, void *data,
+                        uint32_t max_data_size_to_read,
+                        uint32_t *actual_msg_size, enum vchi_flags flags)
 {
        struct shim_service *service = (struct shim_service *)handle;
        struct vchiq_header *header;
  * Arguments:  VCHI_SERVICE_HANDLE_T handle,
  *             void **data,
  *             uint32_t *msg_size,
- *             VCHI_FLAGS_T flags,
+ *             enum vchi_flags flags,
  *             struct vchi_held_msg *message_handle
  *
  * Description: Routine to return a pointer to the current message (to allow
  * Returns: int32_t - success == 0
  *
  ***********************************************************/
-int32_t vchi_msg_hold(VCHI_SERVICE_HANDLE_T handle,
-       void **data,
-       uint32_t *msg_size,
-       VCHI_FLAGS_T flags,
-       struct vchi_held_msg *message_handle)
+int32_t vchi_msg_hold(VCHI_SERVICE_HANDLE_T handle, void **data,
+                     uint32_t *msg_size, enum vchi_flags flags,
+                     struct vchi_held_msg *message_handle)
 {
        struct shim_service *service = (struct shim_service *)handle;
        struct vchiq_header *header;
 EXPORT_SYMBOL(vchi_service_destroy);
 
 int32_t vchi_service_set_option(const VCHI_SERVICE_HANDLE_T handle,
-                               VCHI_SERVICE_OPTION_T option,
+                               enum vchi_service_option option,
                                int value)
 {
        int32_t ret = -1;