\doxysection{mw\+\_\+message.\+h File Reference}
\hypertarget{mw__message_8h}{}\label{mw__message_8h}\index{mw\_message.h@{mw\_message.h}}
{\ttfamily \#include $<$glib.\+h$>$}\newline
{\ttfamily \#include "{}mw\+\_\+common.\+h"{}}\newline
\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structmwEncryptAccept}{mw\+Encrypt\+Accept}}
\begin{DoxyCompactList}\small\item\em a selected encryption item from those offered \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwEncryptOffer}{mw\+Encrypt\+Offer}}
\begin{DoxyCompactList}\small\item\em an offer of encryption items \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwMessage}{mw\+Message}}
\item 
struct \mbox{\hyperlink{structmwMsgAdmin}{mw\+Msg\+Admin}}
\begin{DoxyCompactList}\small\item\em An administrative broadcast message. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwMsgAnnounce}{mw\+Msg\+Announce}}
\begin{DoxyCompactList}\small\item\em An announcement between users. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwMsgChannelAccept}{mw\+Msg\+Channel\+Accept}}
\item 
struct \mbox{\hyperlink{structmwMsgChannelCreate}{mw\+Msg\+Channel\+Create}}
\item 
struct \mbox{\hyperlink{structmwMsgChannelDestroy}{mw\+Msg\+Channel\+Destroy}}
\item 
struct \mbox{\hyperlink{structmwMsgChannelSend}{mw\+Msg\+Channel\+Send}}
\item 
struct \mbox{\hyperlink{structmwMsgHandshake}{mw\+Msg\+Handshake}}
\item 
struct \mbox{\hyperlink{structmwMsgHandshakeAck}{mw\+Msg\+Handshake\+Ack}}
\item 
struct \mbox{\hyperlink{structmwMsgLogin}{mw\+Msg\+Login}}
\item 
struct \mbox{\hyperlink{structmwMsgLoginAck}{mw\+Msg\+Login\+Ack}}
\item 
struct \mbox{\hyperlink{structmwMsgLoginContinue}{mw\+Msg\+Login\+Continue}}
\item 
struct \mbox{\hyperlink{structmwMsgLoginRedirect}{mw\+Msg\+Login\+Redirect}}
\item 
struct \mbox{\hyperlink{structmwMsgSenseService}{mw\+Msg\+Sense\+Service}}
\begin{DoxyCompactList}\small\item\em Sent to the server to request the presense of a service by its ID. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwMsgSetPrivacyList}{mw\+Msg\+Set\+Privacy\+List}}
\item 
struct \mbox{\hyperlink{structmwMsgSetUserStatus}{mw\+Msg\+Set\+User\+Status}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{mw__message_8h_addfd812d6f966033ecde989d3ae1ff13}{MW\+\_\+\+MESSAGE}}(msg)~(\&msg-\/$>$head)
\begin{DoxyCompactList}\small\item\em Cast a pointer to a message subtype (eg, \doxylink{structmwMsgHandshake}{mw\+Msg\+Handshake}, \doxylink{structmwMsgAdmin}{mw\+Msg\+Admin}) into a pointer to a \doxylink{structmwMessage}{mw\+Message}. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{mw__message_8h_a6489ef909af7116c58c46c0eba98a557}{MW\+\_\+\+MESSAGE\+\_\+\+HAS\+\_\+\+OPTION}}(msg,  opt)~  ((msg)-\/$>$options \& (opt))
\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718}{mw\+Auth\+Type}} \{ \newline
\mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718ab83b19bd43dbff156212b20895a71a1b}{mw\+Auth\+Type\+\_\+\+PLAIN}} = 0x0000
, \newline
\mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718acf66e986460a8b3b506183f926a86a98}{mw\+Auth\+Type\+\_\+\+TOKEN}} = 0x0001
, \newline
\mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a45301107f68dbda1ed9d984334a0373b}{mw\+Auth\+Type\+\_\+\+ENCRYPT}} = 0x0002
, \newline
\mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a507b31a154f6deebd54721cdf493c900}{mw\+Auth\+Type\+\_\+\+RC2\+\_\+40}} = 0x0002
, \newline
\mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a62f209ad72b476e0d4d3cc8675370704}{mw\+Auth\+Type\+\_\+\+RC2\+\_\+128}} = 0x0004
 \}
\item 
enum \mbox{\hyperlink{mw__message_8h_a600afdfadebb9d20827cef17756f0fae}{mw\+Message\+Option}} \{ \newline
\mbox{\hyperlink{mw__message_8h_a600afdfadebb9d20827cef17756f0faeabd68ef5475779bfef1249150fe300591}{mw\+Message\+Option\+\_\+\+ENCRYPT}} = 0x4000
, \newline
\mbox{\hyperlink{mw__message_8h_a600afdfadebb9d20827cef17756f0faea875724a2b0308b46cb90d15bc28fa499}{mw\+Message\+Option\+\_\+\+HAS\+\_\+\+ATTRIBS}} = 0x8000
 \}
\item 
enum \mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949}{mw\+Message\+Type}} \{ \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a153688607c3fc134cbfd967d1e20ff74}{mw\+Message\+\_\+\+HANDSHAKE}} = 0x0000
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaa0a054a32aab5eef398faba6928089d}{mw\+Message\+\_\+\+HANDSHAKE\+\_\+\+ACK}} = 0x8000
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ab53ea38b2776875a824b822c7c71e8f8}{mw\+Message\+\_\+\+LOGIN}} = 0x0001
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7b55aa921d492c225b0598966bcd5d45}{mw\+Message\+\_\+\+LOGIN\+\_\+\+ACK}} = 0x8001
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a87bc7b61d8ba8f3237770104c1497501}{mw\+Message\+\_\+\+LOGIN\+\_\+\+REDIRECT}} = 0x0018
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac508ff54fd6cb0e85c646bd81ea2a316}{mw\+Message\+\_\+\+LOGIN\+\_\+\+CONTINUE}} = 0x0016
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a592b2ec2e5ddc1f8a4f0eb3c859a12a6}{mw\+Message\+\_\+\+CHANNEL\+\_\+\+CREATE}} = 0x0002
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a79138d2b50cdb848db5f9a9a560a9b79}{mw\+Message\+\_\+\+CHANNEL\+\_\+\+DESTROY}} = 0x0003
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949affc27704cfd3d60671c99523c5da9972}{mw\+Message\+\_\+\+CHANNEL\+\_\+\+SEND}} = 0x0004
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a0d828997c0e561ea71793d0586227b23}{mw\+Message\+\_\+\+CHANNEL\+\_\+\+ACCEPT}} = 0x0006
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aa44c5ad6a60abbd82e38efe8d2d7caa5}{mw\+Message\+\_\+\+SET\+\_\+\+USER\+\_\+\+STATUS}} = 0x0009
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac738082bf05a63638dcf24c99b1c60c0}{mw\+Message\+\_\+\+SET\+\_\+\+PRIVACY\+\_\+\+LIST}} = 0x000b
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7790d9d6205172c7cfe9ba6d365e5434}{mw\+Message\+\_\+\+SENSE\+\_\+\+SERVICE}} = 0x0011
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a6ad30a764ca2b14045ab22e940ce2fe3}{mw\+Message\+\_\+\+ADMIN}} = 0x0019
, \newline
\mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaac3b404adb68bb0d7ed2e0c4d691540}{mw\+Message\+\_\+\+ANNOUNCE}} = 0x0022
 \}
\begin{DoxyCompactList}\small\item\em Indicates the type of a message. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{mw__message_8h_a8eeaf5eb424fbcc82ee3982b8ac7171c}{mw\+Message\+\_\+free}} (struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*}msg)
\item 
struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{mw__message_8h_a55e9f5b84fe1726c81781fedf2955725}{mw\+Message\+\_\+get}} (struct \mbox{\hyperlink{structmwGetBuffer}{mw\+Get\+Buffer}} \texorpdfstring{$\ast$}{*}b)
\begin{DoxyCompactList}\small\item\em build a message from its representation \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{mw__message_8h_acb3ffa4eb0f43c443b31152a06d5efce}{mw\+Message\+\_\+new}} (enum \mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949}{mw\+Message\+Type}} type)
\begin{DoxyCompactList}\small\item\em Allocate and initialize a new message of the specified type. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{mw__message_8h_a254cbc94eb016531692f3fb5d88e2213}{mw\+Message\+\_\+put}} (struct \mbox{\hyperlink{structmwPutBuffer}{mw\+Put\+Buffer}} \texorpdfstring{$\ast$}{*}b, struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*}msg)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{mw__message_8h_addfd812d6f966033ecde989d3ae1ff13}\label{mw__message_8h_addfd812d6f966033ecde989d3ae1ff13} 
\index{mw\_message.h@{mw\_message.h}!MW\_MESSAGE@{MW\_MESSAGE}}
\index{MW\_MESSAGE@{MW\_MESSAGE}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{MW\_MESSAGE}{MW\_MESSAGE}}
{\footnotesize\ttfamily \#define MW\+\_\+\+MESSAGE(\begin{DoxyParamCaption}\item[{}]{msg }\end{DoxyParamCaption})~(\&msg-\/$>$head)}



Cast a pointer to a message subtype (eg, \doxylink{structmwMsgHandshake}{mw\+Msg\+Handshake}, \doxylink{structmwMsgAdmin}{mw\+Msg\+Admin}) into a pointer to a \doxylink{structmwMessage}{mw\+Message}. 

\Hypertarget{mw__message_8h_a6489ef909af7116c58c46c0eba98a557}\label{mw__message_8h_a6489ef909af7116c58c46c0eba98a557} 
\index{mw\_message.h@{mw\_message.h}!MW\_MESSAGE\_HAS\_OPTION@{MW\_MESSAGE\_HAS\_OPTION}}
\index{MW\_MESSAGE\_HAS\_OPTION@{MW\_MESSAGE\_HAS\_OPTION}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{MW\_MESSAGE\_HAS\_OPTION}{MW\_MESSAGE\_HAS\_OPTION}}
{\footnotesize\ttfamily \#define MW\+\_\+\+MESSAGE\+\_\+\+HAS\+\_\+\+OPTION(\begin{DoxyParamCaption}\item[{}]{msg,  }\item[{}]{opt }\end{DoxyParamCaption})~  ((msg)-\/$>$options \& (opt))}

\begin{DoxySeeAlso}{See also}
\doxylink{mw__message_8h_a600afdfadebb9d20827cef17756f0fae}{mw\+Message\+Option} 
\end{DoxySeeAlso}


\doxysubsection{Enumeration Type Documentation}
\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718} 
\index{mw\_message.h@{mw\_message.h}!mwAuthType@{mwAuthType}}
\index{mwAuthType@{mwAuthType}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwAuthType}{mwAuthType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{mw__message_8h_a910bfd3618535759d5e7e5f89274f718}{mw\+Auth\+Type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{mwAuthType\_PLAIN@{mwAuthType\_PLAIN}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwAuthType\_PLAIN@{mwAuthType\_PLAIN}}}\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718ab83b19bd43dbff156212b20895a71a1b}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718ab83b19bd43dbff156212b20895a71a1b} 
mw\+Auth\+Type\+\_\+\+PLAIN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwAuthType\_TOKEN@{mwAuthType\_TOKEN}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwAuthType\_TOKEN@{mwAuthType\_TOKEN}}}\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718acf66e986460a8b3b506183f926a86a98}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718acf66e986460a8b3b506183f926a86a98} 
mw\+Auth\+Type\+\_\+\+TOKEN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwAuthType\_ENCRYPT@{mwAuthType\_ENCRYPT}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwAuthType\_ENCRYPT@{mwAuthType\_ENCRYPT}}}\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a45301107f68dbda1ed9d984334a0373b}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a45301107f68dbda1ed9d984334a0373b} 
mw\+Auth\+Type\+\_\+\+ENCRYPT&\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000001}{Todo}}]remove for 1.\+0 \end{DoxyRefDesc}
\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwAuthType\_RC2\_40@{mwAuthType\_RC2\_40}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwAuthType\_RC2\_40@{mwAuthType\_RC2\_40}}}\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a507b31a154f6deebd54721cdf493c900}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a507b31a154f6deebd54721cdf493c900} 
mw\+Auth\+Type\+\_\+\+RC2\+\_\+40&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwAuthType\_RC2\_128@{mwAuthType\_RC2\_128}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwAuthType\_RC2\_128@{mwAuthType\_RC2\_128}}}\Hypertarget{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a62f209ad72b476e0d4d3cc8675370704}\label{mw__message_8h_a910bfd3618535759d5e7e5f89274f718a62f209ad72b476e0d4d3cc8675370704} 
mw\+Auth\+Type\+\_\+\+RC2\+\_\+128&\\
\hline

\end{DoxyEnumFields}
\Hypertarget{mw__message_8h_a600afdfadebb9d20827cef17756f0fae}\label{mw__message_8h_a600afdfadebb9d20827cef17756f0fae} 
\index{mw\_message.h@{mw\_message.h}!mwMessageOption@{mwMessageOption}}
\index{mwMessageOption@{mwMessageOption}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessageOption}{mwMessageOption}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{mw__message_8h_a600afdfadebb9d20827cef17756f0fae}{mw\+Message\+Option}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessageOption\_ENCRYPT@{mwMessageOption\_ENCRYPT}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessageOption\_ENCRYPT@{mwMessageOption\_ENCRYPT}}}\Hypertarget{mw__message_8h_a600afdfadebb9d20827cef17756f0faeabd68ef5475779bfef1249150fe300591}\label{mw__message_8h_a600afdfadebb9d20827cef17756f0faeabd68ef5475779bfef1249150fe300591} 
mw\+Message\+Option\+\_\+\+ENCRYPT&message data is encrypted \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessageOption\_HAS\_ATTRIBS@{mwMessageOption\_HAS\_ATTRIBS}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessageOption\_HAS\_ATTRIBS@{mwMessageOption\_HAS\_ATTRIBS}}}\Hypertarget{mw__message_8h_a600afdfadebb9d20827cef17756f0faea875724a2b0308b46cb90d15bc28fa499}\label{mw__message_8h_a600afdfadebb9d20827cef17756f0faea875724a2b0308b46cb90d15bc28fa499} 
mw\+Message\+Option\+\_\+\+HAS\+\_\+\+ATTRIBS&message has attributes \\
\hline

\end{DoxyEnumFields}
\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949} 
\index{mw\_message.h@{mw\_message.h}!mwMessageType@{mwMessageType}}
\index{mwMessageType@{mwMessageType}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessageType}{mwMessageType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949}{mw\+Message\+Type}}}



Indicates the type of a message. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_HANDSHAKE@{mwMessage\_HANDSHAKE}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_HANDSHAKE@{mwMessage\_HANDSHAKE}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a153688607c3fc134cbfd967d1e20ff74}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a153688607c3fc134cbfd967d1e20ff74} 
mw\+Message\+\_\+\+HANDSHAKE&\doxylink{structmwMsgHandshake}{mw\+Msg\+Handshake} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_HANDSHAKE\_ACK@{mwMessage\_HANDSHAKE\_ACK}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_HANDSHAKE\_ACK@{mwMessage\_HANDSHAKE\_ACK}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaa0a054a32aab5eef398faba6928089d}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaa0a054a32aab5eef398faba6928089d} 
mw\+Message\+\_\+\+HANDSHAKE\+\_\+\+ACK&\doxylink{structmwMsgHandshakeAck}{mw\+Msg\+Handshake\+Ack} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_LOGIN@{mwMessage\_LOGIN}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_LOGIN@{mwMessage\_LOGIN}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ab53ea38b2776875a824b822c7c71e8f8}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ab53ea38b2776875a824b822c7c71e8f8} 
mw\+Message\+\_\+\+LOGIN&\doxylink{structmwMsgLogin}{mw\+Msg\+Login} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_LOGIN\_ACK@{mwMessage\_LOGIN\_ACK}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_LOGIN\_ACK@{mwMessage\_LOGIN\_ACK}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7b55aa921d492c225b0598966bcd5d45}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7b55aa921d492c225b0598966bcd5d45} 
mw\+Message\+\_\+\+LOGIN\+\_\+\+ACK&\doxylink{structmwMsgLoginAck}{mw\+Msg\+Login\+Ack} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_LOGIN\_REDIRECT@{mwMessage\_LOGIN\_REDIRECT}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_LOGIN\_REDIRECT@{mwMessage\_LOGIN\_REDIRECT}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a87bc7b61d8ba8f3237770104c1497501}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a87bc7b61d8ba8f3237770104c1497501} 
mw\+Message\+\_\+\+LOGIN\+\_\+\+REDIRECT&\doxylink{structmwMsgLoginRedirect}{mw\+Msg\+Login\+Redirect} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_LOGIN\_CONTINUE@{mwMessage\_LOGIN\_CONTINUE}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_LOGIN\_CONTINUE@{mwMessage\_LOGIN\_CONTINUE}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac508ff54fd6cb0e85c646bd81ea2a316}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac508ff54fd6cb0e85c646bd81ea2a316} 
mw\+Message\+\_\+\+LOGIN\+\_\+\+CONTINUE&\doxylink{structmwMsgLoginContinue}{mw\+Msg\+Login\+Continue} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_CHANNEL\_CREATE@{mwMessage\_CHANNEL\_CREATE}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_CHANNEL\_CREATE@{mwMessage\_CHANNEL\_CREATE}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a592b2ec2e5ddc1f8a4f0eb3c859a12a6}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a592b2ec2e5ddc1f8a4f0eb3c859a12a6} 
mw\+Message\+\_\+\+CHANNEL\+\_\+\+CREATE&\doxylink{structmwMsgChannelCreate}{mw\+Msg\+Channel\+Create} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_CHANNEL\_DESTROY@{mwMessage\_CHANNEL\_DESTROY}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_CHANNEL\_DESTROY@{mwMessage\_CHANNEL\_DESTROY}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a79138d2b50cdb848db5f9a9a560a9b79}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a79138d2b50cdb848db5f9a9a560a9b79} 
mw\+Message\+\_\+\+CHANNEL\+\_\+\+DESTROY&\doxylink{structmwMsgChannelDestroy}{mw\+Msg\+Channel\+Destroy} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_CHANNEL\_SEND@{mwMessage\_CHANNEL\_SEND}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_CHANNEL\_SEND@{mwMessage\_CHANNEL\_SEND}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949affc27704cfd3d60671c99523c5da9972}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949affc27704cfd3d60671c99523c5da9972} 
mw\+Message\+\_\+\+CHANNEL\+\_\+\+SEND&\doxylink{structmwMsgChannelSend}{mw\+Msg\+Channel\+Send} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_CHANNEL\_ACCEPT@{mwMessage\_CHANNEL\_ACCEPT}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_CHANNEL\_ACCEPT@{mwMessage\_CHANNEL\_ACCEPT}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a0d828997c0e561ea71793d0586227b23}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a0d828997c0e561ea71793d0586227b23} 
mw\+Message\+\_\+\+CHANNEL\+\_\+\+ACCEPT&\doxylink{structmwMsgChannelAccept}{mw\+Msg\+Channel\+Accept} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_SET\_USER\_STATUS@{mwMessage\_SET\_USER\_STATUS}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_SET\_USER\_STATUS@{mwMessage\_SET\_USER\_STATUS}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aa44c5ad6a60abbd82e38efe8d2d7caa5}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aa44c5ad6a60abbd82e38efe8d2d7caa5} 
mw\+Message\+\_\+\+SET\+\_\+\+USER\+\_\+\+STATUS&\doxylink{structmwMsgSetUserStatus}{mw\+Msg\+Set\+User\+Status} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_SET\_PRIVACY\_LIST@{mwMessage\_SET\_PRIVACY\_LIST}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_SET\_PRIVACY\_LIST@{mwMessage\_SET\_PRIVACY\_LIST}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac738082bf05a63638dcf24c99b1c60c0}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949ac738082bf05a63638dcf24c99b1c60c0} 
mw\+Message\+\_\+\+SET\+\_\+\+PRIVACY\+\_\+\+LIST&\doxylink{structmwMsgSetPrivacyList}{mw\+Msg\+Set\+Privacy\+List} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_SENSE\_SERVICE@{mwMessage\_SENSE\_SERVICE}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_SENSE\_SERVICE@{mwMessage\_SENSE\_SERVICE}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7790d9d6205172c7cfe9ba6d365e5434}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a7790d9d6205172c7cfe9ba6d365e5434} 
mw\+Message\+\_\+\+SENSE\+\_\+\+SERVICE&\doxylink{structmwMsgSenseService}{mw\+Msg\+Sense\+Service} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_ADMIN@{mwMessage\_ADMIN}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_ADMIN@{mwMessage\_ADMIN}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a6ad30a764ca2b14045ab22e940ce2fe3}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949a6ad30a764ca2b14045ab22e940ce2fe3} 
mw\+Message\+\_\+\+ADMIN&\doxylink{structmwMsgAdmin}{mw\+Msg\+Admin} \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{mwMessage\_ANNOUNCE@{mwMessage\_ANNOUNCE}!mw\_message.h@{mw\_message.h}}\index{mw\_message.h@{mw\_message.h}!mwMessage\_ANNOUNCE@{mwMessage\_ANNOUNCE}}}\Hypertarget{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaac3b404adb68bb0d7ed2e0c4d691540}\label{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949aaac3b404adb68bb0d7ed2e0c4d691540} 
mw\+Message\+\_\+\+ANNOUNCE&\doxylink{structmwMsgAnnounce}{mw\+Msg\+Announce} \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\Hypertarget{mw__message_8h_a8eeaf5eb424fbcc82ee3982b8ac7171c}\label{mw__message_8h_a8eeaf5eb424fbcc82ee3982b8ac7171c} 
\index{mw\_message.h@{mw\_message.h}!mwMessage\_free@{mwMessage\_free}}
\index{mwMessage\_free@{mwMessage\_free}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessage\_free()}{mwMessage\_free()}}
{\footnotesize\ttfamily void mw\+Message\+\_\+free (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*}}]{msg }\end{DoxyParamCaption})}

\Hypertarget{mw__message_8h_a55e9f5b84fe1726c81781fedf2955725}\label{mw__message_8h_a55e9f5b84fe1726c81781fedf2955725} 
\index{mw\_message.h@{mw\_message.h}!mwMessage\_get@{mwMessage\_get}}
\index{mwMessage\_get@{mwMessage\_get}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessage\_get()}{mwMessage\_get()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*} mw\+Message\+\_\+get (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmwGetBuffer}{mw\+Get\+Buffer}} \texorpdfstring{$\ast$}{*}}]{b }\end{DoxyParamCaption})}



build a message from its representation 

\Hypertarget{mw__message_8h_acb3ffa4eb0f43c443b31152a06d5efce}\label{mw__message_8h_acb3ffa4eb0f43c443b31152a06d5efce} 
\index{mw\_message.h@{mw\_message.h}!mwMessage\_new@{mwMessage\_new}}
\index{mwMessage\_new@{mwMessage\_new}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessage\_new()}{mwMessage\_new()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*} mw\+Message\+\_\+new (\begin{DoxyParamCaption}\item[{enum \mbox{\hyperlink{mw__message_8h_a7bce7f736bca2783bbe462c953ac2949}{mw\+Message\+Type}}}]{type }\end{DoxyParamCaption})}



Allocate and initialize a new message of the specified type. 

\Hypertarget{mw__message_8h_a254cbc94eb016531692f3fb5d88e2213}\label{mw__message_8h_a254cbc94eb016531692f3fb5d88e2213} 
\index{mw\_message.h@{mw\_message.h}!mwMessage\_put@{mwMessage\_put}}
\index{mwMessage\_put@{mwMessage\_put}!mw\_message.h@{mw\_message.h}}
\doxysubsubsection{\texorpdfstring{mwMessage\_put()}{mwMessage\_put()}}
{\footnotesize\ttfamily void mw\+Message\+\_\+put (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmwPutBuffer}{mw\+Put\+Buffer}} \texorpdfstring{$\ast$}{*}}]{b,  }\item[{struct \mbox{\hyperlink{structmwMessage}{mw\+Message}} \texorpdfstring{$\ast$}{*}}]{msg }\end{DoxyParamCaption})}

