Did you understand what I was asking about??
Yes, I did.
what I was asking for was some direction on where to start with linking this c code to a pascal program
Did you read the links provided earlier? Did you understand them? I'm asking, because you continue to ask the same questions and they are answered in the links.
I'm assumming I have to create the c wrapper for each .h program and then link them with the h2pas program
No. h2pas says what it does: convert .h to .pas. To access a library, from any programming language, you need to now its exported functions and how they are defined. In C this definitition is traditionally done with .h files. h2pas translates c function definitions found in .h files to their pascal equivalents, ie procedure/function definitions with the external keyword. Since .h files typically also contain type definitions (structures, unions) and constants, h2pas does convert them also to pascal records and constants.
What h2pas can't do is convert CPP class definitions to pascal. Simply because cpp classes are implemented differently from pascal classes and, in most cases, they simple can't talk to each other. That is where the c wrapper is coming in. The c wrapper is an intermediate layer that converts the cpp object into a series of c functions. This requires quite some c knowledge to accomplish. The result is a second, intermediate library that can be linked, after header translation, with pascal. More info here:
ftp://ftp.freepascal.org/fpc/docs-pdf/CinFreePascal.pdfWhats worse is that even just trying to compile this with it's own make files to see where that leads seems to fail so I guess I'm missing something rather big somewhere.
Running make in HidTest compiles without any problems on Ubuntu. The resulting program doesn't find a tablet but that is normal since I don't have one. Obviously you need to have the necessary build tools installed but that is not for a pascal/lazarus forum.
In the Lib directory you'll find SigLib.a. That is what eventually you need to pass to pascal to link with. No need to re-compile this.