| /* |
| * confighelp.c |
| * |
| * Written by Aaron D. Gifford <me@aarongifford.com> |
| * |
| * NO COPYRIGHT - 100% IN THE PUBLIC DOMAIN |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND |
| * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE |
| * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| * SUCH DAMAGE. |
| */ |
| |
| /* |
| * Compile this program and run it to find out what settings to use in |
| * the sha.h file. |
| * |
| * For example: |
| * |
| * cc -o confighelp confighelp.c |
| * |
| * Then: |
| * |
| * ./confighelp |
| */ |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| int main() { |
| unsigned long l = 0x00ff; |
| |
| if (sizeof(unsigned long) == 4) { |
| printf("Use unsigned long as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned int) == 4) { |
| printf("Use unsigned int as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned short) == 4) { |
| printf("Use unsigned short as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned char) == 4) { |
| printf("Use unsigned char as your sha1_quadbyte type.\n"); |
| } else { |
| printf("I have NO IDEA what type to recommend on your machine.\nYour box is very weird.\n"); |
| } |
| if (sizeof(unsigned long) == 1) { |
| printf("Use unsigned long as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned int) == 1) { |
| printf("Use unsigned int as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned short) == 1) { |
| printf("Use unsigned short as your sha1_quadbyte type.\n"); |
| } else if (sizeof(unsigned char) == 1) { |
| printf("Use unsigned char as your sha1_quadbyte type.\n"); |
| } else { |
| printf("Use unsigned char as your sha1_quadbyte type.\nWARNING: I'm not sure unsigned char will work correctly, but it's the\nbest I could come up with.\n"); |
| } |
| #ifdef LITTLE_ENDIAN |
| printf("Your machine already defines LITTLE_ENDIAN.\n"); |
| #else |
| if (*((unsigned char *)&l) == (unsigned char)0xff) { |
| printf("Your machine is LITTLE_ENDIAN.\n"); |
| } else { |
| printf("Your machine is NOT LITTLE_ENDIAN.\n"); |
| } |
| #endif |
| printf("That's all folks!\n"); |
| } |