self.default = self.any2i(None,default)
self.sz = struct.calcsize(self.fmt)
self.owners = []
- self.offset =0;
+ self._offset =0;
def get_size_bytes (self):
if hasattr(self, 'size'):
else:
return self.sz
+ def get_size_bits(self):
+ return getattr(self, 'size', self.sz * 8)
+
def register_owner(self, cls):
self.owners.append(cls)
def self_build(self, field_pos_list=None):
- if self.raw_packet_cache is not None:
- return self.raw_packet_cache
+ #if self.raw_packet_cache is not None:
+ # return self.raw_packet_cache
p=""
for f in self.fields_desc:
if type(p) is tuple :
self.sz = struct.calcsize(self.fmt)
self.owners = []
self.offset =0;
+ self._offset =0
def get_size_bytes (self):
else:
return self.sz
+ def get_size_bits(self):
+ return getattr(self, 'size', self.sz * 8)
+
def register_owner(self, cls):
self.owners.append(cls)
print ("field %-40s %02d %02d" % (f.name, f._offset,f.get_size_bytes () ) );
def self_build(self, field_pos_list=None):
- if self.raw_packet_cache is not None:
- return self.raw_packet_cache
+ #if self.raw_packet_cache is not None:
+ # return self.raw_packet_cache
p=b""
for f in self.fields_desc:
#print(f.name)