; Inject.def - Module definition for Inject.DLL
; Matches the exports of the original v2.9.8.3 Inject.DLL

LIBRARY "Inject"

SECTIONS
    .InjectDll READ WRITE SHARED

EXPORTS
    ; COM server
    DllCanUnloadNow         PRIVATE
    DllGetClassObject       PRIVATE
    DllRegisterServer       PRIVATE
    DllUnregisterServer     PRIVATE

    ; D3D9 original function pointers (data exports)
    BeginSceneO             DATA
    EndSceneO               DATA

    ; Lifecycle
    DecalStartup
    Container_Initialize
    Container_StartPlugins
    Container_StopPlugins
    Container_Terminate
    Container_Draw

    ; VTable hooking utilities
    HookVTable
    UnhookVTable
    GetVTableEntry

    ; Memory patching
    PatchMemory

    ; Path mapping
    InjectMapPath
