package com.oracle.svm.core.windows.headers;
import org.graalvm.nativeimage.c.CContext;
import org.graalvm.nativeimage.c.constant.CConstant;
import org.graalvm.nativeimage.c.function.CFunction;
import org.graalvm.nativeimage.c.function.CFunction.Transition;
import org.graalvm.nativeimage.c.struct.CPointerTo;
import org.graalvm.nativeimage.c.type.CCharPointer;
import org.graalvm.nativeimage.c.type.CIntPointer;
import org.graalvm.nativeimage.c.type.CLongPointer;
import org.graalvm.word.PointerBase;
import com.oracle.svm.core.windows.headers.LibC.WCharPointer;
@CContext(WindowsDirectives.class)
public class {
public static final int = 260;
public static final int = 256;
public interface HANDLE extends PointerBase {
}
@CPointerTo(nameOfCType = "HANDLE")
public interface LPHANDLE extends PointerBase {
HANDLE read();
}
public interface extends PointerBase {
}
@CPointerTo(nameOfCType = "HMODULE")
public interface extends PointerBase {
public HMODULE ();
public void (HMODULE value);
}
@CFunction(transition = Transition.NO_TRANSITION)
public static native int ();
@CConstant
public static native int ();
@CFunction(transition = Transition.NO_TRANSITION)
public static native void (CLongPointer counter);
@CFunction(transition = Transition.NO_TRANSITION)
public static native void (CLongPointer counter);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int CloseHandle(HANDLE hFile);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int DuplicateHandle(HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, int dwDesiredAccess, boolean bInheritHandle,
int dwOptions);
@CFunction(transition = Transition.NO_TRANSITION)
public static native HMODULE GetModuleHandleA(PointerBase lpModuleName);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int (HMODULE hModule, CCharPointer lpFilename, int nSize);
@CConstant
public static native int GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS();
@CConstant
public static native int GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT();
@CFunction(transition = Transition.NO_TRANSITION)
public static native boolean GetModuleHandleExA(int flags, PointerBase lpModuleName, HMODULEPointer module);
@CFunction(transition = Transition.NO_TRANSITION)
public static native PointerBase (HMODULE hModule, PointerBase lpProcName);
@CFunction(transition = Transition.NO_TRANSITION)
public static native HMODULE (PointerBase lpFileName);
@CFunction(transition = Transition.NO_TRANSITION)
public static native HMODULE (PointerBase lpFileName, int dummy, int flags);
@CFunction(transition = Transition.NO_TRANSITION)
public static native void (PointerBase pointer);
@CFunction(transition = Transition.NO_TRANSITION)
public static native boolean (PointerBase lpPathName);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int (int nBufferLength, WCharPointer lpBuffer);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int (WCharPointer lpBuffer, CIntPointer pcbBuffer);
@CFunction(transition = Transition.NO_TRANSITION)
public static native int GetUserProfileDirectoryW(HANDLE hToken, WCharPointer lpProfileDir, CIntPointer lpcchSize);
}