>> Does anybody know what the exact function of GeodeUseDriver is ? Is it
for
>> making a driver known to GEOS, or for invoking it (or at least its INIT
>> routine) ?
> It loads the driver into memory which results in a call to DR_INIT.
GeodeUseDriver loads the driver into memory and gives its handle to you
(i.e. the application calling it) so you can make your own calls to that
driver. In order to do so, you will have to get the drivers strategy
routine (using GeodeInfoDriver(geodeHandle), with geodeHandle being the
result of GeodeUseDriver) and call it directly with the appropriate
parameters. In addition, you can also use GeodeGetDefaultDriver() to get
the GeodeHandle of a driver which has been defined in the GEOS.INI.
The main reasons for doing so will probably be either wanting to define a
driver type which is completely unknown to the rest of the system, or the
need to bypass the system and access a driver directly. [For example, I'm
doing this in one program which has to access the serial port through a DOS
based TSR, so it must talk to the power driver of the OmniGo to
activate/deactivate the port when required. Anyway, not recommend... :-)]
Other than calling DR_INIT, loading a driver in this way will not do much
to connect it to the rest of the system...
> When gives GEOS the first time control to a device driver ?
As Nathan says, drivers are loaded whenever they are needed. Anyway, most
of the standard drivers (mouse, video, task switching, power) will be
initialized during startup - OTOH, a custom driver which is not "made
known" to the system (i.e. installed as a standard driver for some
function), will normally never gain control until an application program
invokes it by means of GeodeUseDriver.
> Reusing patient pcmcia
> Does anybody know what subject message appearing at the end of a SWAT
> startup (after all the "lookink for ... " messages) means ?
When SWAT is starting up, it tries to "attach" to the target machine. This
means that it tries to collect information about all the geodes loaded on
the device (if the target machine hasn't started up yet, SWAT will monitor
all the drivers and libraries as they come and go). The term "patient"
refers to any separate instance of a Geode that is running on the Target
machine (i.e. each library or driver is a "patient", and so is every copy
of a currently running application...).
"Reusing patient..." tells you that SWAT noticed that the patient which was
just loaded has been in memory at least once before, so SWAT can reuse all
the internal symbol data it needs to give meaningful names to things the
program is doing. This is not specific to the fact that the patient in
question is PCMCIA.GEO in your case...
ciao marcus