Mike Auty
f50a0b715d
Add in object type-annotations.
2017-12-13 20:48:52 +00:00
Mike Auty
f40fae197d
Convert to python3.5 syntax (no local type-annotations).
2017-12-13 20:48:52 +00:00
Mike Auty
21b4506b7b
Add in type-annotations for the remaining interfaces.
2017-12-13 20:48:52 +00:00
Mike Auty
d7d13eb19c
Add type annotations to most of the automagic files.
2017-12-13 20:48:52 +00:00
Mike Auty
be1ebf03b0
Don't forget the constants import.
2017-11-09 23:16:46 +00:00
Mike Auty
18b84e31a5
Don't forget the constants import.
2017-11-09 23:16:30 +00:00
Mike Auty
042ff5ca25
Use .vol.count for consistency.
2017-10-09 00:19:05 +01:00
Mike Auty
8dc6401ad8
Add in gentle deprecation warnings about non-helper properties to prevent member confusion.
2017-10-08 23:02:13 +01:00
Mike Auty
42579ca619
Allow subtypes for array_of_pointers to be strings.
2017-10-05 00:30:16 +01:00
Mike Auty
5fbc90e699
Add in utility function for recasting objects as array of pointers of objects.
2017-10-05 00:10:02 +01:00
Mike Auty
88fa13bbdd
Allow count to be specified as a parameter.
2017-10-04 22:21:29 +01:00
Mike Auty
71cfec18a6
Add commentary around a potential conflict of method with property.
2017-09-20 09:38:28 +01:00
Mike Auty
5261da780b
Allow the size of array to be changed (may override an existing count member).
2017-09-18 23:23:23 +01:00
Mike Auty
255228ecb0
Convert to abc (post python-3.3).
2017-09-18 23:22:08 +01:00
Nick L. Petroni, Jr
5bb2aef9fc
Created linux.proc.Maps plugin.
...
Added object extensions for the key structures. Also added
constants.linux, which will contain Linux-specific constants
that can't be extracted via dwarf.
2017-08-16 16:14:33 -04:00
Mike Auty
c336a39695
Fix up the Char type (struct.unpack returns a bytes, not a string).
2017-08-10 20:44:21 +01:00
Mike Auty
d32fc223e2
Fix up additional imports inconsistent with the coding style.
...
Note: also remove interfaces_configuration where ever possible
(this is not possible in the interfaces directory itself
because it would cause an import loop).
2017-08-09 22:32:44 +01:00
Mike Auty
d79d428edc
Ensure we use the native dictionary for more recent IFF versions (and correct issues with pointers and chars).
2017-06-23 15:44:58 +01:00
Mike Auty
5e15d522bd
Remove automatic IDE-inserted attributions.
...
They weren't consistent and they show just remind me how slowly
I've been getting vol 3 written! 5:S
There's git commits to track all of that stuff if we need it.
2017-05-14 11:40:49 +01:00
Mike Auty
d37732e9b6
Add in array_to_string helper function.
2017-04-21 00:01:12 +01:00
Mike Auty
6603e503c5
Rework enumeration access in symbol tables.
2017-02-04 14:46:46 +00:00
Mike Auty
547a3d94bb
Fix up the documentation and leave a note about cast accepting short type names.
2017-01-04 22:10:27 +00:00
Mike Auty
e596c6a1b7
Further documentation updates.
2017-01-03 23:06:39 +00:00
Mike Auty
a7ea6e2210
Improve the object/template documentation.
2017-01-01 01:43:08 +00:00
Mike Auty
390ccd330d
Remove property from _unresolved, since we manually make it a property when necessary.
2016-12-27 22:32:25 +00:00
Mike Auty
7a1fcec1b5
Change subtype to base_type to match the __init__ parameter name.
2016-12-20 08:31:01 +00:00
Mike Auty
1e6911b753
Create appropriate VolTemplateProxy classes for BitField and Enumeration.
2016-12-20 08:29:41 +00:00
Mike Auty
a7d3a95ad0
Fix BitFields (and Enumerations) to accept only Integer basetypes and derive from them properly.
2016-12-20 08:25:55 +00:00
Mike Auty
0f548e864c
Add in comment in case of mutability trouble in the Struct TemplateProxy.
2016-12-18 20:52:38 +00:00
Mike Auty
be075939d2
Remove flags as a fully-fledged object until it's been discussed
2016-12-18 19:38:05 +00:00
Mike Auty
09ee0e6258
Fix fairly deep flaw where resolved templates could be modified by casting or creating an object.
2016-12-18 19:21:27 +00:00
Mike Auty
190bcd7bf1
Include an initial flags object.
...
This might get removed, given it could be achieve with a wrapper rather
than a fully defined Object.
2016-12-18 16:29:19 +00:00
Mike Auty
54678823f8
Refactor BitField subtype to base_type to match enums (and fix a minor enum typo too).
2016-12-18 16:12:08 +00:00
Mike Auty
45d37bb961
Remove misleading TODO.
2016-12-18 15:52:03 +00:00
Mike Auty
efad3362db
Reset the string encoding changes, since we were doing it right the first time.
2016-12-18 15:51:27 +00:00
Mike Auty
e4905febf9
Ensure all objects can be inherited from.
2016-12-18 15:38:11 +00:00
Mike Auty
6102054bb6
Enable string encoding and emphasize that max_length applies to bytes in memory not to number of characters in the string.
2016-12-18 15:37:05 +00:00
Mike Auty
fbb66e6603
Support inverse caching of enumerations.
2016-12-18 02:10:54 +00:00
Mike Auty
4ac682fc42
Rename Enumeration subtype to base_type, since it should always be a primitive.
2016-12-18 02:07:11 +00:00
Mike Auty
884e397836
Update Enumeration objects again, hopefully correctly this time.
2016-12-15 23:04:51 +00:00
Mike Auty
bf61357ed2
Don't forget to call super's struct_format.
2016-12-15 09:06:05 +00:00
Mike Auty
de58df2363
Fix negation flip that returned entirely the wrong values for arrays.
2016-12-15 02:07:25 +00:00
Mike Auty
d3f6a40d66
Change the docstrings to use name rather than entry for enumerations.
2016-12-15 02:07:03 +00:00
Mike Auty
de18fe234c
Add in an implementation for Enumeration for testing.
2016-12-15 02:02:30 +00:00
Mike Auty
b686c65c9e
Rework array slicing to piggy-back off python's code.
2016-12-14 23:26:31 +00:00
Mike Auty
2c02df125a
Fix the truncation of strings
...
MHL kindly pointed out that the string wasn't truncating, and it turns
out I misread the struct documentation, which truncates or pads with
\x00s to ensure the appropriate length. We now truncate to the first
null we find.
2016-12-13 20:41:09 +00:00
Mike Auty
1f6fcd7bad
Ensure that the value of pointers always fall within their layer.
2016-12-07 09:52:33 +00:00
Mike Auty
797e51608e
Move the masking code into the data layer.
2016-12-07 09:50:59 +00:00
Mike Auty
6cb5d06d6d
Ensure all offsets are normalized to fall within their layer's address range.
2016-12-07 00:07:57 +00:00
Mike Auty
1c7de06bd0
Fix up issue with pointer sizes. Since cls is never used we're not losing information.
2016-12-06 02:44:11 +00:00