[comp.sys.amiga] locating ConUnits

scott@applix.UUCP (09/18/87)

I'm confronted with a problem which prevents me from finishing a project.

I need to be able to locate all open ConUnits in the system.
I can find some ConUnits by chasing down the RootNode's TaskArray, sending
ACTION_DISK_INFO messages to each ConsoleTask.
But I have no idea how (if at all) to locate privately Open()'ed consoles.

If I cannot do this, can I resort (less than ideal) to SetFunction()ing
some vector in the console device, and record OPEN/CLOSEs?  I don't believe
I've seen this done before.
Or, do I need to intercept Dos packets somewhere?

thanks,
-scott

scott@applix.UUCP (Scott Evernden) (09/18/87)

In article <595@applix.UUCP> scott@applix.UUCP (Scott Evernden) writes:
>I need to be able to locate all open ConUnits in the system.

Hours later, and I think I can answer my own question.  How's this sound:

Find all NT_PROCESS nodes on Exec's TaskReady and TaskWait lists named
"CON" or "RAW".  Send ACTION_DISK_INFO to the attached process's pr_msgPort.

-scott

carolyn@cbmvax.UUCP (Carolyn Scheppner CATS) (09/22/87)

In article <596@applix.UUCP> scott@applix.UUCP (Scott Evernden) writes:
>
>I need to be able to locate all open ConUnits in the system.
>Hours later, and I think I can answer my own question.  How's this sound:
>
>Find all NT_PROCESS nodes on Exec's TaskReady and TaskWait lists named
>"CON" or "RAW".  Send ACTION_DISK_INFO to the attached process's pr_msgPort.

   I believe this will only find the console.devices opened by the DOS
handler processes CON and RAW.  This will not find console.devices opened
directly and attached to Intuition windows.  Offhand, I don't see any way
for you to find all of those.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CATS   >>Commodore Amiga Technical Support<<
                     UUCP  ...{allegra,ihnp4,rutgers}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

jimm@mitsumi.UUCP (Jim Mackraz) (09/22/87)

In article (Carolyn Scheppner CATS) writes:
>In article (Scott Evernden) writes:
>>I need to be able to locate all open ConUnits in the system.
>   I believe this will only find the console.devices opened by the DOS
>handler processes CON and RAW.  This will not find console.devices opened
>directly and attached to Intuition windows.  Offhand, I don't see any way
>for you to find all of those.
>Carolyn Scheppner 

Why not commit to the structure of ConsoleBase and release it, ala
GfxBase and (parts of) IntuitionBase?  Or commit only to the location
of the head of the ConUnits list and release something like:
	struct DummyConBase {
		UBYTE	dcb_Reserved[ MAGIC_INTEGER ];
		ConUnit	*dcb_FirstConUnit;
	};

	jimm
-- 
	Jim Mackraz
	Mitsumi Technology, Inc.		408/980-5422
	{amiga,pyramid}!mitsumi!jimm

andy@cbmvax.UUCP (Andy Finkel) (11/05/87)

In article <595@applix.UUCP> scott@applix.UUCP (Scott Evernden) writes:
>I'm confronted with a problem which prevents me from finishing a project.
>
>I need to be able to locate all open ConUnits in the system.

As pointed out by Kodiak, since all the CunUnits are linked together,
if you get one, you've got them all :-)

			andy
-- 
andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
Commodore-Amiga, Inc.

"Interfere?  Of course we'll interfere.  Always do what you're best at,
 I always say."

Any expressed opinions are mine; but feel free to share.
I disclaim all responsibilities, all shapes, all sizes, all colors.