"""
Auto-generated Python stub file from w32.win32base.py
Module: w32.win32base
"""

import c


import t
from stdint import *

HANDLE: t.CTypedef = VOIDPTR
LPCSTR: t.CTypedef = t.CConst | t.CChar | t.CPtr
LPCWSTR: t.CTypedef = t.CConst | t.CUnsignedShort | t.CPtr
INVALID_HANDLE_VALUE: t.CDefine = t.CVoid(-1)
NULL: t.CDefine = 0
TRUE: t.CDefine = 1
FALSE: t.CDefine = 0
INFINITE: t.CDefine = 0xFFFFFFFF
WAIT_FAILED: t.CDefine = 0xFFFFFFFF
WAIT_OBJECT_0: t.CDefine = 0
WAIT_TIMEOUT: t.CDefine = 258
WAIT_ABANDONED: t.CDefine = 0x80
MAX_PATH: t.CDefine = 260
ERROR_SUCCESS: t.CDefine = 0
ERROR_FILE_NOT_FOUND: t.CDefine = 2
ERROR_ACCESS_DENIED: t.CDefine = 5
ERROR_INSUFFICIENT_BUFFER: t.CDefine = 122

class SECURITY_ATTRIBUTES:
    nLength: ULONG
    lpSecurityDescriptor: VOIDPTR
    bInheritHandle: BOOL
class OVERLAPPED:
    Internal: ULONGLONG
    InternalHigh: ULONGLONG
    Offset: ULONG
    OffsetHigh: ULONG
    hEvent: HANDLE
class FILETIME:
    dwLowDateTime: DWORD
    dwHighDateTime: DWORD
class SYSTEMTIME:
    wYear: WORD
    wMonth: WORD
    wDayOfWeek: WORD
    wDay: WORD
    wHour: WORD
    wMinute: WORD
    wSecond: WORD
    wMilliseconds: WORD
class GUID:
    Data1: DWORD
    Data2: WORD
    Data3: WORD
    Data4: BYTEPTR
class LARGE_INTEGER:
    QuadPart: LONGLONG
class ULARGE_INTEGER:
    QuadPart: ULONGLONG

def GetLastError() -> ULONG | t.State: pass

def SetLastError(dwErrCode: ULONG) -> t.State: pass

def CloseHandle(hObject: HANDLE) -> BOOL | t.State: pass

def GetProcAddress(hModule: HANDLE, lpProcName: LPCSTR) -> VOIDPTR | t.State: pass

def GetModuleHandleA(lpModuleName: LPCSTR) -> HANDLE | t.State: pass

def GetModuleHandleW(lpModuleName: LPCWSTR) -> HANDLE | t.State: pass

def LoadLibraryA(lpLibFileName: LPCSTR) -> HANDLE | t.State: pass

def LoadLibraryW(lpLibFileName: LPCWSTR) -> HANDLE | t.State: pass

def FreeLibrary(hLibModule: HANDLE) -> BOOL | t.State: pass

def GetSystemTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass

def GetLocalTime(lpSystemTime: SYSTEMTIME | t.CPtr) -> t.State: pass

def FileTimeToSystemTime(lpFileTime: FILETIME | t.CPtr, lpSystemTime: SYSTEMTIME | t.CPtr) -> BOOL | t.State: pass

def SystemTimeToFileTime(lpSystemTime: SYSTEMTIME | t.CPtr, lpFileTime: FILETIME | t.CPtr) -> BOOL | t.State: pass

def QueryPerformanceCounter(lpPerformanceCount: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass

def QueryPerformanceFrequency(lpFrequency: LARGE_INTEGER | t.CPtr) -> BOOL | t.State: pass

def Sleep(dwMilliseconds: ULONG) -> t.State: pass

def SleepEx(dwMilliseconds: ULONG, bAlertable: BOOL) -> ULONG | t.State: pass

def GetTickCount() -> ULONG | t.State: pass

def GetTickCount64() -> ULONGLONG | t.State: pass

def GetCommandLineA() -> CHARPTR | t.State: pass
