"""
Auto-generated Python stub file from llvmlite.__values.py
Module: llvmlite.__values
"""


import t, c
from stdint import *
import string
import viperlib
import memhub
from linkedlist import GSListNode
from .__types import LLVMType, TypePrint

@t.NoVTable
class Value(GSListNode[Value]):
    Ty: LLVMType | t.CPtr
    Name: t.CChar | t.CPtr
    IsConst: t.CInt
    IntVal: t.CInt64T
    FloatVal: t.CDouble

VALUE_SIZE: t.CDefine = 48

def new_value(pool: memhub.MemBuddy | t.CPtr) -> Value | t.CPtr: pass

def ConstInt(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CInt64T, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass

def ConstNull(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass

def ConstZero(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr) -> Value | t.CPtr: pass

def ConstFloat(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, val: t.CDouble) -> Value | t.CPtr: pass

def SSAValue(pool: memhub.MemBuddy | t.CPtr, ty: LLVMType | t.CPtr, name: t.CChar | t.CPtr) -> Value | t.CPtr: pass

def ValuePrint(buf: t.CChar | t.CPtr, size: t.CSizeT, val: Value | t.CPtr, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass

def value_get_ty(val: Value | t.CPtr) -> LLVMType | t.CPtr: pass

def value_get_next(val: Value | t.CPtr) -> Value | t.CPtr: pass

def value_set_ty(val: Value | t.CPtr, ty: LLVMType | t.CPtr) -> t.CInt: pass

def value_set_next(val: Value | t.CPtr, nxt: Value | t.CPtr) -> t.CInt: pass

def value_set_name(val: Value | t.CPtr, name: t.CChar | t.CPtr) -> t.CInt: pass

def value_set_isconst(val: Value | t.CPtr, is_const: t.CInt) -> t.CInt: pass

def _append_str(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
