Oh, right.
I created a simple hinge setup function.
Maybe you're interested:

Code:
NewtonJoint* newton_createhinge(VECTOR* vecPivot, VECTOR* vecAxis, ENTITY* entBody1, ENTITY* entBody2, void* fpCallback)
{
	NewtonBody* psBody1 = NULL;
	NewtonBody* psBody2 = NULL;
	NewtonJoint* psJoint;
	float* fpPivot;
	float* fpAxis;
	
	/* get Newton bodies */
	if (entBody1 != NULL)
	{
		psBody1 = entBody1->skill99;
	}
	
	if (entBody2 != NULL)
	{
		psBody2 = entBody2->skill99;
	}

	fpPivot = vectorf(vecPivot);
	fpPivot[0] *= QUANTTOMETER;
	fpPivot[1] *= QUANTTOMETER;
	fpPivot[2] *= QUANTTOMETER;

	fpAxis = vectorf(vecAxis);

	psJoint = NewtonConstraintCreateHinge (psWorld, fpPivot, fpAxis, psBody1, psBody2);
	if (fpCallback != NULL)
	{
		NewtonHingeSetUserCallback (psJoint, fpCallback);
	}


	/* store joint pointers in related objects */
	if (entBody1 != NULL)
	{
		entBody1->skill98 = psJoint;
	}
	
	if (entBody2 != NULL)
	{
		entBody2->skill98 = psJoint;
	}
}