First you need to take a strategical decision here. Will you convert every file into a unit or create one main unit with many include files?
An example a binding with one main unit (in fact two) and many include files is PascalMagick bindings for ImageMagick. You can download it here:
http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103It contains both c headers and pascal headers, so you can easely compare them.
Now, is frame.h a main file that should become a unit or just a small include file? Assuming frame.h will become frame.inc (a include file), it would be like this:
//#include <Xm/Xm.h> ----> remember to add Xm unit to the main unit where this file belongs to
{Careful with this macro:
#ifndef XmIsFrame
#define XmIsFrame(w) XtIsSubclass(w, xmFrameWidgetClass)
#endif }
{ Class record constants }
//externalref WidgetClass xmFrameWidgetClass;
type
XmFrameWidgetClass: ^_XmFrameClassRec;
XmFrameWidget: ^_XmFrameRec;
{******** Public Function Declarations ********}
function XmCreateFrame(
parent: Widget;
name: PChar;
_arglist: ArgList;
argcount: Cardinal): Widget; cdecl; external MotifExport;
--------------
On the main unit you will need to declare MotifExport:
const
WandExport = 'libMotif'; // substitute with real lib name
Please take a look at wand/magick_wand.pas on PascalMagick bindings to see how a main unit of a binding looks like. You can also compare it with the equivalente .h file