diff options
| author | Nick Shipp <git@segbrk.com> | 2020-06-30 20:04:38 -0400 |
|---|---|---|
| committer | Jordan <jordan@psifertex.com> | 2020-06-30 22:08:51 -0400 |
| commit | af74903c997d3b1758818c28a50ca9dc31d6aac0 (patch) | |
| tree | 1a424a006daa912ec67eb780c18ef2db37e5d9e6 /python/binaryview.py | |
| parent | 8acc69ae58185d54da01ac154aa0140c2d53e623 (diff) | |
Add setters for Segment attributes
Diffstat (limited to 'python/binaryview.py')
| -rw-r--r-- | python/binaryview.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index 3e1478be..fc61c9a7 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -944,6 +944,14 @@ class Segment(object): return core.BNSegmentGetStart(self.handle) @property + def length(self): + return len(self) + + @length.setter + def length(self, length): + core.BNSegmentSetLength(self.handle, length) + + @property def end(self): return core.BNSegmentGetEnd(self.handle) @@ -951,22 +959,57 @@ class Segment(object): def executable(self): return (core.BNSegmentGetFlags(self.handle) & SegmentFlag.SegmentExecutable) != 0 + @executable.setter + def executable(self, executable): + flags = core.BNSegmentGetFlags(self.handle) + if executable: + flags |= SegmentFlag.SegmentExecutable + else: + flags &= ~SegmentFlag.SegmentExecutable + core.BNSegmentSetFlags(self.handle, flags) + @property def writable(self): return (core.BNSegmentGetFlags(self.handle) & SegmentFlag.SegmentWritable) != 0 + @writable.setter + def writable(self, writable): + flags = core.BNSegmentGetFlags(self.handle) + if writable: + flags |= SegmentFlag.SegmentWritable + else: + flags &= ~SegmentFlag.SegmentWritable + core.BNSegmentSetFlags(self.handle, flags) + @property def readable(self): return (core.BNSegmentGetFlags(self.handle) & SegmentFlag.SegmentReadable) != 0 + @readable.setter + def readable(self, readable): + flags = core.BNSegmentGetFlags(self.handle) + if readable: + flags |= SegmentFlag.SegmentReadable + else: + flags &= ~SegmentFlag.SegmentReadable + core.BNSegmentSetFlags(self.handle, flags) + @property def data_length(self): return core.BNSegmentGetDataLength(self.handle) + @data_length.setter + def data_length(self, length): + core.BNSegmentSetDataLength(self.handle, length) + @property def data_offset(self): return core.BNSegmentGetDataOffset(self.handle) + @data_offset.setter + def data_offset(self, offset): + core.BNSegmentSetDataOffset(self.handle, offset) + @property def data_end(self): return core.BNSegmentGetDataEnd(self.handle) |
