1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
"""
Mixed-module definition for the struct module.
Note that there is also a pure Python implementation in pypy/lib/struct.py;
the present mixed-module version of struct takes precedence if it is enabled.
"""
from pypy.interpreter.mixedmodule import MixedModule
class Module(MixedModule):
"""\
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;
q:long long;
Q:unsigned long 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.
Whitespace between formats is ignored.
The variable struct.error is an exception raised on errors."""
applevel_name = "_struct"
interpleveldefs = {
'error': 'interp_struct.get_error(space)',
'calcsize': 'interp_struct.calcsize',
'pack': 'interp_struct.pack',
'pack_into': 'interp_struct.pack_into',
'unpack': 'interp_struct.unpack',
'unpack_from': 'interp_struct.unpack_from',
'iter_unpack': 'interp_struct.iter_unpack',
'Struct': 'interp_struct.W_Struct',
'_clearcache': 'interp_struct.clearcache',
}
appleveldefs = {
}
|