This was written for an object, but I'm sure simple modification will make it work for a camera.
void RotateObjectAroundObject( int baseObject, int Object, float angle )
{
float x = dbObjectPositionX(baseObject);
float y = dbObjectPositionY(baseObject);
float z = dbObjectPositionZ(baseObject);
float dx = dbObjectPositionX(Object) - x;
float dy = dbObjectPositionY(Object) - y;
float dz = dbObjectPositionZ(Object) - z;
float nx = dx * dbCos( angle ) - dz * dbSin( angle );
float nz = dx * dbSin( angle ) + dz * dbCos( angle );
nx = nx + x;
nz = nz + z;
dbPositionObject( baseObject, nx, dbObjectPositionY(baseObject), nz );
}
Cheers.