
/**
 * @link https://koffi.dev/input
 * @link https://tootallnate.github.io/ref/
 */
export enum Def {
  bool = 'bool',
  byte = 'uint8_t',
  int = 'int',
  int8 = 'int8_t',
  int16 = 'int16_t',
  int32 = 'int32_t',
  int64 = 'int64_t',
  float = 'float',
  long = 'long',
  longlong = 'longlong',
  // ptr = 'pointer',
  uchar = 'uchar',
  uint = 'uint',
  uint8 = 'uint8_t',
  uint16 = 'uint16_t',
  uint32 = 'uint32_t',
  uint64 = 'uint64_t',
  ulong = 'ulong',
  ulonglong = 'ulonglong',
  ushort = 'ushort',
  void = 'void',

  boolPtr = 'bool*',
  bytePtr = 'uint8_t*',
  charPtr = 'char*',
  intPtr = 'int*',
  int8Ptr = 'int8_t*',
  int16Ptr = 'int16_t*',
  int32Ptr = 'int32_t*',
  int64Ptr = 'int64_t*',
  floatPtr = 'float*',
  longPtr = 'long*',
  uintPtr = 'uint*',
  uint8Ptr = 'uint8_t*',

  intPtrPtr = 'int**',
  uint16Ptr = 'uint16_t*',
  uint32Ptr = 'uint32_t*',
  uint64Ptr = 'uint64_t*',
  ulonglongPtr = 'ulonglong*',
  voidPtr = 'void*',

  uintPtrPtr = 'uint**',
  uint16PtrPtr = 'uint16_t**',
  uint32PtrPtr = 'uint32_t**',
  uint64PtrPtr = 'uint64_t**',
  ulonglongPtrPtr = 'ulonglong**',
  voidPtrPtr = 'void**',
}

