Doxygen comments for enum & structure

Added doxygen comments for enums & structures for user & channel
layers.

Unit-test:
verified build.

Change-Id: Ie5af8d6cdd4c04cb396869b7a3dc44f84efedd19
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
diff --git a/user_channel/channel_layer.hpp b/user_channel/channel_layer.hpp
index 3a9b5f5..60badbc 100644
--- a/user_channel/channel_layer.hpp
+++ b/user_channel/channel_layer.hpp
@@ -24,14 +24,19 @@
 static constexpr uint8_t maxIpmiChannels = 16;
 static constexpr uint8_t selfChNum = 0xE;
 
-// IPMI return codes specific to channel
+/**
+ * @enum IPMI return codes specific to channel (refer spec se 22.22 response
+ * data)
+ */
 enum ipmi_channel_return_codes
 {
     IPMI_CC_ACTION_NOT_SUPPORTED_FOR_CHANNEL = 0x82,
     IPMI_CC_ACCESS_MODE_NOT_SUPPORTED_FOR_CHANEL = 0x83
 };
 
-// IPMI Spec: Channel Protocol Type
+/**
+ * @enum Channel Protocol Type (refer spec sec 6.4)
+ */
 enum class EChannelProtocolType : uint8_t
 {
     na = 0x00,
@@ -47,7 +52,9 @@
     oem = 0x1C,
 };
 
-// IPMI Spec: Channel Medium Type
+/**
+ * @enum Channel Medium Type (refer spec sec 6.5)
+ */
 enum class EChannelMediumType : uint8_t
 {
     reserved = 0x00,
@@ -67,7 +74,10 @@
     unknown = 0x82,
 };
 
-// IPMI Spec: Channel Session Type
+/**
+ * @enum Channel Session Type (refer spec sec 22.24 -
+ * response data byte 5)
+ */
 enum class EChannelSessSupported : uint8_t
 {
     none = 0,
@@ -76,7 +86,9 @@
     any = 3,
 };
 
-// IPMI Spec: Channel Access Mode
+/**
+ * @enum Channel Access Mode (refer spec sec 6.6)
+ */
 enum class EChannelAccessMode : uint8_t
 {
     disabled = 0,
@@ -85,7 +97,10 @@
     shared = 3,
 };
 
-// IPMI Spec 2.0 : Authentication Types
+/**
+ * @enum Authentication Types (refer spec sec 13.6 - IPMI
+ * Session Header)
+ */
 enum class EAuthType : uint8_t
 {
     none = (1 << 0x0),
@@ -96,7 +111,10 @@
     oem = (1 << 0x5),
 };
 
-// IPMI Spec: Access mode for channel access set/get
+/**
+ * @enum Access mode for channel access set/get (refer spec
+ * sec 22.22 - request byte 2[7:6])
+ */
 typedef enum
 {
     doNotSet = 0x00,
@@ -105,6 +123,10 @@
     reserved = 0x03,
 } EChannelActionType;
 
+/**
+ * @enum Access set flag to determine changes that has to be updated
+ * in channel access data configuration.
+ */
 enum AccessSetFlag
 {
     setAccessMode = (1 << 0),
@@ -114,7 +136,12 @@
     setPrivLimit = (1 << 4),
 };
 
-// Struct to store channel access data
+/** @struct ChannelAccess
+ *
+ *  Structure to store channel access related information, defined in IPMI
+ * specification and used in Get / Set channel access (refer spec sec 22.22
+ * & 22.23)
+ */
 struct ChannelAccess
 {
     uint8_t accessMode;
@@ -124,7 +151,12 @@
     uint8_t privLimit;
 };
 
-// Struct store channel info data
+/** @struct ChannelInfo
+ *
+ *  Structure to store data about channel information, which identifies each
+ *  channel type and information as defined in IPMI specification. (refer spec
+ * sec 22.22 & 22.23)
+ */
 struct ChannelInfo
 {
     uint8_t mediumType;
diff --git a/user_channel/channel_mgmt.hpp b/user_channel/channel_mgmt.hpp
index 09d2a71..8cdb9c7 100644
--- a/user_channel/channel_mgmt.hpp
+++ b/user_channel/channel_mgmt.hpp
@@ -38,12 +38,22 @@
 static constexpr const char* ipmiChMutexCleanupLockFile =
     "/var/lib/ipmi/ipmi_channel_mutex_cleanup";
 
+/** @struct ChannelAccessData
+ *
+ *  Structure to store both non-volatile and volatile channel access information
+ *  as used by IPMI specification (refer spec sec 22.22 to 22.24)
+ */
 struct ChannelAccessData
 {
     ChannelAccess chNonVolatileData;
     ChannelAccess chVolatileData;
 };
 
+/** @struct ChannelData
+ *
+ *  Structure for channel information - base structure to get all information
+ * about the channel.(refer spec sec 22.22 to 22.24)
+ */
 struct ChannelData
 {
     std::string chName;
diff --git a/user_channel/channelcommands.cpp b/user_channel/channelcommands.cpp
index c5ef8b7..865d764 100644
--- a/user_channel/channelcommands.cpp
+++ b/user_channel/channelcommands.cpp
@@ -27,6 +27,10 @@
 namespace ipmi
 {
 
+/** @struct setChannelAccessReq
+ *
+ *  Structure for set channel access request command (refer spec sec 22.22)
+ */
 struct setChannelAccessReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -56,6 +60,10 @@
 
 } __attribute__((packed));
 
+/** @struct getChannelAccessReq
+ *
+ *  Structure for get channel access request command (refer spec sec 22.23)
+ */
 struct getChannelAccessReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -72,6 +80,10 @@
 #endif
 } __attribute__((packed));
 
+/** @struct getChannelAccessResp
+ *
+ *  Structure for get channel access response command (refer spec sec 22.23)
+ */
 struct getChannelAccessResp
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -94,6 +106,10 @@
 #endif
 } __attribute__((packed));
 
+/** @struct getChannelInfoReq
+ *
+ *  Structure for get channel info request command (refer spec sec 22.24)
+ */
 struct getChannelInfoReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -106,6 +122,10 @@
 #endif
 } __attribute__((packed));
 
+/** @struct getChannelInfoResp
+ *
+ *  Structure for get channel info response command (refer spec sec 22.24)
+ */
 struct getChannelInfoResp
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
diff --git a/user_channel/channelcommands.hpp b/user_channel/channelcommands.hpp
index 84d2dcb..c612d3f 100644
--- a/user_channel/channelcommands.hpp
+++ b/user_channel/channelcommands.hpp
@@ -20,7 +20,9 @@
 namespace ipmi
 {
 
-// IPMI commands for channel command NETFN:APP.
+/**
+ * @enum IPMI commands for channel command NETFN:APP
+ */
 enum ipmi_netfn_channel_cmds
 {
     IPMI_CMD_SET_CHANNEL_ACCESS = 0x40,
diff --git a/user_channel/user_layer.hpp b/user_channel/user_layer.hpp
index 956c925..ce985df 100644
--- a/user_channel/user_layer.hpp
+++ b/user_channel/user_layer.hpp
@@ -22,6 +22,9 @@
 {
 
 // TODO: Has to be replaced with proper channel number assignment logic
+/**
+ * @enum Channel Id
+ */
 enum class EChannelID : uint8_t
 {
     chanLan1 = 0x01
@@ -33,6 +36,11 @@
 static constexpr uint8_t ipmiMaxUsers = 15;
 static constexpr uint8_t ipmiMaxChannels = 16;
 
+/** @struct PrivAccess
+ *
+ *  User privilege related access data as per IPMI specification.(refer spec
+ * sec 22.26)
+ */
 struct PrivAccess
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
diff --git a/user_channel/user_mgmt.hpp b/user_channel/user_mgmt.hpp
index a54486f..0326dca 100644
--- a/user_channel/user_mgmt.hpp
+++ b/user_channel/user_mgmt.hpp
@@ -37,6 +37,9 @@
 
 using DbusUserObjValue = std::map<std::string, DbusUserObjProperties>;
 
+/**
+ * @enum User update events.
+ */
 enum class UserUpdateEvent
 {
     reservedEvent,
@@ -48,6 +51,10 @@
     userStateUpdated
 };
 
+/** @struct UserPrivAccess
+ *
+ *  Structure for user privilege access (refer spec sec 22.22)
+ */
 struct UserPrivAccess
 {
     uint8_t privilege;
@@ -56,6 +63,10 @@
     bool accessCallback;
 };
 
+/** @struct UserInfo
+ *
+ *  Structure for user related information
+ */
 struct UserInfo
 {
     uint8_t userName[ipmiMaxUserName];
@@ -65,6 +76,10 @@
     bool fixedUserName;
 };
 
+/** @struct UsersTbl
+ *
+ *  Structure for array of user related information
+ */
 struct UsersTbl
 {
     //+1 to map with UserId directly. UserId 0 is reserved.
diff --git a/user_channel/usercommands.cpp b/user_channel/usercommands.cpp
index f81c093..b0997d5 100644
--- a/user_channel/usercommands.cpp
+++ b/user_channel/usercommands.cpp
@@ -37,6 +37,10 @@
 static constexpr uint8_t setPassword = 0x02;
 static constexpr uint8_t testPassword = 0x03;
 
+/** @struct SetUserAccessReq
+ *
+ *  Structure for set user access request command (refer spec sec 22.26)
+ */
 struct SetUserAccessReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -68,6 +72,10 @@
 
 } __attribute__((packed));
 
+/** @struct GetUserAccessReq
+ *
+ *  Structure for get user access request command (refer spec sec 22.27)
+ */
 struct GetUserAccessReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -84,6 +92,10 @@
 #endif
 } __attribute__((packed));
 
+/** @struct GetUserAccessResp
+ *
+ *  Structure for get user access response command (refer spec sec 22.27)
+ */
 struct GetUserAccessResp
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -105,6 +117,10 @@
     PrivAccess privAccess;
 } __attribute__((packed));
 
+/** @struct SetUserNameReq
+ *
+ *  Structure for set user name request command (refer spec sec 22.28)
+ */
 struct SetUserNameReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -118,6 +134,10 @@
     uint8_t userName[16];
 } __attribute__((packed));
 
+/** @struct GetUserNameReq
+ *
+ *  Structure for get user name request command (refer spec sec 22.29)
+ */
 struct GetUserNameReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
@@ -130,11 +150,19 @@
 #endif
 } __attribute__((packed));
 
+/** @struct GetUserNameResp
+ *
+ *  Structure for get user name response command (refer spec sec 22.29)
+ */
 struct GetUserNameResp
 {
     uint8_t userName[16];
 } __attribute__((packed));
 
+/** @struct SetUserPasswordReq
+ *
+ *  Structure for set user password request command (refer spec sec 22.30)
+ */
 struct SetUserPasswordReq
 {
 #if BYTE_ORDER == LITTLE_ENDIAN
diff --git a/user_channel/usercommands.hpp b/user_channel/usercommands.hpp
index afbe67a..ea04a26 100644
--- a/user_channel/usercommands.hpp
+++ b/user_channel/usercommands.hpp
@@ -19,7 +19,10 @@
 
 namespace ipmi
 {
-// IPMI commands for user command NETFN:APP.
+
+/**
+ * @enum IPMI commands for user command NETFN:APP.
+ */
 enum ipmi_netfn_user_cmds
 {
     IPMI_CMD_SET_USER_ACCESS = 0x43,
@@ -29,6 +32,9 @@
     IPMI_CMD_SET_USER_PASSWORD = 0x47,
 };
 
+/**
+ * @enum IPMI set password return codes (refer spec sec 22.30)
+ */
 enum class IPMISetPasswordReturnCodes
 {
     ipmiCCPasswdFailMismatch = 0x80,