ŗō ˛ëŅDc@skdZdZddklZlZdZhZd„Zd„Zd„Z d„Z d „Z d d „Z d S( sˆ Functions to convert between Python values and C structs. Python strings are used to hold the data representing the C struct and also as format strings to describe the layout of data in the C struct. The optional first format char indicates byte order, size and alignment: @: native order, size & alignment (default) =: native order, std. size & alignment <: little-endian, std. size & alignment >: big-endian, std. size & alignment !: same as > The remaining chars indicate types of args and must match exactly; these can be preceded by a decimal repeat count: x: pad byte (no data); c:char; b:signed byte; B:unsigned byte; h:short; H:unsigned short; i:int; I:unsigned int; l:long; L:unsigned long; f:float; d:double. Special cases (preceding decimal count indicates length): s:string (array of char); p: pascal string (with count byte). Special case (only available in native format): P:an integer type that is wide enough to hold a pointer. Special case (not in native mode unless 'long long' in platform C): q:long long; Q:unsigned long long Whitespace between formats is ignored. The variable struct.error is an exception raised on errors. s0.1i˙˙˙˙(tStructterroridcCs;ttƒtjotiƒnt|ƒ}|t|<|S(N(tlent_cachet _MAXCACHEtclearR(tfmtts((s struct.pyct_compile#s   cCs7yt|}Wntj ot|ƒ}nX|iS(st Return size of C struct described by format string fmt. See struct.__doc__ for more on format strings. (RtKeyErrorRtsize(Rto((s struct.pyctcalcsize+s cGs=yt|}Wntj ot|ƒ}nX|i|ŒS(s Return string containing values v1, v2, ... packed according to fmt. See struct.__doc__ for more on format strings. (RR Rtpack(RtargsR ((s struct.pycR 6s cGsCyt|}Wntj ot|ƒ}nX|i|||ŒS(sļ Pack the values v1, v2, ... according to fmt, write the packed bytes into the writable buffer buf starting at offset. See struct.__doc__ for more on format strings. (RR Rt pack_into(RtbuftoffsetRR ((s struct.pycRAs cCs=yt|}Wntj ot|ƒ}nX|i|ƒS(s¯ Unpack the string, containing packed C structure data, according to fmt. Requires len(string)==calcsize(fmt). See struct.__doc__ for more on format strings. (RR Rtunpack(RRR ((s struct.pycRMs icCs@yt|}Wntj ot|ƒ}nX|i||ƒS(sĖ Unpack the buffer, containing packed C structure data, according to fmt starting at offset. Requires len(buffer[offset:]) >= calcsize(fmt). See struct.__doc__ for more on format strings. (RR Rt unpack_from(RRRR ((s struct.pycRYs N( t__doc__t __version__t_structRRRRRR R RRR(((s struct.pycss