Writing NFB graphical adapter drivers

Set up the driver source tree and create a driver template

The xmkddx shell script creates a directory tree for your driver that contains all the basic software. Once you create this source tree and compile it, you will have a basic working driver for your graphical device.

Each graphics driver has a 3-6 character name that is the name of the top directory for your source code and is used as a prefix for all routines in the driver. On SVR5 and SCO OpenServer 5, the location of the source code is specified. For example, the ``myx'' driver's source code would be located in:

On AIX 5L, the source code can be located anywhere on the system in a directory named with the driver's prefix. The template xxx driver source is located in:

The myx driver would include routines such as myxInit.

NOTE: For the rest of this discussion, the ``xxx'' prefix is used to represent the name of your driver.

xmkddx verifies that the prefix you specify is not already reserved by an existing driver. If you specify a reserved prefix, xmkddx will fail and print out a table that lists all reserved prefixes. You can then select a prefix that is not in use and rerun the xmkddx command.

To set up a graphics driver template, issue the xmkddx command. The disk space requirement for driver development is typically 0.5 to 3.0 Mb.

On SCO OpenServer 5 and SVR5
you must issue xmkddx from the top linkkit directory. For instance, if your link kit is installed in the /usr/xlink directory and your driver name is xxx, the command sequence is:

cd /usr/xlink/
./xmkddx xxx

On SCO OpenServer 5 and SVR5, the tree will be created under the ./Xserver/hw/ports/xxx directory.

you can work in any working directory, typically one in your private work space; issue the xmkddx command from your working directory:

cd <working_directory/>
/usr/ddk/src/native/nfb/tools/xmkddx xxx

On AIX 5L systems, the tree will be created under the <working_directory>/xxx directory.

© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005