## Command summary

You can use `inc2h-v3` in two ways.

1. `inc2h-v3 -locate`

   `inc2h-v3` tries to discover where the «.inc» files are located on your hard disk, and displays this (or these) location(s). This command is useful if you don't know where the `gputil` tool suite has been installed. Basically, this option just uses the `locate` Unix command, so it may fail.

2. `inc2h-v3 [options] -all <directory>`

   `inc2h-v3` processes all the «.inc» files located in the specified directory and creates the corresponding header files in the current directory. Notice that this command ignores the «.inc» files that do not correspond to a pic18 device.

   Note:

   - This command is intended to be used with the files provided by the `gputils-1.x.y` package.
   - It will not work if the «inc» and the «lkr» directories are not located in the same directory.

The options allow to control what the generated files will contain:

- `-struct`

  The description of device registers (SFRs) uses `struct`s containing bit fields. This is the standard way to manipulate the registers. The member names of these `struct`s are fully compatible with the identifiers used by Microchip's C18 compiler.

- `-define`

  The description of device registers is based on macro definitions. This mode is intended to be used with the explicit bit field syntax allowed by `cpik`.

The default behavior is to create the two kind of information in the same file. Using only one of this options has the (small) advantage of keeping the resulting files relatively small.

In order to understand the various ways to access the SFRs with `cpik`, I recommend to read one of the «.h» files generated by `inc2h-v3`.