44 |
44 |
45 SEMANTIC_TAG_FINITE_SET = 258 |
45 SEMANTIC_TAG_FINITE_SET = 258 |
46 |
46 |
47 # Indefinite types begin with their major type ORd with information value 31. |
47 # Indefinite types begin with their major type ORd with information value 31. |
48 BEGIN_INDEFINITE_BYTESTRING = struct.pack( |
48 BEGIN_INDEFINITE_BYTESTRING = struct.pack( |
49 r'>B', MAJOR_TYPE_BYTESTRING << 5 | SUBTYPE_INDEFINITE |
49 '>B', MAJOR_TYPE_BYTESTRING << 5 | SUBTYPE_INDEFINITE |
50 ) |
50 ) |
51 BEGIN_INDEFINITE_ARRAY = struct.pack( |
51 BEGIN_INDEFINITE_ARRAY = struct.pack( |
52 r'>B', MAJOR_TYPE_ARRAY << 5 | SUBTYPE_INDEFINITE |
52 '>B', MAJOR_TYPE_ARRAY << 5 | SUBTYPE_INDEFINITE |
53 ) |
53 ) |
54 BEGIN_INDEFINITE_MAP = struct.pack( |
54 BEGIN_INDEFINITE_MAP = struct.pack( |
55 r'>B', MAJOR_TYPE_MAP << 5 | SUBTYPE_INDEFINITE |
55 '>B', MAJOR_TYPE_MAP << 5 | SUBTYPE_INDEFINITE |
56 ) |
56 ) |
57 |
57 |
58 ENCODED_LENGTH_1 = struct.Struct(r'>B') |
58 ENCODED_LENGTH_1 = struct.Struct('>B') |
59 ENCODED_LENGTH_2 = struct.Struct(r'>BB') |
59 ENCODED_LENGTH_2 = struct.Struct('>BB') |
60 ENCODED_LENGTH_3 = struct.Struct(r'>BH') |
60 ENCODED_LENGTH_3 = struct.Struct('>BH') |
61 ENCODED_LENGTH_4 = struct.Struct(r'>BL') |
61 ENCODED_LENGTH_4 = struct.Struct('>BL') |
62 ENCODED_LENGTH_5 = struct.Struct(r'>BQ') |
62 ENCODED_LENGTH_5 = struct.Struct('>BQ') |
63 |
63 |
64 # The break ends an indefinite length item. |
64 # The break ends an indefinite length item. |
65 BREAK = b'\xff' |
65 BREAK = b'\xff' |
66 BREAK_INT = 255 |
66 BREAK_INT = 255 |
67 |
67 |
260 |
260 |
261 def _elementtointeger(b, i): |
261 def _elementtointeger(b, i): |
262 return ord(b[i]) |
262 return ord(b[i]) |
263 |
263 |
264 |
264 |
265 STRUCT_BIG_UBYTE = struct.Struct(r'>B') |
265 STRUCT_BIG_UBYTE = struct.Struct('>B') |
266 STRUCT_BIG_USHORT = struct.Struct(b'>H') |
266 STRUCT_BIG_USHORT = struct.Struct(b'>H') |
267 STRUCT_BIG_ULONG = struct.Struct(b'>L') |
267 STRUCT_BIG_ULONG = struct.Struct(b'>L') |
268 STRUCT_BIG_ULONGLONG = struct.Struct(b'>Q') |
268 STRUCT_BIG_ULONGLONG = struct.Struct(b'>Q') |
269 |
269 |
270 SPECIAL_NONE = 0 |
270 SPECIAL_NONE = 0 |