print '"not (validKernelAddr(nextm) or (nextm == 0))"'
return None
if not (validKernelAddr(nameaddr)):
if debug:
print '"not (validKernelAddr(nameaddr))"'
return None
name = readKmemString(nameaddr)
# check for sebek
# we also could look for the string which is in sebek " face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed\n"
# usualy sebec has a numeric only name. we might want to check for that
#if not name.isdigit():
# if debug:
# print 'module name is not strictly numeric'
# return
if usecount == 0 and nsymsm == 0 and syms == 0 and refs == 0:
if debug:
print
print "*** suspected sebek module at %x named %r, size %d bytes" % (addr, name, size)
# Guess Sebek Variables.
# The Sebeck 2.1.7 data block can be up to 256 ints (1024 bytes) big.
# We assume it starts minimum 320 bytes after the module name and
# maximum 400 bytes. Add more fuzz to this values for other versions.