Now I understand. You can't reference smcard with the "driver smcard" line
in your .gp file because your driver isn't listed in the appropriate platform
file in the INCLUDE\LDF directory. You'll need to do one of two things to be
able to use your driver in an application: 1) Add an entry for smcard to the
appropriate .plt file in the LDF directory and reference it in your .gp file.
2) Use GeodeUseDriver() to load the driver at run-time and do not specify the
driver in your .gp file.
> > If you don't specify the name of the driver in your .gp file then your
> >geode will launch whether the driver is available or not. Then at
run-time
> >your geode uses GeodeUseDriver to attempt to load the needed driver. If
it
> >can't be found, then your geode will have to deal with it in another way.
The
> >easiest thing to do is specify the name of the driver you want in your
.gp
> >file and not use GeodeUseDriver at all. The advantage of doing it the
other
> >way is that your geode will launch without the driver and it can still do
> >something like "I need the XXX driver to run. Please restart me after
putting
> >the XXX driver in the YYY directory."
>
> I guess I would prefer the "driver" parameter in the .gp file, but I
> cannot get it working.
See answer 1) in my paragraph above.
> > Chances are you need to ask for a driver with non-zero protocol
numbers.
> >I've never tried this myself, so I'm just guessing. Try looking in the
.plt
> >file (located in the Include\Ldf directory on your host machine) for the
> >platform you're using (e.g. zoomer, omnigo, pt9000, or geos201) and look
for
> >the driver name you want. The file lists all the libraries and drivers
> >available on that platform and what their protocol numbers are. Glue uses
> >these .plt files to determine if your app will work with the
library/driver
> >you specify in your .gp file.
>
> My driver has an .ldf file in my local SMCARD directory, but I cannot find
> a protocol number for it in the omnigo.plt file.
> I assume these .plt file contains protocol numbers only for system geodes.
> Right ?
> How can I get a new protocol number (for my driver or its ldf ?) and add
> it to the .plt file ?
Right, the .plt files only contain the protocol numbers to system geodes.
The protocol number of your driver is 0.0 unless you use grev to change that.
Check the Tools book, section 10.7 on using grev. Then add an entry for your
smcard driver to the .plt file, if you want to use the "driver smcard" line
in your .gp file. Otherwise, if you're just going to load your driver at
run-time using GeodeUseDriver then you can skip everything I said above.
> > Again, I would have thought this might be in the GEOS.INI file, but I
> >didn't see anything. It could be that GEOS will know to load the "pcmcia"
> > ......
>
> Can I extend the GEOS.INI file such that my driver is known to GEOS ?
I don't know of an existing entry for specifying the pcmcia driver in the
GEOS.INI file. You can add entries to the .INI file, but that doesn't mean
the system will utilize them. The answer is essentially no, you can't make
the system load your driver. I think your only choice is to rewrite the
pcmcia driver and replace it exactly. In other words, create a geode with the
same protocol number and names. And be sure to provide all the same services
that are provided by the pcmcia driver.
Nathan
P.S. You can send messages to just "geos-dev@lifelike.com", rather than
carbon-copying individuals. Otherwise we get the mail twice.