Compare table structures

I have an application where I need to compare the structure of a table
on disk with a current table's structure.

The idea is I start the application with a default table which I can
pretty much be certain is correct THEN I want to allow the user to
switch to a different table. The catch here is to be certain the table
structures match before performing the swap.

The code to perform the swap is quite simple and works quite well
provided the tables have the same field and index definitions.

Any ideas.