133 lines
3.7 KiB
C
133 lines
3.7 KiB
C
/*
|
|
File: stdint.h
|
|
Author: Taylor Robbins
|
|
Date: 08\28\2025
|
|
*/
|
|
|
|
#ifndef _STDINT_H
|
|
#define _STDINT_H
|
|
|
|
// +--------------------------------------------------------------+
|
|
// | Typedefs |
|
|
// +--------------------------------------------------------------+
|
|
#define _Addr long
|
|
#define _Int64 long long
|
|
#define _Reg long
|
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
|
#define __LONG_MAX 0x7FFFFFFFFFFFFFFFL
|
|
#if LANGUAGE_IS_C
|
|
#ifdef __WCHAR_TYPE__
|
|
typedef __WCHAR_TYPE__ wchar_t;
|
|
#else
|
|
typedef long wchar_t;
|
|
#endif
|
|
#endif
|
|
|
|
typedef float float_t;
|
|
typedef double double_t;
|
|
|
|
typedef unsigned _Addr size_t;
|
|
typedef unsigned _Addr uintptr_t;
|
|
typedef _Addr ptrdiff_t;
|
|
typedef _Addr ssize_t;
|
|
typedef _Addr intptr_t;
|
|
// typedef _Addr regoff_t;
|
|
// typedef _Reg register_t;
|
|
// typedef _Int64 time_t;
|
|
// typedef _Int64 suseconds_t;
|
|
|
|
typedef signed char int8_t;
|
|
typedef signed short int16_t;
|
|
typedef signed int int32_t;
|
|
typedef signed _Int64 int64_t;
|
|
typedef signed _Int64 intmax_t;
|
|
typedef unsigned char uint8_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef unsigned int uint32_t;
|
|
typedef unsigned _Int64 uint64_t;
|
|
typedef unsigned _Int64 u_int64_t;
|
|
typedef unsigned _Int64 uintmax_t;
|
|
|
|
// typedef unsigned mode_t;
|
|
// typedef unsigned _Reg nlink_t;
|
|
// typedef _Int64 off_t;
|
|
// typedef unsigned _Int64 ino_t;
|
|
// typedef unsigned _Int64 dev_t;
|
|
// typedef long blksize_t;
|
|
// typedef _Int64 blkcnt_t;
|
|
// typedef unsigned _Int64 fsblkcnt_t;
|
|
// typedef unsigned _Int64 fsfilcnt_t;
|
|
|
|
// typedef unsigned wint_t;
|
|
// typedef unsigned long wctype_t;
|
|
|
|
// typedef void * timer_t;
|
|
// typedef int clockid_t;
|
|
// typedef long clock_t;
|
|
// struct timeval { time_t tv_sec; suseconds_t tv_usec; };
|
|
// struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==__BIG_ENDIAN); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=__BIG_ENDIAN); };
|
|
|
|
// typedef int pid_t;
|
|
// typedef unsigned id_t;
|
|
// typedef unsigned uid_t;
|
|
// typedef unsigned gid_t;
|
|
// typedef int key_t;
|
|
// typedef unsigned useconds_t;
|
|
|
|
// +--------------------------------------------------------------+
|
|
// | MAX and MIN #defines |
|
|
// +--------------------------------------------------------------+
|
|
#define INT8_MIN (-1-0x7f)
|
|
#define INT16_MIN (-1-0x7fff)
|
|
#define INT32_MIN (-1-0x7fffffff)
|
|
#define INT64_MIN (-1-0x7fffffffffffffff)
|
|
|
|
#define INT8_MAX (0x7f)
|
|
#define INT16_MAX (0x7fff)
|
|
#define INT32_MAX (0x7fffffff)
|
|
#define INT64_MAX (0x7fffffffffffffff)
|
|
|
|
#define UINT8_MAX (0xff)
|
|
#define UINT16_MAX (0xffff)
|
|
#define UINT32_MAX (0xffffffffu)
|
|
#define UINT64_MAX (0xffffffffffffffffu)
|
|
|
|
// #define INT_FAST8_MIN INT8_MIN
|
|
// #define INT_FAST64_MIN INT64_MIN
|
|
|
|
// #define INT_LEAST8_MIN INT8_MIN
|
|
// #define INT_LEAST16_MIN INT16_MIN
|
|
// #define INT_LEAST32_MIN INT32_MIN
|
|
// #define INT_LEAST64_MIN INT64_MIN
|
|
|
|
// #define INT_FAST8_MAX INT8_MAX
|
|
// #define INT_FAST64_MAX INT64_MAX
|
|
|
|
// #define INT_LEAST8_MAX INT8_MAX
|
|
// #define INT_LEAST16_MAX INT16_MAX
|
|
// #define INT_LEAST32_MAX INT32_MAX
|
|
// #define INT_LEAST64_MAX INT64_MAX
|
|
|
|
// #define UINT_FAST8_MAX UINT8_MAX
|
|
// #define UINT_FAST64_MAX UINT64_MAX
|
|
|
|
// #define UINT_LEAST8_MAX UINT8_MAX
|
|
// #define UINT_LEAST16_MAX UINT16_MAX
|
|
// #define UINT_LEAST32_MAX UINT32_MAX
|
|
// #define UINT_LEAST64_MAX UINT64_MAX
|
|
|
|
#define INTMAX_MIN INT64_MIN
|
|
#define INTMAX_MAX INT64_MAX
|
|
#define UINTMAX_MAX UINT64_MAX
|
|
|
|
// #define WINT_MIN 0U
|
|
// #define WINT_MAX UINT32_MAX
|
|
|
|
#define WCHAR_MAX (0x7FFFFFFF+L'\0')
|
|
#define WCHAR_MIN (-1-0x7FFFFFFF+L'\0')
|
|
|
|
#define SIG_ATOMIC_MIN INT32_MIN
|
|
#define SIG_ATOMIC_MAX INT32_MAX
|
|
|
|
#endif // _STDINT_H
|