amiga-e/ec33a_src/ec33a_src/extra/tools/sc.e

42 lines
1.0 KiB
Plaintext

-> ShowCache.e
MODULE 'exec/ports'
OBJECT cache
port:mp, cookie, modlist, debuginfo, lock:INT, reserved:INT, name[50]:ARRAY
ENDOBJECT
OBJECT mod
next,memlen,stradr,strlen,moduleadr,modulelen,checksum,reserved
ENDOBJECT
PROC main()
DEF c:PTR TO cache, m:PTR TO mod, total=0, x
WriteF('Emodule Cache Show (c) 1993 $#%!\n')
IF c:=FindPort('EmoduleCache')
IF c.lock=0
IF c.cookie=$DEADBEEF
m:=c.modlist
IF m
WriteF('\nsize name\n------- -----------------------------------\n')
WHILE m
WriteF('\d[7] \s\n',m.modulelen,m.stradr)
total:=total+m.modulelen+SIZEOF mod+StrLen(m.stradr)+8
m:=m.next
IF CtrlC() THEN m:=NIL
ENDWHILE
WriteF('\nTotal memory occupied by cached E-modules: \d bytes.\n',total)
ELSE
WriteF('\nEmpty cache.\n')
ENDIF
ELSE
WriteF('\nDead cookie.\n')
ENDIF
ELSE
WriteF('Cache currently in use!\n')
ENDIF
ELSE
WriteF('\nNo module cache available.\n')
ENDIF
ENDPROC