[comp.sys.amiga.programmer] Code Address from Task struct?

Harvey_Taylor@mindlink.UUCP (Harvey Taylor) (02/07/91)

    Is there anyway to find any Task's Segments given simply the
  Task structure? I was looking at a little utility to print Task/
  Process structures & could see no pointer to the code...
    -harvey

 "I believe it is terribly important to extend to these new digital media
  the same strong First Amendment protections of freedom of speech and
  freedom of expression which we enjoy in our own lives and in the print
  media.   The government should not be able to seize a bulletin board any
  more easily than they can seize a printing press." -Mitch Kapor

      Harvey Taylor      Meta Media Productions
      uunet!van-bc!rsoft!mindlink!Harvey_Taylor
               a186@mindlink.UUCP

jbickers@templar.actrix.gen.nz (John Bickers) (02/11/91)

Quoted from <4713@mindlink.UUCP> by Harvey_Taylor@mindlink.UUCP (Harvey Taylor):
>     Is there anyway to find any Task's Segments given simply the
>   Task structure? I was looking at a little utility to print Task/

    Not all tasks consist of a segment list, so you can't do this for
    everything. I think the closest you can get for tasks only is
    the PC register from the stack when it is not active (so presumably
    you have to disable interrupts to kill task switching, pluck the
    value(s), then enable interrupts again).

    If the task is a Process, though, you can use the pointer in the
    struct Process, which is a superset of the struct Task (ie: struct
    Process *me = (struct Process *)FindTask(NULL);).

>     -harvey
--
*** John Bickers, TAP, NZAmigaUG.        jbickers@templar.actrix.gen.nz ***
***         "Patterns multiplying, re-direct our view" - Devo.          ***