Plan 9 from Bell Labs’s /usr/web/sources/contrib/bichued/root/sys/lib/python/struct.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�
��c@skdZdZddklZlZdZhZd�Zd�Zd�Z	d�Z
d	�Zd
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/sys/lib/python/struct.pyt_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/sys/lib/python/struct.pytcalcsize+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/sys/lib/python/struct.pyR
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/sys/lib/python/struct.pyRAs
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/sys/lib/python/struct.pyRMs
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	Rtunpack_from(RRRR((s/sys/lib/python/struct.pyRYs
N(
t__doc__t__version__t_structRRRRRRR
RRR(((s/sys/lib/python/struct.pys<module>s					

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].