\hypertarget{struct_protobuf_c_message}{}\section{Protobuf\+C\+Message Struct Reference}
\label{struct_protobuf_c_message}\index{Protobuf\+C\+Message@{Protobuf\+C\+Message}}


{\ttfamily \#include $<$protobuf-\/c.\+h$>$}



Collaboration diagram for Protobuf\+C\+Message\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{struct_protobuf_c_message__coll__graph}
\end{center}
\end{figure}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{struct_protobuf_c_message_descriptor}{Protobuf\+C\+Message\+Descriptor} $\ast$ \hyperlink{struct_protobuf_c_message_a66da6c9641275dee24cf7f23bdfacb32}{descriptor}
\item 
unsigned \hyperlink{struct_protobuf_c_message_acd1d8e588531ab28fa980a0f774a6f0c}{n\+\_\+unknown\+\_\+fields}
\item 
\hyperlink{struct_protobuf_c_message_unknown_field}{Protobuf\+C\+Message\+Unknown\+Field} $\ast$ \hyperlink{struct_protobuf_c_message_a4f8e40669561df943cedabef74de42d2}{unknown\+\_\+fields}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
An instance of a message.

{\ttfamily \hyperlink{struct_protobuf_c_message}{Protobuf\+C\+Message}} is a light-\/weight \char`\"{}base class\char`\"{} for all messages.

In particular, {\ttfamily \hyperlink{struct_protobuf_c_message}{Protobuf\+C\+Message}} doesn\textquotesingle{}t have any allocation policy associated with it. That\textquotesingle{}s because it\textquotesingle{}s common to create {\ttfamily \hyperlink{struct_protobuf_c_message}{Protobuf\+C\+Message}} objects on the stack. In fact, that\textquotesingle{}s what we recommend for sending messages. If the object is allocated from the stack, you can\textquotesingle{}t really have a memory leak.

This means that calls to functions like \hyperlink{group__api_ga1e88dc4ae2aa7d5bdb593662ba212f22}{protobuf\+\_\+c\+\_\+message\+\_\+unpack()} which return a {\ttfamily \hyperlink{struct_protobuf_c_message}{Protobuf\+C\+Message}} must be paired with a call to a free function, like \hyperlink{group__api_ga67d71b3349faa97e879e888e88c8029e}{protobuf\+\_\+c\+\_\+message\+\_\+free\+\_\+unpacked()}. 

Definition at line 640 of file protobuf-\/c.\+h.



\subsection{Field Documentation}
\mbox{\Hypertarget{struct_protobuf_c_message_a66da6c9641275dee24cf7f23bdfacb32}\label{struct_protobuf_c_message_a66da6c9641275dee24cf7f23bdfacb32}} 
\index{Protobuf\+C\+Message@{Protobuf\+C\+Message}!descriptor@{descriptor}}
\index{descriptor@{descriptor}!Protobuf\+C\+Message@{Protobuf\+C\+Message}}
\subsubsection{\texorpdfstring{descriptor}{descriptor}}
{\footnotesize\ttfamily const \hyperlink{struct_protobuf_c_message_descriptor}{Protobuf\+C\+Message\+Descriptor}$\ast$ descriptor}

The descriptor for this message type. 

Definition at line 642 of file protobuf-\/c.\+h.

\mbox{\Hypertarget{struct_protobuf_c_message_acd1d8e588531ab28fa980a0f774a6f0c}\label{struct_protobuf_c_message_acd1d8e588531ab28fa980a0f774a6f0c}} 
\index{Protobuf\+C\+Message@{Protobuf\+C\+Message}!n\+\_\+unknown\+\_\+fields@{n\+\_\+unknown\+\_\+fields}}
\index{n\+\_\+unknown\+\_\+fields@{n\+\_\+unknown\+\_\+fields}!Protobuf\+C\+Message@{Protobuf\+C\+Message}}
\subsubsection{\texorpdfstring{n\+\_\+unknown\+\_\+fields}{n\_unknown\_fields}}
{\footnotesize\ttfamily unsigned n\+\_\+unknown\+\_\+fields}

The number of elements in {\ttfamily unknown\+\_\+fields}. 

Definition at line 644 of file protobuf-\/c.\+h.

\mbox{\Hypertarget{struct_protobuf_c_message_a4f8e40669561df943cedabef74de42d2}\label{struct_protobuf_c_message_a4f8e40669561df943cedabef74de42d2}} 
\index{Protobuf\+C\+Message@{Protobuf\+C\+Message}!unknown\+\_\+fields@{unknown\+\_\+fields}}
\index{unknown\+\_\+fields@{unknown\+\_\+fields}!Protobuf\+C\+Message@{Protobuf\+C\+Message}}
\subsubsection{\texorpdfstring{unknown\+\_\+fields}{unknown\_fields}}
{\footnotesize\ttfamily \hyperlink{struct_protobuf_c_message_unknown_field}{Protobuf\+C\+Message\+Unknown\+Field}$\ast$ unknown\+\_\+fields}

The fields that weren\textquotesingle{}t recognized by the parser. 

Definition at line 646 of file protobuf-\/c.\+h.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/protobuf-\/c/\hyperlink{protobuf-c_8h}{protobuf-\/c.\+h}\end{DoxyCompactItemize}
