From FreePascal User's Manual:
h2pas attempts to convert a C header file to a pascal unit. It can handle most C constructs that one finds in a C header file, and attempts to translate them to their pascal counterparts. see below (constructs) for a full description of what the translator can handle. The unit with pascal declarations can then be used to access code written in C.
The output of the h2pas program is written to a file with the same name as the C header file that was used as input, but with the extension .pp. The output file that h2pas creates can be customized in a number of ways by means of many options.
There is a GUI for h2pas called h2paswizard.