Am 20.05.2010 um 11:21 schrieb Hartmut Eilers: >> If it is you can resolve it using the C preprocessor using a command >> line similar to this one: > >> cpp --no-stdinc comedi.h > comedi.cpped.h > >> Afterwards try h2pas again. > > I tried the above mentioned fix with the following result: > > hart...@canis:~/src/OpenMSR/PhysMach/comedi $ cpp --no-stdinc comedi.h >> comedi.cpped.h > cc1: error: unrecognized command line option "-fno-stdinc" > > This commandline option is not recognized by the compiler, hmmm.
Accodring to the man page of cpp there is -nostdinc. But even after trying it, the problem remains. > Could anybody lend me a hand with the translation of the comedi header files ? > Any hints are highly appreciated. Are there other tools I can use ? > Hints on other > docs / examples ? h2pas only does the simple direct stuff. All the rest needs manual replacement. As much as I know unsigned corresponds to unsigned int. static inline seems to be the problem. Example (line 393): static inline unsigned NI_USUAL_PFI_SELECT(unsigned pfi_channel) { if(pfi_channel < 10) return 0x1 + pfi_channel; else return 0xb + pfi_channel; } unsigned int NI_USUAL_PFI_SELECT(unsigned int pfi_channel); there are about 15 similar cases. At least this gives a start. Maybe you need a translation of the function in the implementation section. You may also need to add functions for the macros in /* range stuff */ and /* packs and unpacks a channel/range number */ check for " { was #define dname(params) para_def_expr } " in the resulting .pp file. Finally, I prefer to use ctypes. So, unsigned int becomes cuint, float cfloat and so on. It makes checking easier. Michael Schindler _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal