Added defines header for macro definitions. Includes (somewhat) portable inline definition.