Directory Tree Structure

# 3 Directory Tree Structure

Contents of this section

Here is an outline of the directory tree structure for the source tree. Only directories/files that are relevant to writing a driver are presented. The structure for the Link Kit is presented below.

xc/config/cf/

  site.def

    Local configuration customization

  xf86site.def

    XFree86 local configuration customization

xc/programs/Xserver/hw/xfree86/

  The server source

  common/

    Files common to all of the server (XF86Config parser, I/O device handlers, etc)

    xf86.h

      Contains the `ScrnInfoRec' data structure

    xf86_Option.h

      Contains option flags

    compiler.h

      Contains in-line assembler macros and utility functions

  os-support/

    OS-support layer

    assyntax.h

      Contains macro-ized assembler mnemonics

    xf86_OSlib.h

      OS-support includes, defines, and prototypes

  LinkKit/

    site.def.LK

      Template for Link Kit site.def

  vga256/

    256-color VGA server directories

    vga/

      The generic VGA handling code

      vga.h

        Contains the `vgaVideoChipRec' and `vgaHWRec' data structures

      vgaHW.c

        Contains the generic-VGA-register handling functions vgaHWInit(), vgaHWSave() and vgaHWRestore().

    drivers/

      Contains the SVGA driver subdirectories. Each contains an Imakefile, a .c file for the driver, and a .s file for the bank- switching functions.

  vga2/

    The monochrome vga server directories. Most of the files are linked from vga256, and the differences handled by conditional compilation.

    drivers/

      The SVGA driver subdirectories. The `generic' VGA driver is also located here.

  vga16/

    The 16-color vga server directories. Most of the files are linked from vga256, and the differences handled by conditional compilation.

    drivers/

      The SVGA driver subdirectories.

  VGADriverDoc/

    This documentation and the stub driver.

The Link Kit is usually installed in /usr/X11R6/lib/Server. The Link Kit contains everything that is needed to relink the server. It is possible to write a new driver and build a new server without having even the server source installed.

Server/

  site.def

    Local configuration customization

  include/

    All of the include files listed under the `common' directory above

  drivers/

    All of the SVGA drivers

    vga2/

      The SVGA driver subdirectories.

    vga16/

      The SVGA driver subdirectories.

    vga256/

      The SVGA driver subdirectories.

  VGADriverDoc/

    The directory with this documentation and the stub driver. `vgaHW.c' is also copied here, for reference (it is not built as part of the Link Kit).

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter