From ae4f143cf638046e3e17c20b69a8551e3ce96de4 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 2 May 2009 17:18:56 +0000 Subject: More madness. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@937 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- src/include/channels.h | 56 +++++++++++++++++++++++++++++++++++--------------- src/include/serial.h | 13 ++++++------ 2 files changed, 46 insertions(+), 23 deletions(-) (limited to 'src/include') diff --git a/src/include/channels.h b/src/include/channels.h index 57eb55c4a..d3d1f5d47 100644 --- a/src/include/channels.h +++ b/src/include/channels.h @@ -28,7 +28,7 @@ #define _CHANNELS_H_ /** - * @brief Base channels methods. + * @brief @p BaseChannel specific methods. */ struct _base_channel_methods { /** @@ -44,7 +44,7 @@ struct _base_channel_methods { }; /** - * @brief Base channels data. + * @brief @p BaseChannel specific data. * @note It is empty because @p BaseChannel is only an interface without * implementation. */ @@ -52,10 +52,13 @@ struct _base_channel_data { }; /** - * @brief Virtual methods table for base channels. + * @brief @p BaseChannel virtual methods table. */ -struct _base_channel_vmt { - struct _base_channel_methods m0; /**< Class methods. */ +struct BaseChannelVMT { + /** + * @p BaseChannel class specific methods. + */ + struct _base_channel_methods m0; }; /** @@ -63,8 +66,14 @@ struct _base_channel_vmt { * @details This class represents a generic, byte-wide, I/O channel. */ typedef struct { - struct _base_channel_vmt *vmt; /**< Virtual Methods Table. */ - struct _base_channel_data d0; /**< Class data. */ + /** + * Virtual Methods Table. + */ + const struct BaseChannelVMT *vmt; + /** + * @p BaseChannel class specific data. + */ + struct _base_channel_data d0; } BaseChannel; /** @@ -129,7 +138,7 @@ typedef struct { #if CH_USE_EVENTS /** - * @brief Virtual methods table for base asynchronous channels. + * @brief @p BaseAsynchronousChannel specific methods. */ struct _base_asynchronous_channel_methods { /** @@ -145,7 +154,7 @@ struct _base_asynchronous_channel_methods { }; /** - * @brief Base asynchronous channels data. + * @brief @p BaseAsynchronousChannel specific data. */ struct _base_asynchronous_channel_data { /** @@ -161,11 +170,17 @@ struct _base_asynchronous_channel_data { }; /** - * @brief Virtual methods table for base asynchronous channels. + * @brief @p BaseAsynchronousChannel virtual methods table. */ -struct _base_asynchronous_channel_vmt { - struct _base_channel_methods m0; /**< Super class methods. */ - struct _base_asynchronous_channel_methods m1; /**< Class methods. */ +struct BaseAsynchronousChannelVMT { + /** + * @p BaseChannel class inherited methods. + */ + struct _base_channel_methods m0; + /** + * @p BaseAsynchronousChannel class specific methods. + */ + struct _base_asynchronous_channel_methods m1; }; /** @@ -176,9 +191,18 @@ struct _base_asynchronous_channel_vmt { * asynchronous I/O in an event-driven environment. */ typedef struct { - struct _base_asynchronous_channel_vmt *vmt; /**< Virtual Methods Table. */ - struct _base_channel_data d0; /**< Super class data. */ - struct _base_asynchronous_channel_data d1; /**< Class data. */ + /** + * Virtual Methods Table. + */ + const struct BaseAsynchronousChannelVMT *vmt; + /** + * @p BaseChannel class inherited data. + */ + struct _base_channel_data d0; + /** + * @p BaseAsynchronousChannel class specific data. + */ + struct _base_asynchronous_channel_data d1; } BaseAsynchronousChannel; /** diff --git a/src/include/serial.h b/src/include/serial.h index 845c4bf9c..6d91d0f15 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -63,8 +63,7 @@ struct _generic_serial_driver_data { */ EventSource sevent; /** - * I/O driver status flags. This field should not be read directly but - * the @p () function should be used instead. + * I/O driver status flags. */ dflags_t flags; }; @@ -72,7 +71,7 @@ struct _generic_serial_driver_data { /** * @brief @p GenericSerialDriver virtual methods table. */ -struct _generic_serial_driver_vmt { +struct GenericSerialDriverVMT { /** * @p BaseChannel class inherited methods. */ @@ -98,7 +97,7 @@ typedef struct { /** * Virtual Methods Table. */ - struct _generic_serial_driver_vmt *vmt; + const struct GenericSerialDriverVMT *vmt; /** * @p BaseChannel class inherited data. */ @@ -139,7 +138,7 @@ struct _full_duplex_driver_data { /** * @brief @p FullDuplexDriver virtual methods table. */ -struct _full_duplex_driver_vmt { +struct FullDuplexDriverVMT { /** * @p BaseChannel class inherited methods. */ @@ -169,7 +168,7 @@ typedef struct { /** * Virtual Methods Table. */ - struct _full_duplex_driver_vmt *vmt; + const struct FullDuplexDriverVMT *vmt; /** * @p BaseChannel class inherited data. */ @@ -179,7 +178,7 @@ typedef struct { */ struct _base_asynchronous_channel_data d1; /** - * @p GenericSerialDriver specific data. + * @p GenericSerialDriver inherited data. */ struct _generic_serial_driver_data d2; /** -- cgit v1.2.3