📄 gnet-pack.html
字号:
></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3459"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN3464"></A><H3><ANAME="GNET-CALCSIZE"></A>gnet_calcsize ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> gnet_calcsize (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *format, ...);</PRE></TD></TR></TABLE><P>Calculate the size of the buffer needed to pack the given format. All arguments should be passed.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3473"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>format</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3478"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>...</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3483"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN3488"></A><H3><ANAME="GNET-VCALCSIZE"></A>gnet_vcalcsize ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> gnet_vcalcsize (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *format, va_list args);</PRE></TD></TR></TABLE><P>Var arg interface to <AHREF="gnet-pack.html#GNET-CALCSIZE">gnet_calcsize</A>(). Size <AHREF="gnet-pack.html#GNET-CALCSIZE">gnet_calcsize</A>() for additional information.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3499"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>format</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3504"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>args</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3509"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN3514"></A><H3><ANAME="GNET-UNPACK"></A>gnet_unpack ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> gnet_unpack (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *format, <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *buffer, <GTKDOCLINKHREF="GUINT">guint</GTKDOCLINK> len, ...);</PRE></TD></TR></TABLE><P>The unpack format string is a list of types. Each type is represented by a character. Most types can be prefixed by an integer, which represents how many times it is repeated (eg, "4i2b" is equivalent to "iiiibb".</P><P> In unpack, the arguments must be pointers to the appropriate type. Strings and byte arrays are allocated dynamicly (by g_new). The caller is responsible for <GTKDOCLINKHREF="G-FREE">g_free</GTKDOCLINK>()-ing it.</P><P> Native size/order is the default. If the first character of FORMAT is < then little endian order and standard size are used. If the first character is > or !, then big endian (or network) order and standard size are used. Standard sizes are 1 byte for chars, 2 bytes for shorts, and 4 bytes for ints and longs.</P><P> x is a pad byte. The byte is skipped and not stored. We do not check its value.</P><P> b/B are signed/unsigned chars</P><P> h/H are signed/unsigned shorts (h is from sHort)</P><P> i/I are signed/unsigned ints</P><P> l/L are signed/unsigned longs</P><P> f/D are floats/doubles (always native order/size) v is a void pointer (always native size)</P><P> s is a zero-terminated string. REPEAT is repeat.</P><P> S is a zero-padded string of length REPEAT. We read REPEAT characters or until a NULL character. Any remaining characters are filled in with 0's. REPEAT must be specified.</P><P> r is a byte array of NEXT bytes. NEXT is the next argument and is an integer. REPEAT is repeat. (r is from "raw")</P><P> R is a byte array of REPEAT bytes. REPEAT must be specified.</P><P> String/byte array memory is allocated by unpack.</P><P> Mnemonics: sHort, Integer, Float, Double, Pointer, String, Raw</P><P> unpack was mostly inspired by Python's unpack, with some awareness of Perl's unpack.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3541"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>format</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3546"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>buffer</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3551"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>len</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3556"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>...</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3561"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN3566"></A><H3><ANAME="GNET-VUNPACK"></A>gnet_vunpack ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><GTKDOCLINKHREF="GINT">gint</GTKDOCLINK> gnet_vunpack (const <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *format, <GTKDOCLINKHREF="GCHAR">gchar</GTKDOCLINK> *buffer, <GTKDOCLINKHREF="GUINT">guint</GTKDOCLINK> len, va_list args);</PRE></TD></TR></TABLE><P>Var arg interface to <AHREF="gnet-pack.html#GNET-UNPACK">gnet_unpack</A>(). See <AHREF="gnet-pack.html#GNET-UNPACK">gnet_unpack</A>() for format information.</P><P></P><P></P><TABLECLASS="VARIABLELIST"BORDER="0"CELLSPACING="0"CELLPADDING="4"WIDTH="100%"BGCOLOR="#FFD0D0"><TBODY><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3579"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>format</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3584"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>buffer</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3589"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>len</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3594"><SPANSTYLE="white-space: nowrap"><TTCLASS="PARAMETER"><I>args</I></TT> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P></P></TD></TR><TR><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="20%"><ANAME="AEN3599"><SPANSTYLE="white-space: nowrap"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</SPAN></TD><TDALIGN="LEFT"VALIGN="TOP"WIDTH="80%"><P> </P></TD></TR></TBODY></TABLE></DIV></DIV><DIVCLASS="NAVFOOTER"><BRCLEAR="all"><BR><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="gnet-iochannel.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="book1.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="libgnet-reference.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"><AHREF="gnet-md5.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page >>></B></FONT></A></TD></TR><TR><TDCOLSPAN="2"ALIGN="left"><FONTCOLOR="#FFFFFF"SIZE="3"><B>iochannel</B></FONT></TD><TDCOLSPAN="2"ALIGN="right"><FONTCOLOR="#FFFFFF"SIZE="3"><B>md5</B></FONT></TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -