#define _GNU_SOURCE

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <locale.h>
#include <stdint.h>

int
main(void)
{
    setlocale(LC_ALL, "");

    printf("CHAR_MIN      : %'30d\n", CHAR_MIN);
    printf("CHAR_MAX      : %'30d\n", CHAR_MAX);
    printf("UCHAR_MAX     : %'30d\n", UCHAR_MAX);
    printf("SHRT_MIN      : %'30d\n", SHRT_MIN);
    printf("SHRT_MAX      : %'30d\n", SHRT_MAX);
    printf("USHRT_MAX     : %'30d\n", USHRT_MAX);
    printf("INT_MIN       : %'30d\n", INT_MIN);
    printf("INT_MAX       : %'30d\n", INT_MAX);
    printf("UINT_MAX      : %'30u\n", UINT_MAX);
    printf("LONG_MIN      : %'30ld\n", LONG_MIN);
    printf("LONG_MAX      : %'30ld\n", LONG_MAX);
    printf("ULONG_MAX     : %'30lu\n", ULONG_MAX);
    printf("LLONG_MIN     : %'30lld\n", LLONG_MIN);
    printf("LLONG_MAX     : %'30lld\n", LLONG_MAX);
    printf("ULLONG_MAX    : %'30llu\n", ULLONG_MAX);

    printf("\n");
    printf("FOPNEN_MAX    : %'30d\n", FOPEN_MAX);
    printf("IOV_MAX       : %'30d\n", IOV_MAX);        // _GNU_SOURCE

    printf("DELAYTIMER_MAX: %'30d\n", DELAYTIMER_MAX); // تعداد تایمر overrun ها

    printf("\n");
    printf("SIG_ATOMIC_MIN: %'30d\n", SIG_ATOMIC_MIN);
    printf("SIG_ATOMIC_MAX: %'30d\n", SIG_ATOMIC_MAX);
    exit(EXIT_SUCCESS);
}
