| Title: | AMIGA NOTES |
| Notice: | Join us in the *NEW* conference - HYDRA::AMIGA_V2 |
| Moderator: | HYDRA::MOORE |
| Created: | Sat Apr 26 1986 |
| Last Modified: | Wed Feb 05 1992 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 5378 |
| Total number of notes: | 38326 |
<printing free chain>
I'm trying to write a callable C function to print the current
free chain. I think I could do it, from the available documentation,
if I could figure out how to address ExecBase.
Am I missing something obvious? Is this covered in another note?
Is there a Fish disk with a function or program like this?
Thanks for your replies.
Ken
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1833.1 | WJG::GUINEAU | Fri Oct 28 1988 17:52 | 12 | ||
It's an extern. Something like extern struct ExecBase *Execbase then Execbase->MemList (sp?) points to the free memory list Look in the C compiler manual. John | |||||
| 1833.2 | AbsExecBase is location 4 | TLE::RMEYERS | Randy Meyers | Sat Oct 29 1988 00:37 | 19 |
Re: .0, .1 The name of the symbol is AbsExecBase as in: #include <exec/execbase.h> extern struct ExecBase *AbsExecBase; AbsExecBase is the only absolute address in the machine. It is at absolute location 4. Please note: If you plan on walking the memory map, you should disable task switching using Forbid() and re-enable it after walking the list using Permit(). This prevents another task from performing memory allocation as you walk the list and causing you to follow a pointer to nowhere. You should use Forbid() and Permit() whenever you walk any dynamically updated system data structures like the memory, device nodes, etc. | |||||
| 1833.3 | thanks | AKOV03::IFSDEV | Mon Oct 31 1988 11:57 | 3 | |
Thanks very much for your prompt help! I'll give it a shot!
Ken
| |||||