good as uintptr_t in checking for alignments, and has fewer configuration hassles.
suffices with C89 or better. (alignof): New macro, portable to all C89 hosts. (UNALIGNED): Use it. Use uintptr_t if available, and assume everything is unaligned otherwise; this is more portable than assuming 'unsigned long int' will always work.
Include sha1.h, not sha.h.