Skip to content

Commit

Permalink
change structs due to native struct size/alignment defaults
Browse files Browse the repository at this point in the history
  • Loading branch information
bdcht committed Feb 16, 2019
1 parent e985a6e commit 60cb861
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
5 changes: 0 additions & 5 deletions amoco/system/fs/ufs.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@
B : fs_space
""")
class superblock(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('fs_magic')
self.name_formatter('fs_clean')
Expand Down Expand Up @@ -278,7 +277,6 @@ def token_smode_fmt(k,x,cls):
I : ic_oeftflag
""")
class inode(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.func_formatter(ic_smode=token_smode_fmt)
self.flag_formatter('ic_suid')
Expand All @@ -304,7 +302,6 @@ def is_reg(self):
s : fsd_data
""")
class fsd(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
if data: self.unpack(data,offset)

Expand All @@ -324,7 +321,6 @@ def unpack(self,data,offset=0):
i : acl_who
""")
class acl(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
if data: self.unpack(data,offset)

Expand Down Expand Up @@ -373,7 +369,6 @@ def __init__(self,data="",offset=0):
extent*1 : extents ; list of extent structs
""")
class extent_block(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
if data: self.unpack(data,offset)

Expand Down
18 changes: 13 additions & 5 deletions amoco/system/imx6.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
B : version
""")
class HAB_Header(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('tag')
self.func_formatter(version=self.token_ver_format)
Expand Down Expand Up @@ -128,6 +129,7 @@ def __init__(self,data="",offset=0):
I : plugin
""")
class BootData(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.address_formatter('start')
self.address_formatter('size')
Expand All @@ -146,6 +148,7 @@ def __init__(self,data="",offset=0):
H :> elen
""")
class PublicKey(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('key_type')
if data:
Expand Down Expand Up @@ -217,7 +220,7 @@ def unpack(self,data,offset=0):
return self

def size(self):
S = struct.calcsize(self.order+self.format())
S = struct.calcsize(self.format())
S += sum((len(c) for c in self.cmds),0)
return S

Expand Down Expand Up @@ -247,6 +250,7 @@ def CMD(data,offset):
I : mask
""")
class CheckData(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('cmd')
self.address_formatter('address')
Expand All @@ -265,7 +269,7 @@ def unpack(self,data,offset=0):
return self

def size(self):
S = struct.calcsize(self.order+self.format())
S = struct.calcsize(self.format())
if hasattr(self,'count'): S += 4
return S

Expand All @@ -277,6 +281,7 @@ def size(self):
B : und
""")
class NOP(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('cmd')
if data: self.unpack(data,offset)
Expand All @@ -288,6 +293,7 @@ def __init__(self,data="",offset=0):
B : eng
""")
class Unlock(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('cmd')
if data: self.unpack(data,offset)
Expand All @@ -303,7 +309,7 @@ def unpack(self,data,offset=0):
return self

def size(self):
S = struct.calcsize(self.order+self.format())
S = struct.calcsize(self.format())
if hasattr(self,'val'): S += 4*len(self.val)
return S

Expand All @@ -321,6 +327,7 @@ def size(self):
I :> key_dat
""")
class InstallKey(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('cmd')
self.flag_formatter('flg')
Expand All @@ -341,7 +348,7 @@ def unpack(self,data,offset=0):
return self

def size(self):
S = struct.calcsize(self.order+self.format())
S = struct.calcsize(self.format())
if hasattr(self,'crt_hsh'): S += 4*len(self.crt_hsh)
return S

Expand All @@ -357,6 +364,7 @@ def size(self):
I :> aut_start
""")
class Authenticate(StructFormatter):
order = '<'
def __init__(self,data="",offset=0):
self.name_formatter('cmd')
self.flag_formatter('flg')
Expand Down Expand Up @@ -391,7 +399,7 @@ def unpack(self,data,offset=0):
return self

def size(self):
S = struct.calcsize(self.order+self.format())
S = struct.calcsize(self.format())
if hasattr(self,'blks'): S += 4*len(self.blks)
return S

Expand Down
4 changes: 2 additions & 2 deletions amoco/system/structs.py
Original file line number Diff line number Diff line change
Expand Up @@ -314,9 +314,9 @@ class StructCore(object):
@classmethod
def format(cls):
if cls.union is False:
return ''.join((f.format() for f in cls.fields))
return cls.order+(''.join((f.format() for f in cls.fields)))
else:
return cls.fields[cls.union].format()
return cls.order+cls.fields[cls.union].format()
@classmethod
def size(cls):
return struct.calcsize(cls.format())
Expand Down

0 comments on commit 60cb861

Please sign in to comment.