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


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



Collaboration diagram for Protobuf\+C\+Message\+Descriptor\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{struct_protobuf_c_message_descriptor__coll__graph}
\end{center}
\end{figure}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{struct_protobuf_c_message_descriptor_a57f54349f4fd1cbbb52058812e146af2}{magic}
\item 
const char $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a8f8f80d37794cde9472343e4487ba3eb}{name}
\item 
const char $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a0450bcd11f025ca4e4161b96171ae150}{short\+\_\+name}
\item 
const char $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a91c73d60b5effaac5e74b87e37809a38}{c\+\_\+name}
\item 
const char $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a766f4083ce615c14a5c93fde78545f53}{package\+\_\+name}
\item 
size\+\_\+t \hyperlink{struct_protobuf_c_message_descriptor_a9f8efb1cc81d41d28528fbe1e07a2456}{sizeof\+\_\+message}
\item 
unsigned \hyperlink{struct_protobuf_c_message_descriptor_a1f5b954bc5f3a1952e33076e03cabf90}{n\+\_\+fields}
\item 
const \hyperlink{struct_protobuf_c_field_descriptor}{Protobuf\+C\+Field\+Descriptor} $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a5f412d314b6ce8a71b836e465f1ef68c}{fields}
\item 
const unsigned $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a38a1dc757d645221b46b48593be041af}{fields\+\_\+sorted\+\_\+by\+\_\+name}
\item 
unsigned \hyperlink{struct_protobuf_c_message_descriptor_a55eb4ad650aab9fca1befde3dd49cf3c}{n\+\_\+field\+\_\+ranges}
\item 
const \hyperlink{struct_protobuf_c_int_range}{Protobuf\+C\+Int\+Range} $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a6cb519eb6b68ad76a2538c4057237c54}{field\+\_\+ranges}
\item 
\hyperlink{group__api_gab04aebb285c9c4bd8fa934235e2af64f}{Protobuf\+C\+Message\+Init} \hyperlink{struct_protobuf_c_message_descriptor_ae3ebf06b146fe8e38ec3b30639fc8593}{message\+\_\+init}
\item 
void $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a66808c6c9c319041ef40efb34e6f88db}{reserved1}
\item 
void $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a500f748997956fcb15a4740664b3688c}{reserved2}
\item 
void $\ast$ \hyperlink{struct_protobuf_c_message_descriptor_a83dd70a7026a828a69e0f31a3422cced}{reserved3}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Describes a message. 

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



\subsection{Field Documentation}
\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a91c73d60b5effaac5e74b87e37809a38}\label{struct_protobuf_c_message_descriptor_a91c73d60b5effaac5e74b87e37809a38}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!c\+\_\+name@{c\+\_\+name}}
\index{c\+\_\+name@{c\+\_\+name}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{c\+\_\+name}{c\_name}}
{\footnotesize\ttfamily const char$\ast$ c\+\_\+name}

Identifier used in generated C code. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a6cb519eb6b68ad76a2538c4057237c54}\label{struct_protobuf_c_message_descriptor_a6cb519eb6b68ad76a2538c4057237c54}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!field\+\_\+ranges@{field\+\_\+ranges}}
\index{field\+\_\+ranges@{field\+\_\+ranges}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{field\+\_\+ranges}{field\_ranges}}
{\footnotesize\ttfamily const \hyperlink{struct_protobuf_c_int_range}{Protobuf\+C\+Int\+Range}$\ast$ field\+\_\+ranges}

Used for looking up fields by id. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a5f412d314b6ce8a71b836e465f1ef68c}\label{struct_protobuf_c_message_descriptor_a5f412d314b6ce8a71b836e465f1ef68c}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!fields@{fields}}
\index{fields@{fields}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{fields}{fields}}
{\footnotesize\ttfamily const \hyperlink{struct_protobuf_c_field_descriptor}{Protobuf\+C\+Field\+Descriptor}$\ast$ fields}

Field descriptors, sorted by tag number. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a38a1dc757d645221b46b48593be041af}\label{struct_protobuf_c_message_descriptor_a38a1dc757d645221b46b48593be041af}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!fields\+\_\+sorted\+\_\+by\+\_\+name@{fields\+\_\+sorted\+\_\+by\+\_\+name}}
\index{fields\+\_\+sorted\+\_\+by\+\_\+name@{fields\+\_\+sorted\+\_\+by\+\_\+name}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{fields\+\_\+sorted\+\_\+by\+\_\+name}{fields\_sorted\_by\_name}}
{\footnotesize\ttfamily const unsigned$\ast$ fields\+\_\+sorted\+\_\+by\+\_\+name}

Used for looking up fields by name. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a57f54349f4fd1cbbb52058812e146af2}\label{struct_protobuf_c_message_descriptor_a57f54349f4fd1cbbb52058812e146af2}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!magic@{magic}}
\index{magic@{magic}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{magic}{magic}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} magic}

Magic value checked to ensure that the A\+PI is used correctly. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_ae3ebf06b146fe8e38ec3b30639fc8593}\label{struct_protobuf_c_message_descriptor_ae3ebf06b146fe8e38ec3b30639fc8593}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!message\+\_\+init@{message\+\_\+init}}
\index{message\+\_\+init@{message\+\_\+init}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{message\+\_\+init}{message\_init}}
{\footnotesize\ttfamily \hyperlink{group__api_gab04aebb285c9c4bd8fa934235e2af64f}{Protobuf\+C\+Message\+Init} message\+\_\+init}

Message initialisation function. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a55eb4ad650aab9fca1befde3dd49cf3c}\label{struct_protobuf_c_message_descriptor_a55eb4ad650aab9fca1befde3dd49cf3c}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!n\+\_\+field\+\_\+ranges@{n\+\_\+field\+\_\+ranges}}
\index{n\+\_\+field\+\_\+ranges@{n\+\_\+field\+\_\+ranges}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{n\+\_\+field\+\_\+ranges}{n\_field\_ranges}}
{\footnotesize\ttfamily unsigned n\+\_\+field\+\_\+ranges}

Number of elements in {\ttfamily field\+\_\+ranges}. 

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

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

Number of elements in {\ttfamily fields}. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a8f8f80d37794cde9472343e4487ba3eb}\label{struct_protobuf_c_message_descriptor_a8f8f80d37794cde9472343e4487ba3eb}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!name@{name}}
\index{name@{name}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{name}{name}}
{\footnotesize\ttfamily const char$\ast$ name}

The qualified name (e.\+g., \char`\"{}namespace.\+Type\char`\"{}). 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a766f4083ce615c14a5c93fde78545f53}\label{struct_protobuf_c_message_descriptor_a766f4083ce615c14a5c93fde78545f53}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!package\+\_\+name@{package\+\_\+name}}
\index{package\+\_\+name@{package\+\_\+name}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{package\+\_\+name}{package\_name}}
{\footnotesize\ttfamily const char$\ast$ package\+\_\+name}

The dot-\/separated namespace. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a66808c6c9c319041ef40efb34e6f88db}\label{struct_protobuf_c_message_descriptor_a66808c6c9c319041ef40efb34e6f88db}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!reserved1@{reserved1}}
\index{reserved1@{reserved1}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{reserved1}{reserved1}}
{\footnotesize\ttfamily void$\ast$ reserved1}

Reserved for future use. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a500f748997956fcb15a4740664b3688c}\label{struct_protobuf_c_message_descriptor_a500f748997956fcb15a4740664b3688c}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!reserved2@{reserved2}}
\index{reserved2@{reserved2}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{reserved2}{reserved2}}
{\footnotesize\ttfamily void$\ast$ reserved2}

Reserved for future use. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a83dd70a7026a828a69e0f31a3422cced}\label{struct_protobuf_c_message_descriptor_a83dd70a7026a828a69e0f31a3422cced}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!reserved3@{reserved3}}
\index{reserved3@{reserved3}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{reserved3}{reserved3}}
{\footnotesize\ttfamily void$\ast$ reserved3}

Reserved for future use. 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a0450bcd11f025ca4e4161b96171ae150}\label{struct_protobuf_c_message_descriptor_a0450bcd11f025ca4e4161b96171ae150}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!short\+\_\+name@{short\+\_\+name}}
\index{short\+\_\+name@{short\+\_\+name}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{short\+\_\+name}{short\_name}}
{\footnotesize\ttfamily const char$\ast$ short\+\_\+name}

The unqualified name as given in the .proto file (e.\+g., \char`\"{}\+Type\char`\"{}). 

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

\mbox{\Hypertarget{struct_protobuf_c_message_descriptor_a9f8efb1cc81d41d28528fbe1e07a2456}\label{struct_protobuf_c_message_descriptor_a9f8efb1cc81d41d28528fbe1e07a2456}} 
\index{Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}!sizeof\+\_\+message@{sizeof\+\_\+message}}
\index{sizeof\+\_\+message@{sizeof\+\_\+message}!Protobuf\+C\+Message\+Descriptor@{Protobuf\+C\+Message\+Descriptor}}
\subsubsection{\texorpdfstring{sizeof\+\_\+message}{sizeof\_message}}
{\footnotesize\ttfamily size\+\_\+t sizeof\+\_\+message}

Size in bytes of the C structure representing an instance of this type of message. 

Definition at line 669 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}
