1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Revamp Stdcall

This commit is contained in:
LZMPDev 2020-05-25 20:46:28 +08:00
parent 7b4239d08e
commit ad0dab0d4c
58 changed files with 1398 additions and 1398 deletions

View file

@ -72,64 +72,64 @@ namespace Beefy
public Matrix4? mColorMatrix; public Matrix4? mColorMatrix;
public ConstantDataDefinition mColorMatrixDataDef = new ConstantDataDefinition(16, new ConstantDataDefinition.DataType[] { ConstantDataDefinition.DataType.Matrix | ConstantDataDefinition.DataType.PixelShaderUsage }) ~ delete _; public ConstantDataDefinition mColorMatrixDataDef = new ConstantDataDefinition(16, new ConstantDataDefinition.DataType[] { ConstantDataDefinition.DataType.Matrix | ConstantDataDefinition.DataType.PixelShaderUsage }) ~ delete _;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Lib_Startup(int32 argc, char8** argv, void* startupCallback); static extern void Lib_Startup(int32 argc, char8** argv, void* startupCallback);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_GetDesktopResolution(out int32 width, out int32 height); static extern void BFApp_GetDesktopResolution(out int32 width, out int32 height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_GetWorkspaceRect(out int32 x, out int32 y, out int32 width, out int32 height); static extern void BFApp_GetWorkspaceRect(out int32 x, out int32 y, out int32 width, out int32 height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_GetWorkspaceRectFrom(int32 x, int32 y, int32 width, int32 height, out int32 outX, out int32 outY, out int32 outWidth, out int32 outHeight); static extern void BFApp_GetWorkspaceRectFrom(int32 x, int32 y, int32 width, int32 height, out int32 outX, out int32 outY, out int32 outWidth, out int32 outHeight);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_Create(); static extern void BFApp_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_Delete(); static extern void BFApp_Delete();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_SetRefreshRate(int32 rate); static extern void BFApp_SetRefreshRate(int32 rate);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BFApp_SetDrawEnabled(int32 enabled); public static extern void BFApp_SetDrawEnabled(int32 enabled);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_Init(); static extern void BFApp_Init();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_Run(); static extern void BFApp_Run();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_Shutdown(); static extern void BFApp_Shutdown();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_SetCallbacks(void* updateDelegate, void* drawDelegate); static extern void BFApp_SetCallbacks(void* updateDelegate, void* drawDelegate);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BFApp_GetInstallDir(); static extern char8* BFApp_GetInstallDir();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_SetCursor(int32 cursor); static extern void BFApp_SetCursor(int32 cursor);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFApp_GetClipboardData(char8* format, out int32 size); static extern void* BFApp_GetClipboardData(char8* format, out int32 size);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_ReleaseClipboardData(void* ptr); static extern void BFApp_ReleaseClipboardData(void* ptr);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFApp_SetClipboardData(char8* format, void* ptr, int32 size, int32 resetClipboard); static extern void BFApp_SetClipboardData(char8* format, void* ptr, int32 size, int32 resetClipboard);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BFApp_CheckMemory(); public static extern void BFApp_CheckMemory();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BFApp_RehupMouse(); public static extern void BFApp_RehupMouse();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void* BFApp_GetSoundManager(); public static extern void* BFApp_GetSoundManager();
UpdateDelegate mUpdateDelegate ~ delete _; UpdateDelegate mUpdateDelegate ~ delete _;

View file

@ -179,71 +179,71 @@ namespace Beefy
static NativeMouseLeaveDelegate sNativeMouseLeaveDelegate ~ delete _; static NativeMouseLeaveDelegate sNativeMouseLeaveDelegate ~ delete _;
static NativeMenuItemSelectedDelegate sNativeMenuItemSelectedDelegate ~ delete _; static NativeMenuItemSelectedDelegate sNativeMenuItemSelectedDelegate ~ delete _;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFApp_CreateWindow(void* parent, char8* title, int32 x, int32 y, int32 width, int32 height, int32 windowFlags); static extern void* BFApp_CreateWindow(void* parent, char8* title, int32 x, int32 y, int32 width, int32 height, int32 windowFlags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFWindow_GetNativeUnderlying(void* window); static extern void* BFWindow_GetNativeUnderlying(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetCallbacks(void* window, void* movedDelegate, void* closeQueryDelegate, void* closedDelegate, static extern void BFWindow_SetCallbacks(void* window, void* movedDelegate, void* closeQueryDelegate, void* closedDelegate,
void* gotFocusDelegate, void* lostFocusDelegate, void* gotFocusDelegate, void* lostFocusDelegate,
void* keyCharDelegate, void* keyDownDelegate, void* keyUpDelegate, void* hitTestDelegate, void* keyCharDelegate, void* keyDownDelegate, void* keyUpDelegate, void* hitTestDelegate,
void* mouseMoveDelegate, void* mouseProxyMoveDelegate, void* mouseDownDelegate, void* mouseUpDelegate, void* mouseWheelDelegate, void* mouseLeaveDelegate, void* mouseMoveDelegate, void* mouseProxyMoveDelegate, void* mouseDownDelegate, void* mouseUpDelegate, void* mouseWheelDelegate, void* mouseLeaveDelegate,
void* menuItemSelectedDelegate); void* menuItemSelectedDelegate);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetTitle(void* window, char8* title); static extern void BFWindow_SetTitle(void* window, char8* title);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetMinimumSize(void* window, int32 minWidth, int32 minHeight, bool clientSized); static extern void BFWindow_SetMinimumSize(void* window, int32 minWidth, int32 minHeight, bool clientSized);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_GetPosition(void* window, out int32 x, out int32 y, out int32 width, out int32 height, out int32 clientX, out int32 clientY, out int32 clientWidth, out int32 clientHeight); static extern void BFWindow_GetPosition(void* window, out int32 x, out int32 y, out int32 width, out int32 height, out int32 clientX, out int32 clientY, out int32 clientWidth, out int32 clientHeight);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_GetPlacement(void* window, out int32 normX, out int32 normY, out int32 normWidth, out int32 normHeight, out int32 showKind); static extern void BFWindow_GetPlacement(void* window, out int32 normX, out int32 normY, out int32 normWidth, out int32 normHeight, out int32 showKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_Resize(void* window, int32 x, int32 y, int32 width, int32 height, int showKind); static extern void BFWindow_Resize(void* window, int32 x, int32 y, int32 width, int32 height, int showKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_Close(void* window, int32 force); static extern void BFWindow_Close(void* window, int32 force);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetForeground(void* window); static extern void BFWindow_SetForeground(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_LostFocus(void* window, void* newFocus); static extern void BFWindow_LostFocus(void* window, void* newFocus);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetNonExclusiveMouseCapture(void* window); static extern void BFWindow_SetNonExclusiveMouseCapture(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetClientPosition(void* window, int32 x, int32 y); static extern void BFWindow_SetClientPosition(void* window, int32 x, int32 y);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetAlpha(void* window, float alpha, uint32 destAlphaSrcMask, int32 mouseVisible); static extern void BFWindow_SetAlpha(void* window, float alpha, uint32 destAlphaSrcMask, int32 mouseVisible);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_SetMouseVisible(void* window, bool mouseVisible); static extern void BFWindow_SetMouseVisible(void* window, bool mouseVisible);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BFWindow_CaptureMouse(void* window); static extern void BFWindow_CaptureMouse(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BFWindow_IsMouseCaptured(void* window); static extern bool BFWindow_IsMouseCaptured(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFWindow_AddMenuItem(void* window, void* parent, int32 insertIdx, char8* text, char8* hotKey, void* bitmap, int32 enabled, int32 checkState, int32 radioCheck); static extern void* BFWindow_AddMenuItem(void* window, void* parent, int32 insertIdx, char8* text, char8* hotKey, void* bitmap, int32 enabled, int32 checkState, int32 radioCheck);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFWindow_ModifyMenuItem(void* window, void* item, char8* text, char8* hotKey, void* bitmap, int32 enabled, int32 checkState, int32 radioCheck); static extern void* BFWindow_ModifyMenuItem(void* window, void* item, char8* text, char8* hotKey, void* bitmap, int32 enabled, int32 checkState, int32 radioCheck);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BFWindow_DeleteMenuItem(void* window, void* item); static extern void* BFWindow_DeleteMenuItem(void* window, void* item);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int BFWindow_GetDPI(void* window); static extern int BFWindow_GetDPI(void* window);
public static BFWindow GetBFWindow(void* window) public static BFWindow GetBFWindow(void* window)

View file

@ -13,10 +13,10 @@ namespace Beefy
{ {
static Random mRandom = new Random() ~ delete _; static Random mRandom = new Random() ~ delete _;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 BF_TickCount(); static extern int32 BF_TickCount();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 BF_TickCountMicroFast(); static extern int32 BF_TickCountMicroFast();
public static float Deg2Rad = Math.PI_f / 180.0f; public static float Deg2Rad = Math.PI_f / 180.0f;

View file

@ -13,19 +13,19 @@ namespace Beefy.gfx
#if !STUDIO_CLIENT #if !STUDIO_CLIENT
public class DrawLayer public class DrawLayer
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* DrawLayer_Create(void* window); static extern void* DrawLayer_Create(void* window);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void DrawLayer_Delete(void* drawLayer); static extern void DrawLayer_Delete(void* drawLayer);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void DrawLayer_Clear(void* drawLayer); static extern void DrawLayer_Clear(void* drawLayer);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void DrawLayer_Activate(void* drawLayer); static extern void DrawLayer_Activate(void* drawLayer);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void DrawLayer_DrawToRenderTarget(void* drawLayer, void* texture); static extern void DrawLayer_DrawToRenderTarget(void* drawLayer, void* texture);
public void* mNativeDrawLayer; public void* mNativeDrawLayer;

View file

@ -38,19 +38,19 @@ namespace Beefy.gfx
public class Font public class Font
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern FTFont* FTFont_Load(char8* fileName, float pointSize); static extern FTFont* FTFont_Load(char8* fileName, float pointSize);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void FTFont_Delete(FTFont* ftFont, bool cacheRetain); static extern void FTFont_Delete(FTFont* ftFont, bool cacheRetain);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void FTFont_ClearCache(); static extern void FTFont_ClearCache();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern FTGlyph* FTFont_AllocGlyph(FTFont* ftFont, int32 char8Code, bool allowDefault); static extern FTGlyph* FTFont_AllocGlyph(FTFont* ftFont, int32 char8Code, bool allowDefault);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 FTFont_GetKerning(FTFont* font, int32 char8CodeA, int32 char8CodeB); static extern int32 FTFont_GetKerning(FTFont* font, int32 char8CodeA, int32 char8CodeB);
static Dictionary<String, String> sFontNameMap ~ DeleteDictionaryAndKeysAndItems!(_); static Dictionary<String, String> sFontNameMap ~ DeleteDictionaryAndKeysAndItems!(_);

View file

@ -400,37 +400,37 @@ namespace Beefy.gfx
#if !STUDIO_CLIENT #if !STUDIO_CLIENT
public class Graphics : GraphicsBase public class Graphics : GraphicsBase
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_SetRenderState(void* renderState); static extern void Gfx_SetRenderState(void* renderState);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_AllocTris(void* textureSegment, int32 vtxCount); static extern void Gfx_AllocTris(void* textureSegment, int32 vtxCount);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_SetDrawVertex(int32 idx, float x, float y, float z, float u, float v, uint32 color); static extern void Gfx_SetDrawVertex(int32 idx, float x, float y, float z, float u, float v, uint32 color);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_CopyDrawVertex(int32 destIdx, int32 srcIdx); static extern void Gfx_CopyDrawVertex(int32 destIdx, int32 srcIdx);
//[StdCall, CLink] //[CallingConvention(.Stdcall), CLink]
//static unsafe extern void Gfx_DrawIndexedVertices2D(void* vtxData, int vtxCount, int* idxData, int idxCount, float a, float b, float c, float d, float tx, float ty, float z); //static unsafe extern void Gfx_DrawIndexedVertices2D(void* vtxData, int vtxCount, int* idxData, int idxCount, float a, float b, float c, float d, float tx, float ty, float z);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_DrawIndexedVertices2D(int32 vertexSize, void* vtxData, int32 vtxCount, uint16* idxData, int32 idxCount, float a, float b, float c, float d, float tx, float ty, float z); static extern void Gfx_DrawIndexedVertices2D(int32 vertexSize, void* vtxData, int32 vtxCount, uint16* idxData, int32 idxCount, float a, float b, float c, float d, float tx, float ty, float z);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_SetShaderConstantData(int32 slotIdx, void* data, int32 size); static extern void Gfx_SetShaderConstantData(int32 slotIdx, void* data, int32 size);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_SetShaderConstantDataTyped(int32 slotIdx, void* data, int32 size, int32* typeData, int32 typeCount); static extern void Gfx_SetShaderConstantDataTyped(int32 slotIdx, void* data, int32 size, int32* typeData, int32 typeCount);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_DrawQuads(void* textureSegment, Vertex3D* vertices, int32 vtxCount); static extern void Gfx_DrawQuads(void* textureSegment, Vertex3D* vertices, int32 vtxCount);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Gfx_QueueRenderCmd(void* nativeRenderCmd); extern static void* Gfx_QueueRenderCmd(void* nativeRenderCmd);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void Gfx_SetTexture_TextureSegment(int32 textureIdx, void* textureSegment); extern static void Gfx_SetTexture_TextureSegment(int32 textureIdx, void* textureSegment);
public this() public this()

View file

@ -33,40 +33,40 @@ namespace Beefy.gfx
public void* mNativeTextureSegment; public void* mNativeTextureSegment;
public PixelSnapping mPixelSnapping = PixelSnapping.Auto; public PixelSnapping mPixelSnapping = PixelSnapping.Auto;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void Gfx_DrawTextureSegment(void* textureSegment, float a, float b, float c, float d, float tx, float ty, float z, uint32 color, int32 pixelSnapping); public static extern void Gfx_DrawTextureSegment(void* textureSegment, float a, float b, float c, float d, float tx, float ty, float z, uint32 color, int32 pixelSnapping);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_LoadTexture(char8* fileName, int32 flags); static extern void* Gfx_LoadTexture(char8* fileName, int32 flags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_CreateDynTexture(int32 width, int32 height); static extern void* Gfx_CreateDynTexture(int32 width, int32 height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_CreateRenderTarget(int32 width, int32 height, int32 destAlpha); static extern void* Gfx_CreateRenderTarget(int32 width, int32 height, int32 destAlpha);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_ModifyTextureSegment(void* destSegment, void* srcTextureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight); static extern void* Gfx_ModifyTextureSegment(void* destSegment, void* srcTextureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_CreateTextureSegment(void* textureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight); static extern void* Gfx_CreateTextureSegment(void* textureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void Gfx_SetDrawSize(void* textureSegment, int32 width, int32 height); public static extern void Gfx_SetDrawSize(void* textureSegment, int32 width, int32 height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_Texture_SetBits(void* textureSegment, int32 destX, int32 destY, int32 destWidth, int32 destHeight, int32 srcPitch, uint32* bits); static extern void Gfx_Texture_SetBits(void* textureSegment, int32 destX, int32 destY, int32 destWidth, int32 destHeight, int32 srcPitch, uint32* bits);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_Texture_GetBits(void* textureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight, int32 destPitch, uint32* bits); static extern void Gfx_Texture_GetBits(void* textureSegment, int32 srcX, int32 srcY, int32 srcWidth, int32 srcHeight, int32 destPitch, uint32* bits);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_Texture_Delete(void* textureSegment); static extern void Gfx_Texture_Delete(void* textureSegment);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Gfx_Texture_GetWidth(void* textureSegment); static extern int32 Gfx_Texture_GetWidth(void* textureSegment);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Gfx_Texture_GetHeight(void* textureSegment); static extern int32 Gfx_Texture_GetHeight(void* textureSegment);
public this() public this()

View file

@ -56,16 +56,16 @@ namespace Beefy.gfx
public String mName; public String mName;
public int32 mAnimIdx; public int32 mAnimIdx;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void ModelDefAnimation_GetJointTranslation(void* nativeAnimation, int32 jointIdx, float frame, out JointTranslation jointTranslation); extern static void ModelDefAnimation_GetJointTranslation(void* nativeAnimation, int32 jointIdx, float frame, out JointTranslation jointTranslation);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 ModelDefAnimation_GetFrameCount(void* nativeAnimation); extern static int32 ModelDefAnimation_GetFrameCount(void* nativeAnimation);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static char8* ModelDefAnimation_GetName(void* nativeAnimation); extern static char8* ModelDefAnimation_GetName(void* nativeAnimation);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void ModelDefAnimation_Clip(void* nativeAnimation, int32 startFrame, int32 numFrames); extern static void ModelDefAnimation_Clip(void* nativeAnimation, int32 startFrame, int32 numFrames);
public this(void* nativeModelDefAnimation) public this(void* nativeModelDefAnimation)
@ -93,22 +93,22 @@ namespace Beefy.gfx
public Animation[] mAnims; public Animation[] mAnims;
public Dictionary<String, Animation> mAnimMap = new Dictionary<String, Animation>(); public Dictionary<String, Animation> mAnimMap = new Dictionary<String, Animation>();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Res_OpenFBX(String fileName, void* nativeVertexDef); extern static void* Res_OpenFBX(String fileName, void* nativeVertexDef);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* ModelDef_CreateModelInstance(void* nativeModel); extern static void* ModelDef_CreateModelInstance(void* nativeModel);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static float ModelDef_GetFrameRate(void* nativeModel); extern static float ModelDef_GetFrameRate(void* nativeModel);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 ModelDef_GetJointCount(void* nativeModel); extern static int32 ModelDef_GetJointCount(void* nativeModel);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 ModelDef_GetAnimCount(void* nativeModel); extern static int32 ModelDef_GetAnimCount(void* nativeModel);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* ModelDef_GetAnimation(void* nativeModel, int32 animIdx); extern static void* ModelDef_GetAnimation(void* nativeModel, int32 animIdx);
this(void* nativeModelDef) this(void* nativeModelDef)
@ -154,10 +154,10 @@ namespace Beefy.gfx
public class ModelInstance : RenderCmd public class ModelInstance : RenderCmd
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void ModelInstance_SetJointTranslation(void* nativeModelInstance, int32 jointIdx, ref ModelDef.JointTranslation jointTranslation); extern static void ModelInstance_SetJointTranslation(void* nativeModelInstance, int32 jointIdx, ref ModelDef.JointTranslation jointTranslation);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void ModelInstance_SetMeshVisibility(void* nativeModelInstance, int32 jointIdx, int32 visibility); extern static void ModelInstance_SetMeshVisibility(void* nativeModelInstance, int32 jointIdx, int32 visibility);
public ModelDef mModelDef; public ModelDef mModelDef;

View file

@ -22,25 +22,25 @@ namespace Beefy.gfx
#if !STUDIO_CLIENT #if !STUDIO_CLIENT
public class RenderState public class RenderState
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_CreateRenderState(void* srcNativeRenderState); static extern void* Gfx_CreateRenderState(void* srcNativeRenderState);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_Delete(void* renderState); static extern void RenderState_Delete(void* renderState);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_SetClip(void* renderState, float x, float y, float width, float height); static extern void RenderState_SetClip(void* renderState, float x, float y, float width, float height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_DisableClip(void* renderState); static extern void RenderState_DisableClip(void* renderState);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_SetShader(void* nativeRenderState, void* nativeShader); static extern void RenderState_SetShader(void* nativeRenderState, void* nativeShader);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_SetDepthFunc(void* nativeRenderState, int32 depthFunc); static extern void RenderState_SetDepthFunc(void* nativeRenderState, int32 depthFunc);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void RenderState_SetDepthWrite(void* nativeRenderState, int32 depthWrite); static extern void RenderState_SetDepthWrite(void* nativeRenderState, int32 depthWrite);
public void* mNativeRenderState; public void* mNativeRenderState;

View file

@ -19,13 +19,13 @@ namespace Beefy.gfx
public void* mNativeShader; public void* mNativeShader;
public Dictionary<String, ShaderParam> mShaderParamMap; public Dictionary<String, ShaderParam> mShaderParamMap;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_LoadShader(char8* fileName, void* vertexDefinition); static extern void* Gfx_LoadShader(char8* fileName, void* vertexDefinition);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_Shader_Delete(void* shader); static extern void* Gfx_Shader_Delete(void* shader);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_GetShaderParam(void* shader, String paramName); static extern void* Gfx_GetShaderParam(void* shader, String paramName);
public static Shader CreateFromFile(String fileName, VertexDefinition vertexDefinition) public static Shader CreateFromFile(String fileName, VertexDefinition vertexDefinition)

View file

@ -34,10 +34,10 @@ namespace Beefy.gfx
} }
#if !STUDIO_CLIENT #if !STUDIO_CLIENT
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Gfx_CreateVertexDefinition(VertexDefData* elementData, int32 numElements); static extern void* Gfx_CreateVertexDefinition(VertexDefData* elementData, int32 numElements);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Gfx_VertexDefinition_Delete(void* nativeVertexDefinition); static extern void Gfx_VertexDefinition_Delete(void* nativeVertexDefinition);
public void* mNativeVertexDefinition; public void* mNativeVertexDefinition;

View file

@ -8,13 +8,13 @@ namespace Beefy.res
#if !STUDIO_CLIENT #if !STUDIO_CLIENT
public class PSDLayer public class PSDLayer
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void Res_PSDLayer_GetSize(void* layerInfo, out int32 x, out int32 y, out int32 width, out int32 height); extern static void Res_PSDLayer_GetSize(void* layerInfo, out int32 x, out int32 y, out int32 width, out int32 height);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 Res_PSDLayer_GetLayerId(void* layerInfo); extern static int32 Res_PSDLayer_GetLayerId(void* layerInfo);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static char8* Res_PSDLayer_GetName(void* layerInfo); extern static char8* Res_PSDLayer_GetName(void* layerInfo);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 Res_PSDLayer_IsVisible(void* layerInfo); extern static int32 Res_PSDLayer_IsVisible(void* layerInfo);
public void* mNativeLayerInfo; public void* mNativeLayerInfo;
@ -49,22 +49,22 @@ namespace Beefy.res
public class PSDReader public class PSDReader
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Res_OpenPSD(String fileName); extern static void* Res_OpenPSD(String fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void Res_DeletePSDReader(void* pSDReader); extern static void Res_DeletePSDReader(void* pSDReader);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 Res_PSD_GetLayerCount(void* pSDReader); extern static int32 Res_PSD_GetLayerCount(void* pSDReader);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Res_PSD_GetLayerTexture(void* pSDReader, int32 layerIdx, out int32 xOfs, out int32 yOfs); extern static void* Res_PSD_GetLayerTexture(void* pSDReader, int32 layerIdx, out int32 xOfs, out int32 yOfs);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Res_PSD_GetMergedLayerTexture(void* pSDReader, void* layerIndices, int32 count, out int32 xOfs, out int32 yOfs); extern static void* Res_PSD_GetMergedLayerTexture(void* pSDReader, void* layerIndices, int32 count, out int32 xOfs, out int32 yOfs);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void* Res_PSD_GetLayerInfo(void* pSDReader, int32 layerIdx); extern static void* Res_PSD_GetLayerInfo(void* pSDReader, int32 layerIdx);
void* mNativePSDReader; void* mNativePSDReader;

View file

@ -28,7 +28,7 @@ namespace Beefy.res
public class ResourceManager public class ResourceManager
{ {
/*[StdCall, CLink] /*[CallingConvention(.Stdcall), CLink]
static extern void Wwise_Shutdown();*/ static extern void Wwise_Shutdown();*/
public Dictionary<String, ResGroup> mResGroupMap = new Dictionary<String, ResGroup>() ~ delete _; public Dictionary<String, ResGroup> mResGroupMap = new Dictionary<String, ResGroup>() ~ delete _;

View file

@ -7,7 +7,7 @@ namespace Beefy.res
{ {
/*public class SoundBank /*public class SoundBank
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Wwise_LoadBankByName(String name); static extern void Wwise_LoadBankByName(String name);
public String mName; public String mName;

View file

@ -7,7 +7,7 @@ namespace Beefy.res
{ {
/*public class SoundEvent /*public class SoundEvent
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Wwise_SendEvent(uint32 eventId, void* objectId); static extern void Wwise_SendEvent(uint32 eventId, void* objectId);
public uint32 mWwiseEventId; public uint32 mWwiseEventId;

View file

@ -7,7 +7,7 @@ namespace Beefy.res
{ {
/*public class SoundParameter /*public class SoundParameter
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Wwise_SetRTPCValue(uint32 paramId, float value, void* soundGameObject); static extern int32 Wwise_SetRTPCValue(uint32 paramId, float value, void* soundGameObject);
public uint32 mWwiseParamId; public uint32 mWwiseParamId;

View file

@ -4,13 +4,13 @@ namespace Beefy.sound
{ {
struct SoundInstance struct SoundInstance
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void* BFSoundInstance_Play(void* nativeSoundInstance, bool looping, bool autoRelease); public static extern void* BFSoundInstance_Play(void* nativeSoundInstance, bool looping, bool autoRelease);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BFSoundInstance_Release(void* nativeSoundInstance); public static extern void BFSoundInstance_Release(void* nativeSoundInstance);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BFSoundInstance_IsPlaying(void* nativeSoundInstance); public static extern bool BFSoundInstance_IsPlaying(void* nativeSoundInstance);
void* mNativeSoundInstance; void* mNativeSoundInstance;

View file

@ -17,10 +17,10 @@ namespace Beefy.sound
{ {
void* mNativeSoundManager; void* mNativeSoundManager;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int32 BFSoundManager_LoadSound(void* nativeSoundManager, char8* fileName); public static extern int32 BFSoundManager_LoadSound(void* nativeSoundManager, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void* BFSoundManager_GetSoundInstance(void* nativeSoundManager, int32 sfxId); public static extern void* BFSoundManager_GetSoundInstance(void* nativeSoundManager, int32 sfxId);
public SoundSource LoadSound(StringView fileName) public SoundSource LoadSound(StringView fileName)

View file

@ -4,34 +4,34 @@ namespace Beefy.utils
{ {
static class BeefPerf static class BeefPerf
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpInit(char8* severName, char8* sessionName); extern static void BpInit(char8* severName, char8* sessionName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpShutdown(); extern static void BpShutdown();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpRetryConnect(); extern static void BpRetryConnect();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpPause(); extern static void BpPause();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpUnpause(); extern static void BpUnpause();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpSetThreadName(char8* threadName); extern static void BpSetThreadName(char8* threadName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpEnter(char8* name); extern static void BpEnter(char8* name);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpLeave(); extern static void BpLeave();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BpEvent(char8* name, char8* details); extern static void BpEvent(char8* name, char8* details);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static char8* BpDynStr(char8* string); extern static char8* BpDynStr(char8* string);
public static void Init(StringView serverName, StringView sessionName) public static void Init(StringView serverName, StringView sessionName)

View file

@ -13,13 +13,13 @@ namespace Beefy2D.utils
void* mNativeNetRequest; void* mNativeNetRequest;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* HTTP_GetFile(char8* url, char8* destPath); static extern void* HTTP_GetFile(char8* url, char8* destPath);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 HTTP_GetResult(void* netRequest, int32 waitMS); static extern int32 HTTP_GetResult(void* netRequest, int32 waitMS);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void HTTP_Delete(void* netRequest); static extern void HTTP_Delete(void* netRequest);
public ~this() public ~this()

View file

@ -6,25 +6,25 @@ namespace Beefy.utils
{ {
public abstract class PerfTimer public abstract class PerfTimer
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_ZoneStart(char8* name); extern static void PerfTimer_ZoneStart(char8* name);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_ZoneEnd(); extern static void PerfTimer_ZoneEnd();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_Message(char8* theString); extern static void PerfTimer_Message(char8* theString);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static int32 PerfTimer_IsRecording(); extern static int32 PerfTimer_IsRecording();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_StartRecording(); extern static void PerfTimer_StartRecording();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_StopRecording(); extern static void PerfTimer_StopRecording();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void PerfTimer_DbgPrint(); extern static void PerfTimer_DbgPrint();
static DisposeProxy mZoneEndDisposeProxy ~ delete _; static DisposeProxy mZoneEndDisposeProxy ~ delete _;

File diff suppressed because it is too large Load diff

View file

@ -285,11 +285,11 @@ namespace MiniZ
DoNotSortCentralDirectory = 0x0800 DoNotSortCentralDirectory = 0x0800
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* malloc(int size); static extern void* malloc(int size);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void free(void* ptr); static extern void free(void* ptr);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* realloc(void* ptr, int newSize); static extern void* realloc(void* ptr, int newSize);
static void* def_alloc_func(void* opaque, int items, int size) static void* def_alloc_func(void* opaque, int items, int size)
@ -2726,42 +2726,42 @@ namespace MiniZ
const int32 SEEK_END = 2; const int32 SEEK_END = 2;
const int32 SEEK_SET = 0; const int32 SEEK_SET = 0;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern FILE* fopen(char8* fileName, char8* mode); static extern FILE* fopen(char8* fileName, char8* mode);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern FILE* freopen(char8* fileName, char8* mode, FILE* stream); static extern FILE* freopen(char8* fileName, char8* mode, FILE* stream);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 fclose(FILE* stream); static extern int32 fclose(FILE* stream);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 fflush(FILE* stream); static extern int32 fflush(FILE* stream);
//[StdCall, CLink] //[CallingConvention(.Stdcall), CLink]
//static extern int64 ftell64(FILE* stream); //static extern int64 ftell64(FILE* stream);
static int64 ftell64(FILE* stream) static int64 ftell64(FILE* stream)
{ {
return _ftelli64(stream); return _ftelli64(stream);
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int64 _ftelli64(FILE* stream); static extern int64 _ftelli64(FILE* stream);
//[StdCall, CLink] //[CallingConvention(.Stdcall), CLink]
//static extern int64 fseek64(FILE* stream, int64 offset, int32 origin); //static extern int64 fseek64(FILE* stream, int64 offset, int32 origin);
static int32 fseek64(FILE* stream, int64 offset, int32 origin) static int32 fseek64(FILE* stream, int64 offset, int32 origin)
{ {
return _fseeki64(stream, offset, origin); return _fseeki64(stream, offset, origin);
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 _fseeki64(FILE* stream, int64 offset, int32 origin); static extern int32 _fseeki64(FILE* stream, int64 offset, int32 origin);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int fread(void* buf, int elementSize, int elementCount, FILE* stream); static extern int fread(void* buf, int elementSize, int elementCount, FILE* stream);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int fwrite(void* buf, int elementSize, int elementCount, FILE* stream); static extern int fwrite(void* buf, int elementSize, int elementCount, FILE* stream);
public struct ZipInternalState public struct ZipInternalState
@ -2840,13 +2840,13 @@ namespace MiniZ
public int32 tm_isdst; // daylight savings time flag public int32 tm_isdst; // daylight savings time flag
}; };
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern time_t time(out time_t time); static extern time_t time(out time_t time);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern time_t mktime(tm* time); static extern time_t mktime(tm* time);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern tm* localtime(time_t* time); static extern tm* localtime(time_t* time);
static time_t zip_dos_to_time_t(int32 dos_time, int32 dos_date) static time_t zip_dos_to_time_t(int32 dos_time, int32 dos_date)
@ -2895,7 +2895,7 @@ namespace MiniZ
public time_t modtime; // modification time public time_t modtime; // modification time
}; };
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 _utime64(char8* fileName, utimbuf* t); static extern int32 _utime64(char8* fileName, utimbuf* t);
static bool zip_set_file_times(char8* pFilename, time_t access_time, time_t modified_time) static bool zip_set_file_times(char8* pFilename, time_t access_time, time_t modified_time)
@ -4663,7 +4663,7 @@ namespace MiniZ
public time_t st_ctime; public time_t st_ctime;
}; };
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 _fstat64i32(char8* fileName, FILE_STAT_STRUCT* stat); static extern int32 _fstat64i32(char8* fileName, FILE_STAT_STRUCT* stat);
bool zip_add_mem_to_archive_file_in_place(char8* pZip_filename, char8* pArchive_name, void* pBuf, int buf_size, void* pComment, uint16 comment_size, ZipFlags level_and_flags_in) bool zip_add_mem_to_archive_file_in_place(char8* pZip_filename, char8* pArchive_name, void* pBuf, int buf_size, void* pComment, uint16 comment_size, ZipFlags level_and_flags_in)

View file

@ -42,13 +42,13 @@ namespace System
public uint16[2] mMaximumWindowSize; public uint16[2] mMaximumWindowSize;
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int SetConsoleTextAttribute(void* hConsoleOutput, uint16 wAttributes); static extern int SetConsoleTextAttribute(void* hConsoleOutput, uint16 wAttributes);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int GetConsoleScreenBufferInfo(void* hConsoleOutput, out CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); static extern int GetConsoleScreenBufferInfo(void* hConsoleOutput, out CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* GetStdHandle(uint32 nStdHandle); static extern void* GetStdHandle(uint32 nStdHandle);
#if BF_PLATFORM_WINDOWS #if BF_PLATFORM_WINDOWS

View file

@ -148,7 +148,7 @@ namespace System
return .Ok(strtod(tempStr, null)); return .Ok(strtod(tempStr, null));
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 ftoa(float val, char8* str); static extern int32 ftoa(float val, char8* str);
static extern int32 ToString(double val, char8* str); static extern int32 ToString(double val, char8* str);

View file

@ -130,7 +130,7 @@ namespace System
return 1; return 1;
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 ftoa(float val, char8* str); static extern int32 ftoa(float val, char8* str);
static extern int32 ToString(float val, char8* str); static extern int32 ToString(float val, char8* str);

View file

@ -128,57 +128,57 @@ namespace System.Net
} }
#if BF_PLATFORM_WINDOWS #if BF_PLATFORM_WINDOWS
[Import("wsock32.lib"), CLink, StdCall] [Import("wsock32.lib"), CLink, CallingConvention(.Stdcall)]
static extern int32 WSAStartup(uint16 versionRequired, WSAData* wsaData); static extern int32 WSAStartup(uint16 versionRequired, WSAData* wsaData);
[Import("wsock32.lib"), CLink, StdCall] [Import("wsock32.lib"), CLink, CallingConvention(.Stdcall)]
static extern int32 WSAGetLastError(); static extern int32 WSAGetLastError();
#else #else
[CLink] [CLink]
static int32 errno; static int32 errno;
#endif #endif
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern HostEnt* gethostbyname(char8* name); static extern HostEnt* gethostbyname(char8* name);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern HSocket socket(int32 af, int32 type, int32 protocol); static extern HSocket socket(int32 af, int32 type, int32 protocol);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 connect(HSocket s, SockAddr* name, int32 nameLen); static extern int32 connect(HSocket s, SockAddr* name, int32 nameLen);
#if BF_PLATFORM_WINDOWS #if BF_PLATFORM_WINDOWS
[Import("wsock32.lib"), CLink, StdCall] [Import("wsock32.lib"), CLink, CallingConvention(.Stdcall)]
static extern int32 closesocket(HSocket s); static extern int32 closesocket(HSocket s);
#else #else
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 close(HSocket s); static extern int32 close(HSocket s);
#endif #endif
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 bind(HSocket s, SockAddr* name, int32 nameLen); static extern int32 bind(HSocket s, SockAddr* name, int32 nameLen);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 listen(HSocket s, int32 backlog); static extern int32 listen(HSocket s, int32 backlog);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern HSocket accept(HSocket s, SockAddr* addr, int32* addrLen); static extern HSocket accept(HSocket s, SockAddr* addr, int32* addrLen);
#if BF_PLATFORM_WINDOWS #if BF_PLATFORM_WINDOWS
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 ioctlsocket(HSocket s, int cmd, int* argp); static extern int32 ioctlsocket(HSocket s, int cmd, int* argp);
#else #else
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 ioctl(HSocket s, int cmd, int* argp); static extern int32 ioctl(HSocket s, int cmd, int* argp);
#endif #endif
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 select(int nfds, FDSet* readFDS, FDSet* writeFDS, FDSet* exceptFDS, TimeVal* timeVal); static extern int32 select(int nfds, FDSet* readFDS, FDSet* writeFDS, FDSet* exceptFDS, TimeVal* timeVal);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 recv(HSocket s, void* ptr, int32 len, int32 flags); static extern int32 recv(HSocket s, void* ptr, int32 len, int32 flags);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int32 send(HSocket s, void* ptr, int32 len, int32 flags); static extern int32 send(HSocket s, void* ptr, int32 len, int32 flags);
public ~this() public ~this()

View file

@ -78,34 +78,34 @@ namespace System
public uint32 dwFileDateLS; // e.g. 0 public uint32 dwFileDateLS; // e.g. 0
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static bool GetVersionExA(OSVersionInfoExA* lpVersionInformation); extern static bool GetVersionExA(OSVersionInfoExA* lpVersionInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static bool VerifyVersionInfoA(OSVersionInfoExA* lpVersionInformation, uint32 dwTypeMask, uint64 dwlConditionMask); extern static bool VerifyVersionInfoA(OSVersionInfoExA* lpVersionInformation, uint32 dwTypeMask, uint64 dwlConditionMask);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static uint64 VerSetConditionMask(uint64 dwlConditionMask, uint32 dwTypeBitMask, uint8 dwConditionMask); extern static uint64 VerSetConditionMask(uint64 dwlConditionMask, uint32 dwTypeBitMask, uint8 dwConditionMask);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static void GetNativeSystemInfo(SystemInfo* lpSystemInformation); extern static void GetNativeSystemInfo(SystemInfo* lpSystemInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static void GetSystemInfo(SystemInfo* lpSystemInfo); extern static void GetSystemInfo(SystemInfo* lpSystemInfo);
[Import("netapi32.lib"), CLink, StdCall] [Import("netapi32.lib"), CLink, CallingConvention(.Stdcall)]
extern static uint32 NetWkstaGetInfo(char16* ServerName, uint32 Level, LPWKSTA_INFO_100* BufPtr); extern static uint32 NetWkstaGetInfo(char16* ServerName, uint32 Level, LPWKSTA_INFO_100* BufPtr);
[Import("netapi32.lib"), CLink, StdCall] [Import("netapi32.lib"), CLink, CallingConvention(.Stdcall)]
extern static int32 NetApiBufferFree(LPWKSTA_INFO_100 BufPtr); extern static int32 NetApiBufferFree(LPWKSTA_INFO_100 BufPtr);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
extern static uint32 GetFileVersionInfoSizeA(char8* lptstrFilename, uint32* lpdwHandle); extern static uint32 GetFileVersionInfoSizeA(char8* lptstrFilename, uint32* lpdwHandle);
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
extern static bool GetFileVersionInfoA(char8* lptstrFilename, uint32* dwHandle, uint32 dwLen, void* lpData); extern static bool GetFileVersionInfoA(char8* lptstrFilename, uint32* dwHandle, uint32 dwLen, void* lpData);
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
extern static bool VerQueryValueA(void* pBlock, char8* lpSubBlock, void** lplpBuffer, uint32* puLen); extern static bool VerQueryValueA(void* pBlock, char8* lpSubBlock, void** lplpBuffer, uint32* puLen);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
extern static int GetSystemMetrics(int nIndex); extern static int GetSystemMetrics(int nIndex);
#endif #endif

View file

@ -50,47 +50,47 @@ namespace System
TempFileError = (int)Result.TempFileError TempFileError = (int)Result.TempFileError
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_TickCount(); public static extern uint32 BfpSystem_TickCount();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpSystem_GetTimeStamp(); public static extern BfpTimeStamp BfpSystem_GetTimeStamp();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint8 BfpSystem_InterlockedExchange8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr' public static extern uint8 BfpSystem_InterlockedExchange8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint16 BfpSystem_InterlockedExchange16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr' public static extern uint16 BfpSystem_InterlockedExchange16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedExchange32(uint32* ptr, uint32 val); /// Returns the initial value in 'ptr' public static extern uint32 BfpSystem_InterlockedExchange32(uint32* ptr, uint32 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedExchange64(uint64* ptr, uint64 val); /// Returns the initial value in 'ptr' public static extern uint64 BfpSystem_InterlockedExchange64(uint64* ptr, uint64 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint8 BfpSystem_InterlockedExchangeAdd8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr' public static extern uint8 BfpSystem_InterlockedExchangeAdd8(uint8* ptr, uint8 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint16 BfpSystem_InterlockedExchangeAdd16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr' public static extern uint16 BfpSystem_InterlockedExchangeAdd16(uint16* ptr, uint16 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedExchangeAdd32(uint32* ptr, uint32 val); /// Returns the initial value in 'ptr' public static extern uint32 BfpSystem_InterlockedExchangeAdd32(uint32* ptr, uint32 val); /// Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedExchangeAdd64(uint64* ptr, uint64 val); public static extern uint64 BfpSystem_InterlockedExchangeAdd64(uint64* ptr, uint64 val);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint8 BfpSystem_InterlockedCompareExchange8(uint8* ptr, uint8 oldVal, uint8 newVal); public static extern uint8 BfpSystem_InterlockedCompareExchange8(uint8* ptr, uint8 oldVal, uint8 newVal);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint16 BfpSystem_InterlockedCompareExchange16(uint16* ptr, uint16 oldVal, uint16 newVal); public static extern uint16 BfpSystem_InterlockedCompareExchange16(uint16* ptr, uint16 oldVal, uint16 newVal);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedCompareExchange32(uint32* ptr, uint32 oldVal, uint32 newVal); public static extern uint32 BfpSystem_InterlockedCompareExchange32(uint32* ptr, uint32 oldVal, uint32 newVal);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal); public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSystem_GetExecutablePath(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult); public static extern void BfpSystem_GetExecutablePath(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult); public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int32 BfpSystem_GetNumLogicalCPUs(BfpSystemResult* outResult); public static extern int32 BfpSystem_GetNumLogicalCPUs(BfpSystemResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpSystem_GetCPUTick(); public static extern int64 BfpSystem_GetCPUTick();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpSystem_GetCPUTickFreq(); public static extern int64 BfpSystem_GetCPUTickFreq();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSystem_CreateGUID(Guid* outGuid); public static extern void BfpSystem_CreateGUID(Guid* outGuid);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSystem_GetComputerName(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult); public static extern void BfpSystem_GetComputerName(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
public enum BfpFileWatcherFlags : int32 public enum BfpFileWatcherFlags : int32
@ -110,9 +110,9 @@ namespace System
public function void BfpDirectoryChangeFunc(BfpFileWatcher* watcher, void* userData, BfpFileChangeKind changeKind, char8* directory, char8* fileName, char8* oldName); public function void BfpDirectoryChangeFunc(BfpFileWatcher* watcher, void* userData, BfpFileChangeKind changeKind, char8* directory, char8* fileName, char8* oldName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileWatcher* BfpFileWatcher_WatchDirectory(char8* path, BfpDirectoryChangeFunc callback, BfpFileWatcherFlags flags, void* userData, BfpFileResult* outResult); public static extern BfpFileWatcher* BfpFileWatcher_WatchDirectory(char8* path, BfpDirectoryChangeFunc callback, BfpFileWatcherFlags flags, void* userData, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFileWatcher_Release(BfpFileWatcher* fileWatcher); public static extern void BfpFileWatcher_Release(BfpFileWatcher* fileWatcher);
public enum BfpProcessResult : int32 public enum BfpProcessResult : int32
@ -121,19 +121,19 @@ namespace System
InsufficientBuffer = (int)Result.InsufficientBuffer InsufficientBuffer = (int)Result.InsufficientBuffer
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpProcess_IsRemoteMachine(char8* machineName); public static extern bool BfpProcess_IsRemoteMachine(char8* machineName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpProcess* BfpProcess_GetById(char8* machineName, int32 processId, BfpProcessResult* outResult); public static extern BfpProcess* BfpProcess_GetById(char8* machineName, int32 processId, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_Enumerate(char8* machineName, BfpProcess** outProcesses, int32* inOutProcessesSize, BfpProcessResult* outResult); public static extern void BfpProcess_Enumerate(char8* machineName, BfpProcess** outProcesses, int32* inOutProcessesSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_Release(BfpProcess* process); public static extern void BfpProcess_Release(BfpProcess* process);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_GetMainWindowTitle(BfpProcess* process, char8* outTitle, int32* inOutTitleSize, BfpProcessResult* outResult); public static extern void BfpProcess_GetMainWindowTitle(BfpProcess* process, char8* outTitle, int32* inOutTitleSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_GetProcessName(BfpProcess* process, char8* outName, int32* inOutNameSize, BfpProcessResult* outResult); public static extern void BfpProcess_GetProcessName(BfpProcess* process, char8* outName, int32* inOutNameSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int32 BfpProcess_GetProcessId(BfpProcess* process); public static extern int32 BfpProcess_GetProcessId(BfpProcess* process);
public enum BfpSpawnFlags : int32 public enum BfpSpawnFlags : int32
@ -166,29 +166,29 @@ namespace System
UnknownError = (int)Result.UnknownError UnknownError = (int)Result.UnknownError
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpSpawn* BfpSpawn_Create(char8* targetPath, char8* args, char8* workingDir, char8* env, BfpSpawnFlags flags, BfpSpawnResult* outResult); public static extern BfpSpawn* BfpSpawn_Create(char8* targetPath, char8* args, char8* workingDir, char8* env, BfpSpawnFlags flags, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_Release(BfpSpawn* spawn); public static extern void BfpSpawn_Release(BfpSpawn* spawn);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_Kill(BfpSpawn* spawn, int32 exitCode, BfpKillFlags killFlags, BfpSpawnResult* outResult); public static extern void BfpSpawn_Kill(BfpSpawn* spawn, int32 exitCode, BfpKillFlags killFlags, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpSpawn_WaitFor(BfpSpawn* spawn, int waitMS, int* outExitCode, BfpSpawnResult* outResult); public static extern bool BfpSpawn_WaitFor(BfpSpawn* spawn, int waitMS, int* outExitCode, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_GetStdHandles(BfpSpawn* spawn, BfpFile** outStdIn, BfpFile** outStdOut, BfpFile** outStdErr); public static extern void BfpSpawn_GetStdHandles(BfpSpawn* spawn, BfpFile** outStdIn, BfpFile** outStdOut, BfpFile** outStdErr);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpProcess_GetCurrentId(); public static extern int BfpProcess_GetCurrentId();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpCritSect* BfpCritSect_Create(); public static extern BfpCritSect* BfpCritSect_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Release(BfpCritSect* critSect); public static extern void BfpCritSect_Release(BfpCritSect* critSect);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Enter(BfpCritSect* critSect); public static extern void BfpCritSect_Enter(BfpCritSect* critSect);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpCritSect_TryEnter(BfpCritSect* critSect, int32 waitMS); public static extern bool BfpCritSect_TryEnter(BfpCritSect* critSect, int32 waitMS);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Leave(BfpCritSect* critSect); public static extern void BfpCritSect_Leave(BfpCritSect* critSect);
public enum BfpEventFlags : int32 public enum BfpEventFlags : int32
@ -206,15 +206,15 @@ namespace System
BfpEventResult_NotSupported = (int)Result.NotSupported BfpEventResult_NotSupported = (int)Result.NotSupported
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpEvent* BfpEvent_Create(BfpEventFlags flags); public static extern BfpEvent* BfpEvent_Create(BfpEventFlags flags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Release(BfpEvent* event); public static extern void BfpEvent_Release(BfpEvent* event);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Set(BfpEvent* event, bool requireManualReset); public static extern void BfpEvent_Set(BfpEvent* event, bool requireManualReset);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Reset(BfpEvent* event, BfpEventResult* outResult); public static extern void BfpEvent_Reset(BfpEvent* event, BfpEventResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpEvent_WaitFor(BfpEvent* event, int32 waitMS); public static extern bool BfpEvent_WaitFor(BfpEvent* event, int32 waitMS);
public enum BfpLibResult : int32 public enum BfpLibResult : int32
@ -224,13 +224,13 @@ namespace System
InsufficientBuffer = (int)Result.InsufficientBuffer InsufficientBuffer = (int)Result.InsufficientBuffer
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpDynLib* BfpDynLib_Load(char8* fileName); public static extern BfpDynLib* BfpDynLib_Load(char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDynLib_Release(BfpDynLib* lib); public static extern void BfpDynLib_Release(BfpDynLib* lib);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDynLib_GetFilePath(BfpDynLib* lib, char8* outPath, int32* inOutPathSize, BfpLibResult* outResult); public static extern void BfpDynLib_GetFilePath(BfpDynLib* lib, char8* outPath, int32* inOutPathSize, BfpLibResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void* BfpDynLib_GetProcAddress(BfpDynLib* lib, char8* name); public static extern void* BfpDynLib_GetProcAddress(BfpDynLib* lib, char8* name);
public enum BfpFileResult : int32 public enum BfpFileResult : int32
@ -249,19 +249,19 @@ namespace System
NotEmpty = (int)Result.NotEmpty NotEmpty = (int)Result.NotEmpty
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Create(char8* name, BfpFileResult* outResult); public static extern void BfpDirectory_Create(char8* name, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Rename(char8* oldName, char8* newName, BfpFileResult* outResult); public static extern void BfpDirectory_Rename(char8* oldName, char8* newName, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Delete(char8* name, BfpFileResult* outResult); public static extern void BfpDirectory_Delete(char8* name, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_GetCurrent(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpDirectory_GetCurrent(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_SetCurrent(char8* path, BfpFileResult* outResult); public static extern void BfpDirectory_SetCurrent(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpDirectory_Exists(char8* path); public static extern bool BfpDirectory_Exists(char8* path);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_GetSysDirectory(BfpSysDirectoryKind sysDirKind, char8* outPath, int32* inOutPathLen, BfpFileResult* outResult); public static extern void BfpDirectory_GetSysDirectory(BfpSysDirectoryKind sysDirKind, char8* outPath, int32* inOutPathLen, BfpFileResult* outResult);
public enum BfpFileCreateKind : int32 public enum BfpFileCreateKind : int32
@ -330,45 +330,45 @@ namespace System
In In
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFile* BfpFile_Create(char8* name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttrs, BfpFileResult* outResult); public static extern BfpFile* BfpFile_Create(char8* name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttrs, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFile* BfpFile_GetStd(BfpFileStdKind kind, BfpFileResult* outResult); public static extern BfpFile* BfpFile_GetStd(BfpFileStdKind kind, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Release(BfpFile* file); public static extern void BfpFile_Release(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpFile_Write(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult); public static extern int BfpFile_Write(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpFile_Read(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult); public static extern int BfpFile_Read(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Flush(BfpFile* file); public static extern void BfpFile_Flush(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpFile_GetFileSize(BfpFile* file); public static extern int64 BfpFile_GetFileSize(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpFile_Seek(BfpFile* file, int64 offset, BfpFileSeekKind seekKind); public static extern int64 BfpFile_Seek(BfpFile* file, int64 offset, BfpFileSeekKind seekKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Truncate(BfpFile* file); public static extern void BfpFile_Truncate(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFile_GetTime_LastWrite(char8* path); public static extern BfpTimeStamp BfpFile_GetTime_LastWrite(char8* path);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileAttributes BfpFile_GetAttributes(char8* path, BfpFileResult* outResult); public static extern BfpFileAttributes BfpFile_GetAttributes(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_SetAttributes(char8* path, BfpFileAttributes attribs, BfpFileResult* outResult); public static extern void BfpFile_SetAttributes(char8* path, BfpFileAttributes attribs, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Copy(char8* oldPath, char8* newPath, BfpFileCopyKind copyKind, BfpFileResult* outResult); public static extern void BfpFile_Copy(char8* oldPath, char8* newPath, BfpFileCopyKind copyKind, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Rename(char8* oldPath, char8* newPath, BfpFileResult* outResult); public static extern void BfpFile_Rename(char8* oldPath, char8* newPath, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Delete(char8* path, BfpFileResult* outResult); public static extern void BfpFile_Delete(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpFile_Exists(char8* path); public static extern bool BfpFile_Exists(char8* path);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetTempPath(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetTempPath(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetTempFileName(char8* outName, int32* inOutNameSize, BfpFileResult* outResult); public static extern void BfpFile_GetTempFileName(char8* outName, int32* inOutNameSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetFullPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetFullPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetActualPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetActualPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
public enum BfpFindFileFlags : int32 public enum BfpFindFileFlags : int32
@ -378,21 +378,21 @@ namespace System
Directories = 2, Directories = 2,
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFindFileData* BfpFindFileData_FindFirstFile(char8* path, BfpFindFileFlags flags, BfpFileResult* outResult); public static extern BfpFindFileData* BfpFindFileData_FindFirstFile(char8* path, BfpFindFileFlags flags, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpFindFileData_FindNextFile(BfpFindFileData* findData); public static extern bool BfpFindFileData_FindNextFile(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFindFileData_GetFileName(BfpFindFileData* findData, char8* outName, int32* inOutNameSize, BfpFileResult* outResult); public static extern void BfpFindFileData_GetFileName(BfpFindFileData* findData, char8* outName, int32* inOutNameSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_LastWrite(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_LastWrite(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_Created(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_Created(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_Access(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_Access(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileAttributes BfpFindFileData_GetFileAttributes(BfpFindFileData* findData); public static extern BfpFileAttributes BfpFindFileData_GetFileAttributes(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFindFileData_Release(BfpFindFileData* findData); public static extern void BfpFindFileData_Release(BfpFindFileData* findData);
public enum BfpSysDirectoryKind : int32 public enum BfpSysDirectoryKind : int32

View file

@ -79,7 +79,7 @@ namespace System
} }
} }
[Import("ole32.lib"), CLink, StdCall] [Import("ole32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HResult CoCreateInstanceFromApp(ref Guid clsid, COM_IUnknown* unkOuter, ClsContext clsCtx, void* reserved, uint32 count, MULTI_QI* result); public static extern HResult CoCreateInstanceFromApp(ref Guid clsid, COM_IUnknown* unkOuter, ClsContext clsCtx, void* reserved, uint32 count, MULTI_QI* result);
struct MULTI_QI struct MULTI_QI
@ -89,10 +89,10 @@ namespace System
public HResult mHR; public HResult mHR;
} }
[Import("ole32.lib"), CLink, StdCall] [Import("ole32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HResult CoCreateInstance(ref Guid clsId, COM_IUnknown* unkOuter, ClsContext clsCtx, ref Guid iid, void** result); public static extern HResult CoCreateInstance(ref Guid clsId, COM_IUnknown* unkOuter, ClsContext clsCtx, ref Guid iid, void** result);
[Import("ole32.lib"), CLink, StdCall] [Import("ole32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern void CoTaskMemFree(void* ptr); public static extern void CoTaskMemFree(void* ptr);
} }
@ -1107,19 +1107,19 @@ namespace System
TRUSTEE_W Trustee; TRUSTEE_W Trustee;
} }
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetFileVersionInfoW(char16* lptstrFilename, uint32 dwHandle, uint32 dwLen, void* lpData); public static extern IntBool GetFileVersionInfoW(char16* lptstrFilename, uint32 dwHandle, uint32 dwLen, void* lpData);
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetFileVersionInfoSizeW(char16* lptstrFilename, out uint32 lpdwHandle); public static extern uint32 GetFileVersionInfoSizeW(char16* lptstrFilename, out uint32 lpdwHandle);
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool VerQueryValueW(void* pBlock, char16* lpSubBlock, ref void* lplpBuffer, out int32 puLen); public static extern IntBool VerQueryValueW(void* pBlock, char16* lpSubBlock, ref void* lplpBuffer, out int32 puLen);
[Import("version.lib"), CLink, StdCall] [Import("version.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 VerLanguageNameW(uint32 wLang, char16* szLang, uint32 cchLang); public static extern uint32 VerLanguageNameW(uint32 wLang, char16* szLang, uint32 cchLang);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetNamedSecurityInfoW( public static extern uint32 GetNamedSecurityInfoW(
char16* pObjectName, char16* pObjectName,
SE_OBJECT_TYPE ObjectType, SE_OBJECT_TYPE ObjectType,
@ -1131,7 +1131,7 @@ namespace System
SECURITY_DESCRIPTOR* *ppSecurityDescriptor SECURITY_DESCRIPTOR* *ppSecurityDescriptor
); );
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern void BuildExplicitAccessWithNameW( public static extern void BuildExplicitAccessWithNameW(
EXPLICIT_ACCESS_W* pExplicitAccess, EXPLICIT_ACCESS_W* pExplicitAccess,
char16* pTrusteeName, char16* pTrusteeName,
@ -1140,7 +1140,7 @@ namespace System
uint32 Inheritance uint32 Inheritance
); );
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 SetEntriesInAclW( public static extern uint32 SetEntriesInAclW(
uint32 cCountOfExplicitEntries, uint32 cCountOfExplicitEntries,
EXPLICIT_ACCESS_W* pListOfExplicitEntries, EXPLICIT_ACCESS_W* pListOfExplicitEntries,
@ -1148,7 +1148,7 @@ namespace System
ACL** NewAcl ACL** NewAcl
); );
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 SetNamedSecurityInfoW( public static extern uint32 SetNamedSecurityInfoW(
char16* pObjectName, char16* pObjectName,
SE_OBJECT_TYPE ObjectType, SE_OBJECT_TYPE ObjectType,
@ -1159,282 +1159,282 @@ namespace System
ACL* pSacl ACL* pSacl
); );
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void LocalFree(void* ptr); public static extern void LocalFree(void* ptr);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetTimeZoneInformation(out TimeZoneInformation dynamicTimeZoneInformation); public static extern int32 GetTimeZoneInformation(out TimeZoneInformation dynamicTimeZoneInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetDynamicTimeZoneInformation(out DynamicTimeZoneInformation dynamicTimeZoneInformation); public static extern int32 GetDynamicTimeZoneInformation(out DynamicTimeZoneInformation dynamicTimeZoneInformation);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegOpenKeyExW(HKey hKey, char16* lpSubKey, uint32 ulOptions, uint32 samDesired, out HKey phkResult); public static extern int32 RegOpenKeyExW(HKey hKey, char16* lpSubKey, uint32 ulOptions, uint32 samDesired, out HKey phkResult);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegOpenKeyExA(HKey hKey, char8* lpSubKey, uint32 ulOptions, uint32 samDesired, out HKey phkResult); public static extern int32 RegOpenKeyExA(HKey hKey, char8* lpSubKey, uint32 ulOptions, uint32 samDesired, out HKey phkResult);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegCreateKeyExW(HKey hKey, char16* lpSubKey, uint32 reserved, char16* lpClass, uint32 dwOptions, uint32 samDesired, public static extern int32 RegCreateKeyExW(HKey hKey, char16* lpSubKey, uint32 reserved, char16* lpClass, uint32 dwOptions, uint32 samDesired,
SecurityAttributes* lpSecurityAttributes, out HKey phkResult, uint32* lpdwDisposition); SecurityAttributes* lpSecurityAttributes, out HKey phkResult, uint32* lpdwDisposition);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegCreateKeyExA(HKey hKey, char8* lpSubKey, uint32 reserved, char8* lpClass, uint32 dwOptions, uint32 samDesired, public static extern int32 RegCreateKeyExA(HKey hKey, char8* lpSubKey, uint32 reserved, char8* lpClass, uint32 dwOptions, uint32 samDesired,
SecurityAttributes* lpSecurityAttributes, out HKey phkResult, uint32* lpdwDisposition); SecurityAttributes* lpSecurityAttributes, out HKey phkResult, uint32* lpdwDisposition);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegCloseKey(HKey hKey); public static extern int32 RegCloseKey(HKey hKey);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegDeleteKeyW(HKey hKey, char16* lpSubKey); public static extern int32 RegDeleteKeyW(HKey hKey, char16* lpSubKey);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegDeleteKeyA(HKey hKey, char8* lpSubKey); public static extern int32 RegDeleteKeyA(HKey hKey, char8* lpSubKey);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegDeleteValueW(HKey hKey, char16* lpSubKey); public static extern int32 RegDeleteValueW(HKey hKey, char16* lpSubKey);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegDeleteValueA(HKey hKey, char8* lpSubKey); public static extern int32 RegDeleteValueA(HKey hKey, char8* lpSubKey);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegQueryValueExW(HKey hKey, char16* lpValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData); public static extern int32 RegQueryValueExW(HKey hKey, char16* lpValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegQueryValueExA(HKey hKey, char8* lpValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData); public static extern int32 RegQueryValueExA(HKey hKey, char8* lpValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegEnumValueW(HKey hKey, int32 dwIndex, char16* lpValueName, uint32* lpcchValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData); public static extern int32 RegEnumValueW(HKey hKey, int32 dwIndex, char16* lpValueName, uint32* lpcchValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegEnumValueA(HKey hKey, int32 dwIndex, char8* lpValueName, uint32* lpcchValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData); public static extern int32 RegEnumValueA(HKey hKey, int32 dwIndex, char8* lpValueName, uint32* lpcchValueName, uint32* lpReserved, uint32* lpType, void* lpData, uint32* lpcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegGetValueW(HKey hkey, char16* lpSubKey, char16* lpValue, uint32 dwFlags, uint32* pdwType, void* pvData, uint32* pcbData); public static extern int32 RegGetValueW(HKey hkey, char16* lpSubKey, char16* lpValue, uint32 dwFlags, uint32* pdwType, void* pvData, uint32* pcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegGetValueA(HKey hkey, char8* lpSubKey, char8* lpValue, uint32 dwFlags, uint32* pdwType, void* pvData, uint32* pcbData); public static extern int32 RegGetValueA(HKey hkey, char8* lpSubKey, char8* lpValue, uint32 dwFlags, uint32* pdwType, void* pvData, uint32* pcbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegSetValueExW(HKey hkey, char16* lpValue, uint32 reserved, uint32 dwType, void* pvData, uint32 cbData); public static extern int32 RegSetValueExW(HKey hkey, char16* lpValue, uint32 reserved, uint32 dwType, void* pvData, uint32 cbData);
[Import("advapi32.lib"), CLink, StdCall] [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 RegSetValueExA(HKey hkey, char8* lpValue, uint32 reserved, uint32 dwType, void* pvData, uint32 cbData); public static extern int32 RegSetValueExA(HKey hkey, char8* lpValue, uint32 reserved, uint32 dwType, void* pvData, uint32 cbData);
[Import("shell32.lib"), CLink, StdCall] [Import("shell32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 SHGetSpecialFolderLocation(HWnd hwnd, int32 csidl, ref int ppidl); public static extern int32 SHGetSpecialFolderLocation(HWnd hwnd, int32 csidl, ref int ppidl);
[Import("shell32.lib"), CLink, StdCall] [Import("shell32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern bool SHGetPathFromIDList(int pidl, char8* path); public static extern bool SHGetPathFromIDList(int pidl, char8* path);
[Import("shell32.lib"), CLink, StdCall] [Import("shell32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int SHBrowseForFolder(ref BrowseInfo bi); public static extern int SHBrowseForFolder(ref BrowseInfo bi);
[Import("shell32.lib"), CLink, StdCall] [Import("shell32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern COM_IUnknown.HResult SHCreateItemFromParsingName(char16* pszPath, COM_IBindCtx *pbc, Guid riid, void **ppv); public static extern COM_IUnknown.HResult SHCreateItemFromParsingName(char16* pszPath, COM_IBindCtx *pbc, Guid riid, void **ppv);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetLastError(); public static extern int32 GetLastError();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetExitCodeProcess(ProcessHandle process, out int32 exitCode); public static extern IntBool GetExitCodeProcess(ProcessHandle process, out int32 exitCode);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetExitCodeThread(Handle process, out int32 exitCode); public static extern IntBool GetExitCodeThread(Handle process, out int32 exitCode);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 ResumeThread(Handle thread); public static extern int32 ResumeThread(Handle thread);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern ProcessHandle GetCurrentProcess(); public static extern ProcessHandle GetCurrentProcess();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetCurrentProcessId(); public static extern int32 GetCurrentProcessId();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern ProcessHandle OpenProcess(int32 desiredAccess, IntBool inheritHandle, int32 processId); public static extern ProcessHandle OpenProcess(int32 desiredAccess, IntBool inheritHandle, int32 processId);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern Handle CreateRemoteThread(ProcessHandle process, SecurityAttributes* threadAttributes, int stackSize, void* startAddress, void* parameter, int32 creationFlags, int32* threadId); public static extern Handle CreateRemoteThread(ProcessHandle process, SecurityAttributes* threadAttributes, int stackSize, void* startAddress, void* parameter, int32 creationFlags, int32* threadId);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool WriteProcessMemory(ProcessHandle process, void* baseAddress, void* buffer, int size, int* numberOfBytesWritten); public static extern IntBool WriteProcessMemory(ProcessHandle process, void* baseAddress, void* buffer, int size, int* numberOfBytesWritten);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void* GetProcAddress(HModule module, char8* procName); public static extern void* GetProcAddress(HModule module, char8* procName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void* VirtualAllocEx(ProcessHandle process, void* address, int size, int32 allocationType, int32 protect); public static extern void* VirtualAllocEx(ProcessHandle process, void* address, int size, int32 allocationType, int32 protect);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void* VirtualFreeEx(ProcessHandle process, void* address, int size, int32 allocationType); public static extern void* VirtualFreeEx(ProcessHandle process, void* address, int size, int32 allocationType);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern FileHandle GetStdHandle(int32 stdHandle); public static extern FileHandle GetStdHandle(int32 stdHandle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern Handle ShellExecuteW(Handle hwnd, char16* operation, char16* file, char16* parameters, char16* directory, int32 showCmd); public static extern Handle ShellExecuteW(Handle hwnd, char16* operation, char16* file, char16* parameters, char16* directory, int32 showCmd);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern Handle ShellExecuteA(Handle hwnd, char8* operation, char8* file, char8* parameters, char8* directory, int32 showCmd); public static extern Handle ShellExecuteA(Handle hwnd, char8* operation, char8* file, char8* parameters, char8* directory, int32 showCmd);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool ShellExecuteExA(ShellExecuteInfo* shellExecuteInfo); public static extern IntBool ShellExecuteExA(ShellExecuteInfo* shellExecuteInfo);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void GetStartupInfoA(StartupInfo* startupInfo); public static extern void GetStartupInfoA(StartupInfo* startupInfo);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CreateProcessW(char16* applicationName, char16* commandLine, SecurityAttributes* processAttributes, SecurityAttributes* threadAttributes, public static extern IntBool CreateProcessW(char16* applicationName, char16* commandLine, SecurityAttributes* processAttributes, SecurityAttributes* threadAttributes,
IntBool inheritHandles, int32 creationFlags, void* environment, char16* currentDirectory, StartupInfo* startupInfo, ProcessInformation* processInformation); IntBool inheritHandles, int32 creationFlags, void* environment, char16* currentDirectory, StartupInfo* startupInfo, ProcessInformation* processInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CreateProcessA(char8* applicationName, char8* commandLine, SecurityAttributes* processAttributes, SecurityAttributes* threadAttributes, public static extern IntBool CreateProcessA(char8* applicationName, char8* commandLine, SecurityAttributes* processAttributes, SecurityAttributes* threadAttributes,
IntBool inheritHandles, int32 creationFlags, void* environment, char8* currentDirectory, StartupInfo* startupInfo, ProcessInformation* processInformation); IntBool inheritHandles, int32 creationFlags, void* environment, char8* currentDirectory, StartupInfo* startupInfo, ProcessInformation* processInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool TerminateProcess(ProcessHandle process); public static extern IntBool TerminateProcess(ProcessHandle process);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CreatePipe(out Handle readPipe, out Handle writePipe, SecurityAttributes* pipeAttributes, int32 size); public static extern IntBool CreatePipe(out Handle readPipe, out Handle writePipe, SecurityAttributes* pipeAttributes, int32 size);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern Handle CreateNamedPipeA(char8* lpName, uint32 dwOpenMode, uint32 dwPipeMode, uint32 nMaxInstances, uint32 nOutBufferSize, uint32 nInBufferSize, public static extern Handle CreateNamedPipeA(char8* lpName, uint32 dwOpenMode, uint32 dwPipeMode, uint32 nMaxInstances, uint32 nOutBufferSize, uint32 nInBufferSize,
uint32 nDefaultTimeOut, SecurityAttributes* lpSecurityAttributes); uint32 nDefaultTimeOut, SecurityAttributes* lpSecurityAttributes);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool ConnectNamedPipe(Handle handle, Overlapped* overlapped); public static extern IntBool ConnectNamedPipe(Handle handle, Overlapped* overlapped);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CallNamedPipeA(char8* name, void* inBuffer, int32 inBufferSize, void* outBuffer, int32 outBufferSize, int32* bytesRead, int32 timeOut); public static extern IntBool CallNamedPipeA(char8* name, void* inBuffer, int32 inBufferSize, void* outBuffer, int32 outBufferSize, int32* bytesRead, int32 timeOut);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool DisconnectNamedPipe(Handle handle); public static extern IntBool DisconnectNamedPipe(Handle handle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern EventHandle CreateEventA(SecurityAttributes* eventAttribuetes, IntBool manualReset, IntBool initialState, char8* name); public static extern EventHandle CreateEventA(SecurityAttributes* eventAttribuetes, IntBool manualReset, IntBool initialState, char8* name);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool SetEvent(EventHandle eventHandle); public static extern IntBool SetEvent(EventHandle eventHandle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool ResetEvent(EventHandle eventHandle); public static extern IntBool ResetEvent(EventHandle eventHandle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 WaitForSingleObject(Handle handle, int32 milliseconds); public static extern int32 WaitForSingleObject(Handle handle, int32 milliseconds);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 WaitForMultipleObjects(int32 count, Handle* handles, IntBool waitAll, int32 milliseconds); public static extern int32 WaitForMultipleObjects(int32 count, Handle* handles, IntBool waitAll, int32 milliseconds);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IOCompletionHandle CreateIoCompletionPort(FileHandle fileHandle, IOCompletionHandle existingCompletionPort, int completionKey, int32 numberOfConcurrentThreads); public static extern IOCompletionHandle CreateIoCompletionPort(FileHandle fileHandle, IOCompletionHandle existingCompletionPort, int completionKey, int32 numberOfConcurrentThreads);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetQueuedCompletionStatus(IOCompletionHandle completionPort, out int32 numberOfBytes, out int completionKey, out Overlapped* overlapped, int32 milliseconds); public static extern IntBool GetQueuedCompletionStatus(IOCompletionHandle completionPort, out int32 numberOfBytes, out int completionKey, out Overlapped* overlapped, int32 milliseconds);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool PostQueuedCompletionStatus(IOCompletionHandle completionPort, int32 numberOfBytes, int completionKey, Overlapped* overlapped); public static extern IntBool PostQueuedCompletionStatus(IOCompletionHandle completionPort, int32 numberOfBytes, int completionKey, Overlapped* overlapped);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool DuplicateHandle(Handle sourceProcessHandle, Handle sourceHandle, Handle targetProcessHandle, Handle* targetHandle, int32 desiredAccess, IntBool inheritHandle, int32 options); public static extern IntBool DuplicateHandle(Handle sourceProcessHandle, Handle sourceHandle, Handle targetProcessHandle, Handle* targetHandle, int32 desiredAccess, IntBool inheritHandle, int32 options);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CloseHandle(Handle handle); public static extern IntBool CloseHandle(Handle handle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetFileType(FileHandle handle); public static extern int32 GetFileType(FileHandle handle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetFileSize(FileHandle handle, int32* sizeHigh); public static extern int32 GetFileSize(FileHandle handle, int32* sizeHigh);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern FileHandle CreateFileA(char8* lpFileName, public static extern FileHandle CreateFileA(char8* lpFileName,
int32 dwDesiredAccess, System.IO.FileShare dwShareMode, int32 dwDesiredAccess, System.IO.FileShare dwShareMode,
SecurityAttributes* securityAttrs, System.IO.FileMode dwCreationDisposition, SecurityAttributes* securityAttrs, System.IO.FileMode dwCreationDisposition,
int32 dwFlagsAndAttributes, Handle hTemplateFile); int32 dwFlagsAndAttributes, Handle hTemplateFile);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern FileHandle CreateFileW(char16* lpFileName, public static extern FileHandle CreateFileW(char16* lpFileName,
int32 dwDesiredAccess, System.IO.FileShare dwShareMode, int32 dwDesiredAccess, System.IO.FileShare dwShareMode,
SecurityAttributes* securityAttrs, System.IO.FileMode dwCreationDisposition, SecurityAttributes* securityAttrs, System.IO.FileMode dwCreationDisposition,
int32 dwFlagsAndAttributes, Handle hTemplateFile); int32 dwFlagsAndAttributes, Handle hTemplateFile);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetWindowsDirectoryW(char16* lpBuffer, uint32 uSize); public static extern uint32 GetWindowsDirectoryW(char16* lpBuffer, uint32 uSize);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetWindowsDirectoryA(char8* lpBuffer, uint32 uSize); public static extern uint32 GetWindowsDirectoryA(char8* lpBuffer, uint32 uSize);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CreateDirectoryW(char16* pathName, SecurityAttributes* securityAttributes); public static extern IntBool CreateDirectoryW(char16* pathName, SecurityAttributes* securityAttributes);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CreateDirectoryA(char8* pathName, SecurityAttributes* securityAttributes); public static extern IntBool CreateDirectoryA(char8* pathName, SecurityAttributes* securityAttributes);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool RemoveDirectoryW(char16* pathName); public static extern IntBool RemoveDirectoryW(char16* pathName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool RemoveDirectoryA(char8* pathName); public static extern IntBool RemoveDirectoryA(char8* pathName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool DeleteFileW(char16* pathName); public static extern IntBool DeleteFileW(char16* pathName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool DeleteFileA(char8* pathName); public static extern IntBool DeleteFileA(char8* pathName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CopyFileW(char16* srcName, char16* dstName, IntBool failIfExists); public static extern IntBool CopyFileW(char16* srcName, char16* dstName, IntBool failIfExists);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool CopyFileA(char8* srcName, char8* dstName, IntBool failIfExists); public static extern IntBool CopyFileA(char8* srcName, char8* dstName, IntBool failIfExists);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool MoveFileW(char16* srcName, char16* dstName); public static extern IntBool MoveFileW(char16* srcName, char16* dstName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool MoveFileA(char8* srcName, char8* dstName); public static extern IntBool MoveFileA(char8* srcName, char8* dstName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 ReadFile(Handle handle, uint8* bytes, int32 numBytesToRead, out int32 numBytesRead, Overlapped* overlapped); public static extern int32 ReadFile(Handle handle, uint8* bytes, int32 numBytesToRead, out int32 numBytesRead, Overlapped* overlapped);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 WriteFile(Handle handle, uint8* bytes, int32 numBytesToWrite, out int32 numBytesWritten, Overlapped* overlapped); public static extern int32 WriteFile(Handle handle, uint8* bytes, int32 numBytesToWrite, out int32 numBytesWritten, Overlapped* overlapped);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern FindHandle FindFirstFileW(char16* fileName, ref NativeFindData findFileData); public static extern FindHandle FindFirstFileW(char16* fileName, ref NativeFindData findFileData);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool FindNextFileW(FindHandle findHandle, ref NativeFindData findFileData); public static extern IntBool FindNextFileW(FindHandle findHandle, ref NativeFindData findFileData);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool FindClose(FindHandle findHandle); public static extern IntBool FindClose(FindHandle findHandle);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetFileAttributesExW(char16* name, int32 fileInfoLevel, FileAttributeData* fileInformation); public static extern IntBool GetFileAttributesExW(char16* name, int32 fileInfoLevel, FileAttributeData* fileInformation);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool SetFileAttributesW(char16* name, int32 attribs); public static extern IntBool SetFileAttributesW(char16* name, int32 attribs);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 MessageBoxA(HWnd hWnd, char8* text, char8* caption, int32 type); public static extern int32 MessageBoxA(HWnd hWnd, char8* text, char8* caption, int32 type);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 MessageBoxW(HWnd hWnd, char16* text, char16* caption, int32 type); public static extern int32 MessageBoxW(HWnd hWnd, char16* text, char16* caption, int32 type);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 SetErrorMode(int32 errorMode); public static extern int32 SetErrorMode(int32 errorMode);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HWnd GetActiveWindow(); public static extern HWnd GetActiveWindow();
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HWnd SetActiveWindow(HWnd wnd); public static extern HWnd SetActiveWindow(HWnd wnd);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int CallWindowProcA(int wndProc, HWnd hWnd, int32 msg, int wParam, int lParam); public static extern int CallWindowProcA(int wndProc, HWnd hWnd, int32 msg, int wParam, int lParam);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int CallWindowProcW(int wndProc, HWnd hWnd, int32 msg, int wParam, int lParam); public static extern int CallWindowProcW(int wndProc, HWnd hWnd, int32 msg, int wParam, int lParam);
public static int GetWindowLong(HWnd hWnd, int32 nIndex) public static int GetWindowLong(HWnd hWnd, int32 nIndex)
@ -1450,10 +1450,10 @@ namespace System
} }
#if BF32 #if BF32
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int GetWindowLongA(int hWnd, int nIndex); public static extern int GetWindowLongA(int hWnd, int nIndex);
#else #else
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int GetWindowLongPtrW(int hWnd, int32 nIndex); public static extern int GetWindowLongPtrW(int hWnd, int32 nIndex);
#endif #endif
@ -1467,118 +1467,118 @@ namespace System
} }
#if BF32 #if BF32
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int SetWindowLongA(int hWnd, int nIndex, int value); public static extern int SetWindowLongA(int hWnd, int nIndex, int value);
#else #else
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int SetWindowLongPtrW(int hWnd, int32 nIndex, int value); public static extern int SetWindowLongPtrW(int hWnd, int32 nIndex, int value);
#endif #endif
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool PostMessageW(HWnd hWnd, int32 msg, int wParam, int lParam); public static extern IntBool PostMessageW(HWnd hWnd, int32 msg, int wParam, int lParam);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 SendMessageW(HWnd hWnd, int32 msg, int wParam, int lParam); public static extern int32 SendMessageW(HWnd hWnd, int32 msg, int wParam, int lParam);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 SendMessageTimeoutW(HWnd hWnd, int32 msg, int wParam, int lParam, int32 flags, int32 timeout, int32* result); public static extern int32 SendMessageTimeoutW(HWnd hWnd, int32 msg, int wParam, int lParam, int32 flags, int32 timeout, int32* result);
[Import("user32.lib "), CLink, StdCall] [Import("user32.lib "), CLink, CallingConvention(.Stdcall)]
public static extern HWnd SetFocus(HWnd hWnd); public static extern HWnd SetFocus(HWnd hWnd);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool EnumWindows(void* callback, void* extraData); public static extern IntBool EnumWindows(void* callback, void* extraData);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HWnd GetWindow(HWnd hWnd, int32 uCmd); public static extern HWnd GetWindow(HWnd hWnd, int32 uCmd);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HWnd FindWindowW(char16* className, char16* windowName); public static extern HWnd FindWindowW(char16* className, char16* windowName);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern HWnd FindWindowA(char8* className, char8* windowName); public static extern HWnd FindWindowA(char8* className, char8* windowName);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool IsWindowVisible(HWnd hWnd); public static extern IntBool IsWindowVisible(HWnd hWnd);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 GetWindowTextLengthW(HWnd hWnd); public static extern int32 GetWindowTextLengthW(HWnd hWnd);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 GetWindowTextW(HWnd hWnd, char16* ptr, int32 length); public static extern int32 GetWindowTextW(HWnd hWnd, char16* ptr, int32 length);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 GetWindowTextA(HWnd hWnd, char8* ptr, int32 length); public static extern int32 GetWindowTextA(HWnd hWnd, char8* ptr, int32 length);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 GetWindowThreadProcessId(HWnd handle, out int32 processId); public static extern int32 GetWindowThreadProcessId(HWnd handle, out int32 processId);
[Import("comdlg32.lib"), CLink, StdCall] [Import("comdlg32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetOpenFileNameW(ref OpenFileName ofn); public static extern IntBool GetOpenFileNameW(ref OpenFileName ofn);
[Import("comdlg32.lib"), CLink, StdCall] [Import("comdlg32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetSaveFileNameW(ref OpenFileName ofn); public static extern IntBool GetSaveFileNameW(ref OpenFileName ofn);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HModule GetModuleHandleW(char16* modName); public static extern HModule GetModuleHandleW(char16* modName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HModule GetModuleHandleA(char8* modName); public static extern HModule GetModuleHandleA(char8* modName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetTempFileNameW(char16* tmpPath, char16* prefix, uint32 uniqueIdOrZero, char16* tmpFileName); public static extern uint32 GetTempFileNameW(char16* tmpPath, char16* prefix, uint32 uniqueIdOrZero, char16* tmpFileName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetTempFileNameA(char8* tmpPath, char8* prefix, uint32 uniqueIdOrZero, char8* tmpFileName); public static extern uint32 GetTempFileNameA(char8* tmpPath, char8* prefix, uint32 uniqueIdOrZero, char8* tmpFileName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetTempPathW(int32 bufferLen, char16* buffer); public static extern uint32 GetTempPathW(int32 bufferLen, char16* buffer);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetComputerNameA(char8* buffer, ref int32 size); public static extern IntBool GetComputerNameA(char8* buffer, ref int32 size);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 NtQuerySystemInformation(int32 query, void* dataPtr, int32 size, out int32 returnedSize); public static extern int32 NtQuerySystemInformation(int32 query, void* dataPtr, int32 size, out int32 returnedSize);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool ReadDirectoryChangesW(FileHandle handle, uint8* buffer, int32 bufferLength, IntBool watchSubtree, NotifyFilters notifyFilter, public static extern IntBool ReadDirectoryChangesW(FileHandle handle, uint8* buffer, int32 bufferLength, IntBool watchSubtree, NotifyFilters notifyFilter,
out int32 bytesReturned, Overlapped* overlapped, void* completionRoutine); out int32 bytesReturned, Overlapped* overlapped, void* completionRoutine);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 SetFilePointer(FileHandle handle, int32 distanceToMove, int32* distanceToMoveHigh, int32 moveMethod); public static extern int32 SetFilePointer(FileHandle handle, int32 distanceToMove, int32* distanceToMoveHigh, int32 moveMethod);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool SHGetFileInfoW(char16* pszPath, uint32 fileAttributes, SHFileInfo* psfi, uint32 cbFileInfo, uint32 flags); public static extern IntBool SHGetFileInfoW(char16* pszPath, uint32 fileAttributes, SHFileInfo* psfi, uint32 cbFileInfo, uint32 flags);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern char16* GetEnvironmentStringsW(); public static extern char16* GetEnvironmentStringsW();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void FreeEnvironmentStringsW(char16* ptr); public static extern void FreeEnvironmentStringsW(char16* ptr);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool GetFileMUIPath(uint32 dwFlags, char16* pcwszFilePath, char16* pwszLanguage, uint32* pcchLanguage, public static extern IntBool GetFileMUIPath(uint32 dwFlags, char16* pcwszFilePath, char16* pwszLanguage, uint32* pcchLanguage,
char16* pwszFileMUIPath, uint32* pcchFileMUIPath, uint64* pululEnumerator); char16* pwszFileMUIPath, uint32* pcchFileMUIPath, uint64* pululEnumerator);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool SetDllDirectoryW(char16* libFileName); public static extern IntBool SetDllDirectoryW(char16* libFileName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HInstance LoadLibraryW(char16* libFileName); public static extern HInstance LoadLibraryW(char16* libFileName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HInstance LoadLibraryA(char8* libFileName); public static extern HInstance LoadLibraryA(char8* libFileName);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HInstance LoadLibraryExW(char16* libFileName, HModule hFile, uint32 dwFlags); public static extern HInstance LoadLibraryExW(char16* libFileName, HModule hFile, uint32 dwFlags);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern HInstance LoadLibraryExA(char8* libFileName, HModule hFile, uint32 dwFlags); public static extern HInstance LoadLibraryExA(char8* libFileName, HModule hFile, uint32 dwFlags);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern IntBool FreeLibrary(HModule module); public static extern IntBool FreeLibrary(HModule module);
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern int32 LoadStringW(HInstance hInstance, uint32 uID, char16* lpBuffer, int32 cchBufferMax); public static extern int32 LoadStringW(HInstance hInstance, uint32 uID, char16* lpBuffer, int32 cchBufferMax);
public static Result<FileHandle, FileOpenError> SafeCreateFile(String lpFileName, public static Result<FileHandle, FileOpenError> SafeCreateFile(String lpFileName,

View file

@ -5,43 +5,43 @@ namespace DocPrep
{ {
class Program class Program
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_Create(); static extern void* BfSystem_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_Delete(void* bfSystem); static extern void BfSystem_Delete(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreateParser(void* bfSystem, void* bfProject); static extern void* BfSystem_CreateParser(void* bfSystem, void* bfProject);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreatePassInstance(void* bfSystem); static extern void* BfSystem_CreatePassInstance(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfPassInstance_Delete(void* bfSystem); static extern void BfPassInstance_Delete(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_DeleteParser(void* bfSystem, void* bfParser); static extern void BfSystem_DeleteParser(void* bfSystem, void* bfParser);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetSource(void* bfParser, char8* data, int32 length, char8* fileName); static extern void BfParser_SetSource(void* bfParser, char8* data, int32 length, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_Parse(void* bfParser, void* bfPassInstance, bool compatMode); static extern bool BfParser_Parse(void* bfParser, void* bfPassInstance, bool compatMode);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_Reduce(void* bfParser, void* bfPassInstance); static extern bool BfParser_Reduce(void* bfParser, void* bfPassInstance);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfParser_Format(void* bfParser, int32 formatEnd, int32 formatStart, out int32* outCharMapping); static extern char8* BfParser_Format(void* bfParser, int32 formatEnd, int32 formatStart, out int32* outCharMapping);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfParser_DocPrep(void* bfParser); static extern char8* BfParser_DocPrep(void* bfParser);
/*[StdCall, CLink] /*[CallingConvention(.Stdcall), CLink]
static extern char8* BfParser_Prep*/ static extern char8* BfParser_Prep*/
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName); static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName);
String mSrcDirPath; String mSrcDirPath;

File diff suppressed because it is too large Load diff

View file

@ -359,7 +359,7 @@ namespace System
} }
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 ftoa(float val, char8* str); static extern int32 ftoa(float val, char8* str);
static extern int32 ToString(float val, char8* str); static extern int32 ToString(float val, char8* str);

View file

@ -44,21 +44,21 @@ namespace System
TempFileError = (int)Result.TempFileError TempFileError = (int)Result.TempFileError
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_TickCount(); public static extern uint32 BfpSystem_TickCount();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult); public static extern void BfpSystem_GetEnvironmentStrings(char8* outStr, int32* inOutStrSize, BfpSystemResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedExchange32(uint32* ptr, uint32 val); // Returns the initial value in 'ptr' public static extern uint32 BfpSystem_InterlockedExchange32(uint32* ptr, uint32 val); // Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedExchange64(uint64* ptr, uint64 val); public static extern uint64 BfpSystem_InterlockedExchange64(uint64* ptr, uint64 val);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedExchangeAdd32(uint32* ptr, uint32 val); // Returns the initial value in 'ptr' public static extern uint32 BfpSystem_InterlockedExchangeAdd32(uint32* ptr, uint32 val); // Returns the initial value in 'ptr'
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedExchangeAdd64(uint64* ptr, uint64 val); public static extern uint64 BfpSystem_InterlockedExchangeAdd64(uint64* ptr, uint64 val);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint32 BfpSystem_InterlockedCompareExchange32(uint32* ptr, uint32 oldVal, uint32 newVal); public static extern uint32 BfpSystem_InterlockedCompareExchange32(uint32* ptr, uint32 oldVal, uint32 newVal);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal); public static extern uint64 BfpSystem_InterlockedCompareExchange64(uint64* ptr, uint64 oldVal, uint64 newVal);
public enum BfpFileWatcherFlags : int32 public enum BfpFileWatcherFlags : int32
@ -78,9 +78,9 @@ namespace System
public function void BfpDirectoryChangeFunc(BfpFileWatcher* watcher, void* userData, BfpFileChangeKind changeKind, char8* directory, char8* fileName, char8* oldName); public function void BfpDirectoryChangeFunc(BfpFileWatcher* watcher, void* userData, BfpFileChangeKind changeKind, char8* directory, char8* fileName, char8* oldName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileWatcher* BfpFileWatcher_WatchDirectory(char8* path, BfpDirectoryChangeFunc callback, BfpFileWatcherFlags flags, void* userData, BfpFileResult* outResult); public static extern BfpFileWatcher* BfpFileWatcher_WatchDirectory(char8* path, BfpDirectoryChangeFunc callback, BfpFileWatcherFlags flags, void* userData, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFileWatcher_Release(BfpFileWatcher* fileWatcher); public static extern void BfpFileWatcher_Release(BfpFileWatcher* fileWatcher);
public enum BfpProcessResult public enum BfpProcessResult
@ -89,19 +89,19 @@ namespace System
InsufficientBuffer = (int)Result.InsufficientBuffer InsufficientBuffer = (int)Result.InsufficientBuffer
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpProcess_IsRemoteMachine(char8* machineName); public static extern bool BfpProcess_IsRemoteMachine(char8* machineName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpProcess* BfpProcess_GetById(char8* machineName, int32 processId, BfpProcessResult* outResult); public static extern BfpProcess* BfpProcess_GetById(char8* machineName, int32 processId, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_Enumerate(char8* machineName, BfpProcess** outProcesses, int32* inOutProcessesSize, BfpProcessResult* outResult); public static extern void BfpProcess_Enumerate(char8* machineName, BfpProcess** outProcesses, int32* inOutProcessesSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_Release(BfpProcess* process); public static extern void BfpProcess_Release(BfpProcess* process);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_GetMainWindowTitle(BfpProcess* process, char8* outTitle, int32* inOutTitleSize, BfpProcessResult* outResult); public static extern void BfpProcess_GetMainWindowTitle(BfpProcess* process, char8* outTitle, int32* inOutTitleSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpProcess_GetProcessName(BfpProcess* process, char8* outName, int32* inOutNameSize, BfpProcessResult* outResult); public static extern void BfpProcess_GetProcessName(BfpProcess* process, char8* outName, int32* inOutNameSize, BfpProcessResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int32 BfpProcess_GetProcessId(BfpProcess* process); public static extern int32 BfpProcess_GetProcessId(BfpProcess* process);
public enum BfpSpawnFlags public enum BfpSpawnFlags
@ -134,29 +134,29 @@ namespace System
UnknownError = (int)Result.UnknownError UnknownError = (int)Result.UnknownError
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpSpawn* BfpSpawn_Create(char8* targetPath, char8* args, char8* workingDir, char8* env, BfpSpawnFlags flags, BfpSpawnResult* outResult); public static extern BfpSpawn* BfpSpawn_Create(char8* targetPath, char8* args, char8* workingDir, char8* env, BfpSpawnFlags flags, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_Release(BfpSpawn* spawn); public static extern void BfpSpawn_Release(BfpSpawn* spawn);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_Kill(BfpSpawn* spawn, int32 exitCode, BfpKillFlags killFlags, BfpSpawnResult* outResult); public static extern void BfpSpawn_Kill(BfpSpawn* spawn, int32 exitCode, BfpKillFlags killFlags, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpSpawn_WaitFor(BfpSpawn* spawn, int waitMS, int* outExitCode, BfpSpawnResult* outResult); public static extern bool BfpSpawn_WaitFor(BfpSpawn* spawn, int waitMS, int* outExitCode, BfpSpawnResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpSpawn_GetStdHandles(BfpSpawn* spawn, BfpFile** outStdIn, BfpFile** outStdOut, BfpFile** outStdErr); public static extern void BfpSpawn_GetStdHandles(BfpSpawn* spawn, BfpFile** outStdIn, BfpFile** outStdOut, BfpFile** outStdErr);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpProcess_GetCurrentId(); public static extern int BfpProcess_GetCurrentId();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpCritSect* BfpCritSect_Create(); public static extern BfpCritSect* BfpCritSect_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Release(BfpCritSect* critSect); public static extern void BfpCritSect_Release(BfpCritSect* critSect);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Enter(BfpCritSect* critSect); public static extern void BfpCritSect_Enter(BfpCritSect* critSect);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpCritSect_TryEnter(BfpCritSect* critSect, int32 waitMS); public static extern bool BfpCritSect_TryEnter(BfpCritSect* critSect, int32 waitMS);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpCritSect_Leave(BfpCritSect* critSect); public static extern void BfpCritSect_Leave(BfpCritSect* critSect);
public enum BfpEventFlags : int32 public enum BfpEventFlags : int32
@ -174,15 +174,15 @@ namespace System
BfpEventResult_NotSupported = (int)Result.NotSupported BfpEventResult_NotSupported = (int)Result.NotSupported
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpEvent* BfpEvent_Create(BfpEventFlags flags); public static extern BfpEvent* BfpEvent_Create(BfpEventFlags flags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Release(BfpEvent* event); public static extern void BfpEvent_Release(BfpEvent* event);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Set(BfpEvent* event, bool requireManualReset); public static extern void BfpEvent_Set(BfpEvent* event, bool requireManualReset);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpEvent_Reset(BfpEvent* event, BfpEventResult* outResult); public static extern void BfpEvent_Reset(BfpEvent* event, BfpEventResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpEvent_WaitFor(BfpEvent* event, int32 waitMS); public static extern bool BfpEvent_WaitFor(BfpEvent* event, int32 waitMS);
public enum BfpLibResult : int32 public enum BfpLibResult : int32
@ -192,13 +192,13 @@ namespace System
InsufficientBuffer = (int)Result.InsufficientBuffer InsufficientBuffer = (int)Result.InsufficientBuffer
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpDynLib* BfpDynLib_Load(char8* fileName); public static extern BfpDynLib* BfpDynLib_Load(char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDynLib_Release(BfpDynLib* lib); public static extern void BfpDynLib_Release(BfpDynLib* lib);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDynLib_GetFilePath(BfpDynLib* lib, char8* outPath, int32* inOutPathSize, BfpLibResult* outResult); public static extern void BfpDynLib_GetFilePath(BfpDynLib* lib, char8* outPath, int32* inOutPathSize, BfpLibResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void* BfpDynLib_GetProcAddress(BfpDynLib* lib, char8* name); public static extern void* BfpDynLib_GetProcAddress(BfpDynLib* lib, char8* name);
public enum BfpFileResult : int32 public enum BfpFileResult : int32
@ -216,17 +216,17 @@ namespace System
InsufficientBuffer = (int)Result.InsufficientBuffer InsufficientBuffer = (int)Result.InsufficientBuffer
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Create(char8* name, BfpFileResult* outResult); public static extern void BfpDirectory_Create(char8* name, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Rename(char8* oldName, char8* newName, BfpFileResult* outResult); public static extern void BfpDirectory_Rename(char8* oldName, char8* newName, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_Delete(char8* name, BfpFileResult* outResult); public static extern void BfpDirectory_Delete(char8* name, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_GetCurrent(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpDirectory_GetCurrent(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpDirectory_SetCurrent(char8* path, BfpFileResult* outResult); public static extern void BfpDirectory_SetCurrent(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpDirectory_Exists(char8* path); public static extern bool BfpDirectory_Exists(char8* path);
public enum BfpFileCreateKind : int32 public enum BfpFileCreateKind : int32
@ -288,43 +288,43 @@ namespace System
IfNewer, IfNewer,
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFile* BfpFile_Create(char8* name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttrs, BfpFileResult* outResult); public static extern BfpFile* BfpFile_Create(char8* name, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags, BfpFileAttributes createdFileAttrs, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Release(BfpFile* file); public static extern void BfpFile_Release(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpFile_Write(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult); public static extern int BfpFile_Write(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int BfpFile_Read(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult); public static extern int BfpFile_Read(BfpFile* file, void* buffer, int size, int timeoutMS, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Flush(BfpFile* file); public static extern void BfpFile_Flush(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpFile_GetFileSize(BfpFile* file); public static extern int64 BfpFile_GetFileSize(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int64 BfpFile_Seek(BfpFile* file, int64 offset, BfpFileSeekKind seekKind); public static extern int64 BfpFile_Seek(BfpFile* file, int64 offset, BfpFileSeekKind seekKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Truncate(BfpFile* file); public static extern void BfpFile_Truncate(BfpFile* file);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFile_GetTime_LastWrite(char8* path); public static extern BfpTimeStamp BfpFile_GetTime_LastWrite(char8* path);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileAttributes BfpFile_GetAttributes(char8* path, BfpFileResult* outResult); public static extern BfpFileAttributes BfpFile_GetAttributes(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_SetAttributes(char8* path, BfpFileAttributes attribs, BfpFileResult* outResult); public static extern void BfpFile_SetAttributes(char8* path, BfpFileAttributes attribs, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Copy(char8* oldPath, char8* newPath, BfpFileCopyKind copyKind, BfpFileResult* outResult); public static extern void BfpFile_Copy(char8* oldPath, char8* newPath, BfpFileCopyKind copyKind, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Rename(char8* oldPath, char8* newPath, BfpFileResult* outResult); public static extern void BfpFile_Rename(char8* oldPath, char8* newPath, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_Delete(char8* path, BfpFileResult* outResult); public static extern void BfpFile_Delete(char8* path, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpFile_Exists(char8* path); public static extern bool BfpFile_Exists(char8* path);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetTempPath(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetTempPath(char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetTempFileName(char8* outName, int32* inOutNameSize, BfpFileResult* outResult); public static extern void BfpFile_GetTempFileName(char8* outName, int32* inOutNameSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetFullPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetFullPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFile_GetActualPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult); public static extern void BfpFile_GetActualPath(char8* inPath, char8* outPath, int32* inOutPathSize, BfpFileResult* outResult);
public enum BfpFindFileFlags : int32 public enum BfpFindFileFlags : int32
@ -334,21 +334,21 @@ namespace System
Directories = 2, Directories = 2,
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFindFileData* BfpFindFileData_FindFirstFile(char8* path, BfpFindFileFlags flags, BfpFileResult* outResult); public static extern BfpFindFileData* BfpFindFileData_FindFirstFile(char8* path, BfpFindFileFlags flags, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern bool BfpFindFileData_FindNextFile(BfpFindFileData* findData); public static extern bool BfpFindFileData_FindNextFile(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFindFileData_GetFileName(BfpFindFileData* findData, char8* outName, int32* inOutNameSize, BfpFileResult* outResult); public static extern void BfpFindFileData_GetFileName(BfpFindFileData* findData, char8* outName, int32* inOutNameSize, BfpFileResult* outResult);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_LastWrite(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_LastWrite(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_Created(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_Created(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpTimeStamp BfpFindFileData_GetTime_Access(BfpFindFileData* findData); public static extern BfpTimeStamp BfpFindFileData_GetTime_Access(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern BfpFileAttributes BfpFindFileData_GetFileAttributes(BfpFindFileData* findData); public static extern BfpFileAttributes BfpFindFileData_GetFileAttributes(BfpFindFileData* findData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void BfpFindFileData_Release(BfpFindFileData* findData); public static extern void BfpFindFileData_Release(BfpFindFileData* findData);
public enum SysDirectory : int32 public enum SysDirectory : int32

View file

@ -42,28 +42,28 @@ namespace Hey.Dude.Bro
{ {
static int gApzong = 123; static int gApzong = 123;
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void OutputDebugStringA(char8* str); public static extern void OutputDebugStringA(char8* str);
/*[CLink, StdCall] /*[CLink, CallingConvention(.Stdcall)]
internal static extern void OutputDebugStringW(char16* str);*/ internal static extern void OutputDebugStringW(char16* str);*/
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern uint32 GetTickCount(); public static extern uint32 GetTickCount();
[Import("winmm.lib"), CLink, StdCall] [Import("winmm.lib"), CLink, CallingConvention(.Stdcall)]
public static extern uint32 timeGetTime(); public static extern uint32 timeGetTime();
/*public const String cDllName = @"C:\proj\TestDLL2\x64\Debug\TestDLL2.dll"; /*public const String cDllName = @"C:\proj\TestDLL2\x64\Debug\TestDLL2.dll";
[DllImport(cDllName), CLink, StdCall] [DllImport(cDllName), CLink, CallingConvention(.Stdcall)]
public static extern void Test2(int a, int b, int c, int d);*/ public static extern void Test2(int a, int b, int c, int d);*/
//[DllImport(cDllName), CLink, StdCall] public static extern void Test3(); //[DllImport(cDllName), CLink, CallingConvention(.Stdcall)] public static extern void Test3();
//[DllImport(@"C:\Beef\IDE\dist\IDEHelper64_d.dll"), CLink, StdCall] //[DllImport(@"C:\Beef\IDE\dist\IDEHelper64_d.dll"), CLink, CallingConvention(.Stdcall)]
//public static extern void BFTest(); //public static extern void BFTest();
/*[StdCall, CLink] /*[CallingConvention(.Stdcall), CLink]
public static extern void ExTest2();*/ public static extern void ExTest2();*/
//[DllImport(@"\beef\ide\dist\TestDLL.dll"), CLink] //[DllImport(@"\beef\ide\dist\TestDLL.dll"), CLink]

View file

@ -43,46 +43,46 @@ namespace IDE.Clang
{ {
public List<String> mFileRefs = new List<String>(); public List<String> mFileRefs = new List<String>();
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* ClangHelper_Create(bool isForResolve); static extern void* ClangHelper_Create(bool isForResolve);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void ClangHelper_Delete(void* clangHelper); static extern void ClangHelper_Delete(void* clangHelper);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void ClangHelper_AddTranslationUnit(void* clangHelper, char8* fileName, char8* headerPrefix, char8* clangArgs, void* elementTypeArray, int32 char8Len); static extern void ClangHelper_AddTranslationUnit(void* clangHelper, char8* fileName, char8* headerPrefix, char8* clangArgs, void* elementTypeArray, int32 char8Len);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void ClangHelper_RemoveTranslationUnit(void* clangHelper, char8* fileName); static extern void ClangHelper_RemoveTranslationUnit(void* clangHelper, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_Classify(void* clangHelper, char8* fileName, void* elementTypeArray, int32 char8Len, int32 cursorIdx, int32 errorLookupTextIdx,bool ignoreErrors); static extern char8* ClangHelper_Classify(void* clangHelper, char8* fileName, void* elementTypeArray, int32 char8Len, int32 cursorIdx, int32 errorLookupTextIdx,bool ignoreErrors);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_Autocomplete(void* clangHelper, char8* fileName, void* elementTypeArray, int32 char8Len, int32 cursorIdx); static extern char8* ClangHelper_Autocomplete(void* clangHelper, char8* fileName, void* elementTypeArray, int32 char8Len, int32 cursorIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_FindDefinition(void* clangHelper, char8* fileName, int32 defPos, out int32 outDefLine, out int32 outDefColumn); static extern char8* ClangHelper_FindDefinition(void* clangHelper, char8* fileName, int32 defPos, out int32 outDefLine, out int32 outDefColumn);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_GetNavigationData(void* clangHelper, char8* fileName); static extern char8* ClangHelper_GetNavigationData(void* clangHelper, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_GetCurrentLocation(void* clangHelper, char8* fileName, int32 defPos); static extern char8* ClangHelper_GetCurrentLocation(void* clangHelper, char8* fileName, int32 defPos);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* ClangHelper_DetermineFilesReferenced(void* clangHelper, char8* fileName); static extern char8* ClangHelper_DetermineFilesReferenced(void* clangHelper, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void CDep_ClearCache(); static extern void CDep_ClearCache();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void CDep_Shutdown(); static extern void CDep_Shutdown();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* CDep_DetermineFilesReferenced(char8* fileName, String cArgs); static extern char8* CDep_DetermineFilesReferenced(char8* fileName, String cArgs);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 CDep_GetIncludePosition(char8* sourceFileName, char8* sourceContent, char8* headerFileName, String cArgs); static extern int32 CDep_GetIncludePosition(char8* sourceFileName, char8* sourceContent, char8* headerFileName, String cArgs);
//static int sRefCount = 0; //static int sRefCount = 0;

View file

@ -12,19 +12,19 @@ namespace IDE.Clang
{ {
public class ClangHelper : CompilerBase public class ClangHelper : CompilerBase
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern IntPtr ClangHelper_Create(); static extern IntPtr ClangHelper_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void ClangHelper_Delete(IntPtr clangHelper); static extern void ClangHelper_Delete(IntPtr clangHelper);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern IntPtr ClangHelper_Classify(IntPtr clangHelper, char* fileName, void* elementTypeArray, int charLen, int cursorIdx); static extern IntPtr ClangHelper_Classify(IntPtr clangHelper, char* fileName, void* elementTypeArray, int charLen, int cursorIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern IntPtr ClangHelper_FindDefinition(IntPtr clangHelper, char* fileName, int line, int column, out int outDefLine, out int outDefColumn); static extern IntPtr ClangHelper_FindDefinition(IntPtr clangHelper, char* fileName, int line, int column, out int outDefLine, out int outDefColumn);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern IntPtr ClangHelper_Autocomplete(IntPtr clangHelper, char* fileName, int cursorIdx); static extern IntPtr ClangHelper_Autocomplete(IntPtr clangHelper, char* fileName, int cursorIdx);
IntPtr mNativeClangHelper; IntPtr mNativeClangHelper;

View file

@ -39,72 +39,72 @@ namespace IDE.Compiler
NoFramePointerElim = 0x20000, NoFramePointerElim = 0x20000,
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfCompiler_Compile(void* bfCompiler, void* bfPassInstance, char8* outputDirectory); static extern bool BfCompiler_Compile(void* bfCompiler, void* bfPassInstance, char8* outputDirectory);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfCompiler_ClearResults(void* bfCompiler); static extern bool BfCompiler_ClearResults(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfCompiler_VerifyTypeName(void* bfCompiler, char8* typeName, int32 cursorPos); static extern bool BfCompiler_VerifyTypeName(void* bfCompiler, char8* typeName, int32 cursorPos);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfCompiler_ClassifySource(void* bfCompiler, void* bfPassInstance, void* bfParser, void* bfResolvePassData, void* char8Data); static extern bool BfCompiler_ClassifySource(void* bfCompiler, void* bfPassInstance, void* bfParser, void* bfResolvePassData, void* char8Data);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetAutocompleteInfo(void* bfCompiler); static extern char8* BfCompiler_GetAutocompleteInfo(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetSymbolReferences(void* bfCompiler, void* bfPassInstance, void* bfResolvePassData); static extern char8* BfCompiler_GetSymbolReferences(void* bfCompiler, void* bfPassInstance, void* bfResolvePassData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_Cancel(void* bfCompiler); static extern void BfCompiler_Cancel(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_ClearCompletionPercentage(void* bfCompiler); static extern void BfCompiler_ClearCompletionPercentage(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern float BfCompiler_GetCompletionPercentage(void* bfCompiler); static extern float BfCompiler_GetCompletionPercentage(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 BfCompiler_GetCompileRevision(void* bfCompiler); static extern int32 BfCompiler_GetCompileRevision(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_Delete(void* bfCompiler); static extern void BfCompiler_Delete(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_ClearBuildCache(void* bfCompiler); static extern void BfCompiler_ClearBuildCache(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_SetBuildValue(void* bfCompiler, char8* cacheDir, char8* key, char8* value); static extern void BfCompiler_SetBuildValue(void* bfCompiler, char8* cacheDir, char8* key, char8* value);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetBuildValue(void* bfCompiler, char8* cacheDir, char8* key); static extern char8* BfCompiler_GetBuildValue(void* bfCompiler, char8* cacheDir, char8* key);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_WriteBuildCache(void* bfCompiler, char8* cacheDir); static extern void BfCompiler_WriteBuildCache(void* bfCompiler, char8* cacheDir);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetOutputFileNames(void* bfCompiler, void* bfProject, out bool hadOutputChanges); static extern char8* BfCompiler_GetOutputFileNames(void* bfCompiler, void* bfProject, out bool hadOutputChanges);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetUsedOutputFileNames(void* bfCompiler, void* bfProject, bool flushQueuedHotFiles, out bool hadOutputChanges); static extern char8* BfCompiler_GetUsedOutputFileNames(void* bfCompiler, void* bfProject, bool flushQueuedHotFiles, out bool hadOutputChanges);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetTypeDefList(void* bfCompiler); static extern char8* BfCompiler_GetTypeDefList(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetTypeDefMatches(void* bfCompiler, char8* searchStr); static extern char8* BfCompiler_GetTypeDefMatches(void* bfCompiler, char8* searchStr);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_GetTypeDefInfo(void* bfCompiler, char8* typeDefName); static extern char8* BfCompiler_GetTypeDefInfo(void* bfCompiler, char8* typeDefName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_SetOptions(void* bfCompiler, static extern void BfCompiler_SetOptions(void* bfCompiler,
void* hotProject, int32 hotIdx, char8* targetTriple, int32 toolsetType, int32 simdSetting, int32 allocStackCount, int32 maxWorkerThreads, void* hotProject, int32 hotIdx, char8* targetTriple, int32 toolsetType, int32 simdSetting, int32 allocStackCount, int32 maxWorkerThreads,
OptionFlags optionsFlags, char8* mallocName, char8* freeName); OptionFlags optionsFlags, char8* mallocName, char8* freeName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_ForceRebuild(void* bfCompiler); static extern void BfCompiler_ForceRebuild(void* bfCompiler);
public enum HotTypeFlags public enum HotTypeFlags
@ -115,10 +115,10 @@ namespace IDE.Compiler
Heap = 4, Heap = 4,
}; };
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfCompiler_GetHasHotPendingDataChanges(void* bfCompiler); static extern bool BfCompiler_GetHasHotPendingDataChanges(void* bfCompiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotCommit(void* bfCompiler); static extern void BfCompiler_HotCommit(void* bfCompiler);
public enum HotResolveFlags public enum HotResolveFlags
@ -127,22 +127,22 @@ namespace IDE.Compiler
HadDataChanges = 1 HadDataChanges = 1
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotResolve_Start(void* bfCompiler, int32 flags); static extern void BfCompiler_HotResolve_Start(void* bfCompiler, int32 flags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotResolve_AddActiveMethod(void* bfCompiler, char8* methodName); static extern void BfCompiler_HotResolve_AddActiveMethod(void* bfCompiler, char8* methodName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotResolve_AddDelegateMethod(void* bfCompiler, char8* methodName); static extern void BfCompiler_HotResolve_AddDelegateMethod(void* bfCompiler, char8* methodName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotResolve_ReportType(void* bfCompiler, int typeId, int usageKind); static extern void BfCompiler_HotResolve_ReportType(void* bfCompiler, int typeId, int usageKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfCompiler_HotResolve_ReportTypeRange(void* bfCompiler, char8* typeName, int usageKind); static extern void BfCompiler_HotResolve_ReportTypeRange(void* bfCompiler, char8* typeName, int usageKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfCompiler_HotResolve_Finish(void* bfCompiler); static extern char8* BfCompiler_HotResolve_Finish(void* bfCompiler);
class SetPassInstanceCommand : Command class SetPassInstanceCommand : Command

View file

@ -86,58 +86,58 @@ namespace IDE.Compiler
str.AppendF("Idx:{0}", mIdx); str.AppendF("Idx:{0}", mIdx);
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_DeleteParser(void* bfSystem, void* bfParser); static extern void BfSystem_DeleteParser(void* bfSystem, void* bfParser);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetSource(void* bfParser, char8* data, int32 length, char8* fileName); static extern void BfParser_SetSource(void* bfParser, char8* data, int32 length, char8* fileName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetCharIdData(void* bfParser, uint8* data, int32 length); static extern void BfParser_SetCharIdData(void* bfParser, uint8* data, int32 length);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetHashMD5(void* bfParser, ref MD5Hash md5Hash); static extern void BfParser_SetHashMD5(void* bfParser, ref MD5Hash md5Hash);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetNextRevision(void* bfParser, void* nextParser); static extern void BfParser_SetNextRevision(void* bfParser, void* nextParser);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_SetCursorIdx(void* bfParser, int32 cursorIdx); static extern bool BfParser_SetCursorIdx(void* bfParser, int32 cursorIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_SetAutocomplete(void* bfParser, int32 cursorIdx); static extern bool BfParser_SetAutocomplete(void* bfParser, int32 cursorIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_SetIsClassifying(void* bfParser); static extern bool BfParser_SetIsClassifying(void* bfParser);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_Parse(void* bfParser, void* bfPassInstance, bool compatMode); static extern bool BfParser_Parse(void* bfParser, void* bfPassInstance, bool compatMode);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_Reduce(void* bfParser, void* bfPassInstance); static extern bool BfParser_Reduce(void* bfParser, void* bfPassInstance);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfParser_Format(void* bfParser, int32 formatEnd, int32 formatStart, out int32* outCharMapping); static extern char8* BfParser_Format(void* bfParser, int32 formatEnd, int32 formatStart, out int32* outCharMapping);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfParser_GetDebugExpressionAt(void* bfParser, int32 cursorIdx); static extern char8* BfParser_GetDebugExpressionAt(void* bfParser, int32 cursorIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfParser_CreateResolvePassData(void* bfSystem, int32 resolveType); static extern void* BfParser_CreateResolvePassData(void* bfSystem, int32 resolveType);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfParser_BuildDefs(void* bfParser, void* bfPassInstance, void* bfResolvePassData, bool fullRefresh); static extern bool BfParser_BuildDefs(void* bfParser, void* bfPassInstance, void* bfResolvePassData, bool fullRefresh);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_RemoveDefs(void* bfParser); static extern void BfParser_RemoveDefs(void* bfParser);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_ClassifySource(void* bfParser, void* elementTypeArray, bool preserveFlags); static extern void BfParser_ClassifySource(void* bfParser, void* elementTypeArray, bool preserveFlags);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_GenerateAutoCompletionFrom(void* bfParser, int32 srcPosition); static extern void BfParser_GenerateAutoCompletionFrom(void* bfParser, int32 srcPosition);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfParser_SetCompleteParse(void* bfParser); static extern void BfParser_SetCompleteParse(void* bfParser);
public BfSystem mSystem; public BfSystem mSystem;

View file

@ -17,27 +17,27 @@ namespace IDE.Compiler
Classify Classify
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfPassInstance_Delete(void* bfSystem); static extern void BfPassInstance_Delete(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfPassInstance_PopOutString(void* bfSystem); static extern char8* BfPassInstance_PopOutString(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfPassInstance_SetClassifierPassId(void* bfResolvePassData, uint8 classifierPassId); static extern void BfPassInstance_SetClassifierPassId(void* bfResolvePassData, uint8 classifierPassId);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 BfPassInstance_GetErrorCount(void* mNativeResolvePassData); static extern int32 BfPassInstance_GetErrorCount(void* mNativeResolvePassData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfPassInstance_GetErrorData(void* mNativeResolvePassData, int32 errorIdx, out int32 code, out bool isWarning, static extern char8* BfPassInstance_GetErrorData(void* mNativeResolvePassData, int32 errorIdx, out int32 code, out bool isWarning,
out bool isAfter, out bool isDeferred, out bool isWhileSpecializing, out bool isPersistent, out char8* projectName, out bool isAfter, out bool isDeferred, out bool isWhileSpecializing, out bool isPersistent, out char8* projectName,
out char8* fileName, out int32 srcStart, out int32 srcEnd, int32* srcLine, int32* srcColumn, out int32 moreInfoCount); out char8* fileName, out int32 srcStart, out int32 srcEnd, int32* srcLine, int32* srcColumn, out int32 moreInfoCount);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfPassInstance_Error_GetMoreInfoData(void* mNativeResolvePassData, int32 errorIdx, int32 moreInfoIdx, out char8* fileName, out int32 srcStart, out int32 srcEnd, int32* srcLine, int32* srcColumn); static extern char8* BfPassInstance_Error_GetMoreInfoData(void* mNativeResolvePassData, int32 errorIdx, int32 moreInfoIdx, out char8* fileName, out int32 srcStart, out int32 srcEnd, int32* srcLine, int32* srcColumn);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool BfPassInstance_HadSignatureChanges(void* mNativeResolvePassData); static extern bool BfPassInstance_HadSignatureChanges(void* mNativeResolvePassData);
public class BfError public class BfError

View file

@ -20,19 +20,19 @@ namespace IDE.Compiler
AsmOutput_ATT = 0x40, AsmOutput_ATT = 0x40,
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfProject_Delete(void* nativeBfProject); extern static void BfProject_Delete(void* nativeBfProject);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfProject_ClearDependencies(void* nativeBfProject); extern static void BfProject_ClearDependencies(void* nativeBfProject);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfProject_AddDependency(void* nativeBfProject, void* nativeDepProject); extern static void BfProject_AddDependency(void* nativeBfProject, void* nativeDepProject);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfProject_SetDisabled(void* nativeBfProject, bool disabled); extern static void BfProject_SetDisabled(void* nativeBfProject, bool disabled);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfProject_SetOptions(void* nativeBfProject, int32 targetType, char8* startupObject, char8* preprocessorMacros, extern static void BfProject_SetOptions(void* nativeBfProject, int32 targetType, char8* startupObject, char8* preprocessorMacros,
int32 optLevel, int32 ltoType, int32 relocType, int32 picLevel, Flags flags); int32 optLevel, int32 ltoType, int32 relocType, int32 picLevel, Flags flags);

View file

@ -7,36 +7,36 @@ namespace IDE.Compiler
{ {
public class BfResolvePassData public class BfResolvePassData
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_Delete(void* bfResolvePassData); static extern void BfResolvePassData_Delete(void* bfResolvePassData);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetLocalId(void* bfResolvePassData, int32 localId); static extern void BfResolvePassData_SetLocalId(void* bfResolvePassData, int32 localId);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetTypeGenericParamIdx(void* resolvePassData, int typeGenericParamIdx); static extern void BfResolvePassData_SetTypeGenericParamIdx(void* resolvePassData, int typeGenericParamIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetMethodGenericParamIdx(void* resolvePassData, int typeGenericParamIdx); static extern void BfResolvePassData_SetMethodGenericParamIdx(void* resolvePassData, int typeGenericParamIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceTypeDef(void* bfResolvePassData, char8* replaceStr); static extern void BfResolvePassData_SetSymbolReferenceTypeDef(void* bfResolvePassData, char8* replaceStr);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceFieldIdx(void* bfResolvePassData, int32 fieldIdx); static extern void BfResolvePassData_SetSymbolReferenceFieldIdx(void* bfResolvePassData, int32 fieldIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferenceMethodIdx(void* bfResolvePassData, int32 methodIdx); static extern void BfResolvePassData_SetSymbolReferenceMethodIdx(void* bfResolvePassData, int32 methodIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetSymbolReferencePropertyIdx(void* bfResolvePassData, int32 propertyIdx); static extern void BfResolvePassData_SetSymbolReferencePropertyIdx(void* bfResolvePassData, int32 propertyIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfResolvePassData_SetDocumentationRequest(void* bfResolvePassData, char8* entryName); static extern void BfResolvePassData_SetDocumentationRequest(void* bfResolvePassData, char8* entryName);
// //
//[StdCall, CLink] //[CallingConvention(.Stdcall), CLink]
//static extern void* BfParser_CreateResolvePassData(void* bfSystem, int32 resolveType); //static extern void* BfParser_CreateResolvePassData(void* bfSystem, int32 resolveType);
public void* mNativeResolvePassData; public void* mNativeResolvePassData;

View file

@ -9,77 +9,77 @@ namespace IDE.Compiler
{ {
public class BfSystem public class BfSystem
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_CheckLock(void* bfSystem); static extern void BfSystem_CheckLock(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_Create(); static extern void* BfSystem_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_Delete(void* bfSystem); static extern void BfSystem_Delete(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_ReportMemory(void* bfSystem); static extern void BfSystem_ReportMemory(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_Update(void* bfSystem); static extern void BfSystem_Update(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreatePassInstance(void* bfSystem); static extern void* BfSystem_CreatePassInstance(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfSystem_GetNamespaceSearch(void* bfSystem, char8* typeName, void* project); static extern char8* BfSystem_GetNamespaceSearch(void* bfSystem, char8* typeName, void* project);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName); static extern void* BfSystem_CreateProject(void* bfSystem, char8* projectName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_ClearTypeOptions(void* bfSystem); static extern void BfSystem_ClearTypeOptions(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfSystem_AddTypeOptions(void* bfSystem, char8* filter, int32 simdSetting, int32 optimizationLevel, int32 emitDebugInfo, int32 runtimeChecks, static extern void BfSystem_AddTypeOptions(void* bfSystem, char8* filter, int32 simdSetting, int32 optimizationLevel, int32 emitDebugInfo, int32 runtimeChecks,
int32 initLocalVariables, int32 emitDynamicCastCheck, int32 emitObjectAccessCheck, int32 allocStackTraceDepth); int32 initLocalVariables, int32 emitDynamicCastCheck, int32 emitObjectAccessCheck, int32 allocStackTraceDepth);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreateParser(void* bfSystem, void* bfProject); static extern void* BfSystem_CreateParser(void* bfSystem, void* bfProject);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_CreateCompiler(void* bfSystem, bool isResolveOnly = false); static extern void* BfSystem_CreateCompiler(void* bfSystem, bool isResolveOnly = false);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_RemoveDeletedParsers(void* bfSystem); static extern void* BfSystem_RemoveDeletedParsers(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_RemoveOldParsers(void* bfSystem); static extern void* BfSystem_RemoveOldParsers(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_RemoveOldData(void* bfSystem); static extern void* BfSystem_RemoveOldData(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_NotifyWillRequestLock(void* bfSystem, int32 priority); static extern void* BfSystem_NotifyWillRequestLock(void* bfSystem, int32 priority);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_Lock(void* bfSystem, int32 priority); static extern void* BfSystem_Lock(void* bfSystem, int32 priority);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_PerfZoneStart(char8* name); extern static void BfSystem_PerfZoneStart(char8* name);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_PerfZoneEnd(); extern static void BfSystem_PerfZoneEnd();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* BfSystem_Unlock(void* bfSystem); static extern void* BfSystem_Unlock(void* bfSystem);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_StartTiming(); extern static void BfSystem_StartTiming();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_StopTiming(); extern static void BfSystem_StopTiming();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_DbgPrintTimings(); extern static void BfSystem_DbgPrintTimings();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
extern static void BfSystem_Log(void* bfSystem, char8* str); extern static void BfSystem_Log(void* bfSystem, char8* str);
public void* mNativeBfSystem; public void* mNativeBfSystem;

View file

@ -34,64 +34,64 @@ namespace IDE.Debugger
Disable Disable
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_Delete(void* nativeBreakpoint); static extern void Breakpoint_Delete(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Breakpoint_GetPendingHotBindIdx(void* nativeBreakpoint); static extern int32 Breakpoint_GetPendingHotBindIdx(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_HotBindBreakpoint(void* breakpoint, int32 lineNum, int32 hotIdx); static extern void Breakpoint_HotBindBreakpoint(void* breakpoint, int32 lineNum, int32 hotIdx);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int Breakpoint_GetAddress(void* nativeBreakpoint, out void* linkedSibling); static extern int Breakpoint_GetAddress(void* nativeBreakpoint, out void* linkedSibling);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool Breakpoint_SetCondition(void* nativeBreakpoint, char8* condition); static extern bool Breakpoint_SetCondition(void* nativeBreakpoint, char8* condition);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool Breakpoint_SetLogging(void* nativeBreakpoint, char8* logging, bool breakAfterLogging); static extern bool Breakpoint_SetLogging(void* nativeBreakpoint, char8* logging, bool breakAfterLogging);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool Breakpoint_IsMemoryBreakpointBound(void* nativeBreakpoint); static extern bool Breakpoint_IsMemoryBreakpointBound(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Breakpoint_GetLineNum(void* nativeBreakpoint); static extern int32 Breakpoint_GetLineNum(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_Move(void* nativeBreakpoint, int32 wantLineNum, int32 wantColumn, bool rebindNow); static extern void Breakpoint_Move(void* nativeBreakpoint, int32 wantLineNum, int32 wantColumn, bool rebindNow);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_MoveMemoryBreakpoint(void* nativeBreakpoint, int addr, int32 byteCount); static extern void Breakpoint_MoveMemoryBreakpoint(void* nativeBreakpoint, int addr, int32 byteCount);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_Disable(void* nativeBreakpoint); static extern void Breakpoint_Disable(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Debugger_CreateBreakpoint(char8* fileName, int32 wantLineNum, int32 wantColumn, int32 instrOffset); static extern void* Debugger_CreateBreakpoint(char8* fileName, int32 wantLineNum, int32 wantColumn, int32 instrOffset);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void* Debugger_CreateSymbolBreakpoint(char8* symbolName); static extern void* Debugger_CreateSymbolBreakpoint(char8* symbolName);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Breakpoint_Check(void* nativeBreakpoint); static extern void* Breakpoint_Check(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_SetThreadId(void* nativeBreakpoint, int threadId); static extern void Breakpoint_SetThreadId(void* nativeBreakpoint, int threadId);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Breakpoint_GetHitCount(void* nativeBreakpoint); static extern int32 Breakpoint_GetHitCount(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern int32 Breakpoint_ClearHitCount(void* nativeBreakpoint); static extern int32 Breakpoint_ClearHitCount(void* nativeBreakpoint);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Breakpoint_SetHitCountTarget(void* nativeBreakpoint, int hitCountTarget, HitCountBreakKind breakKind); static extern void Breakpoint_SetHitCountTarget(void* nativeBreakpoint, int hitCountTarget, HitCountBreakKind breakKind);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Debugger_GetActiveBreakpoint(); static extern void* Debugger_GetActiveBreakpoint();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Debugger_CreateMemoryBreakpoint(int addr, int32 byteCount); static extern void* Debugger_CreateMemoryBreakpoint(int addr, int32 byteCount);
public void* mNativeBreakpoint; public void* mNativeBreakpoint;

View file

@ -5,7 +5,7 @@ namespace Debugger
{ {
static class Callbacks static class Callbacks
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Debugger_SetCallbacks(void* callback); static extern void Debugger_SetCallbacks(void* callback);
public static void Init() public static void Init()

View file

@ -112,238 +112,238 @@ namespace IDE.Debugger
public List<Breakpoint> mBreakpointList = new List<Breakpoint>(); public List<Breakpoint> mBreakpointList = new List<Breakpoint>();
public Dictionary<String, StepFilter> mStepFilterList = new Dictionary<String, StepFilter>(); public Dictionary<String, StepFilter> mStepFilterList = new Dictionary<String, StepFilter>();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Create(); static extern void Debugger_Create();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Delete(); static extern void Debugger_Delete();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 Debugger_GetAddrSize(); static extern int32 Debugger_GetAddrSize();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_FullReportMemory(); static extern void Debugger_FullReportMemory();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_OpenMiniDump(char8* filename); static extern bool Debugger_OpenMiniDump(char8* filename);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_OpenFile(char8* launchPath, char8* targetPath, char8* args, char8* workingDir, void* envBlockPtr, int32 envBlockLen); static extern bool Debugger_OpenFile(char8* launchPath, char8* targetPath, char8* args, char8* workingDir, void* envBlockPtr, int32 envBlockLen);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_Attach(int32 processId, AttachFlags attachFlags); static extern bool Debugger_Attach(int32 processId, AttachFlags attachFlags);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Run(); static extern void Debugger_Run();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_HotLoad(char8* objectFileNames, int32 hotIdx); static extern bool Debugger_HotLoad(char8* objectFileNames, int32 hotIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_LoadDebugVisualizers(char8* fileName); static extern bool Debugger_LoadDebugVisualizers(char8* fileName);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_StopDebugging(); static extern void Debugger_StopDebugging();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Terminate(); static extern void Debugger_Terminate();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Detach(); static extern void Debugger_Detach();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern RunState Debugger_GetRunState(); static extern RunState Debugger_GetRunState();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetCurrentException(); static extern char8* Debugger_GetCurrentException();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_Continue(); static extern void Debugger_Continue();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_BreakAll(); static extern void Debugger_BreakAll();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_StepInto(bool inAssembly); static extern void Debugger_StepInto(bool inAssembly);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_StepIntoSpecific(int addr); static extern void Debugger_StepIntoSpecific(int addr);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_StepOver(bool inAssembly); static extern void Debugger_StepOver(bool inAssembly);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_StepOut(bool inAssembly); static extern void Debugger_StepOut(bool inAssembly);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetNextStatement(bool inAssembly, char8* fileName, int wantLineNumOrAsmAddr, int32 wantColumn); static extern void Debugger_SetNextStatement(bool inAssembly, char8* fileName, int wantLineNumOrAsmAddr, int32 wantColumn);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_Update(); static extern bool Debugger_Update();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void* Debugger_CreateAddressBreakpoint(int address); static extern void* Debugger_CreateAddressBreakpoint(int address);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void* Debugger_CreateStepFilter(char8* filter, bool isGlobal, StepFilterKind stepFilterKind); static extern void* Debugger_CreateStepFilter(char8* filter, bool isGlobal, StepFilterKind stepFilterKind);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetDisplayTypes(char8* referenceId, IntDisplayType intDisplayType, MmDisplayType mmDisplayType); static extern void Debugger_SetDisplayTypes(char8* referenceId, IntDisplayType intDisplayType, MmDisplayType mmDisplayType);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_GetDisplayTypes(char8* referenceId, out IntDisplayType intDisplayType, out MmDisplayType mmDisplayType); static extern bool Debugger_GetDisplayTypes(char8* referenceId, out IntDisplayType intDisplayType, out MmDisplayType mmDisplayType);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetDisplayTypeNames(); static extern char8* Debugger_GetDisplayTypeNames();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_EvaluateContinue(); static extern char8* Debugger_EvaluateContinue();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_EvaluateContinueKeep(); static extern void Debugger_EvaluateContinueKeep();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_Evaluate(char8* expr, int32 callStackIdx, int32 cursorPos, int32 language, EvalExpressionFlags expressionFlags); static extern char8* Debugger_Evaluate(char8* expr, int32 callStackIdx, int32 cursorPos, int32 language, EvalExpressionFlags expressionFlags);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_EvaluateToAddress(char8* expr, int32 callStackIdx, int32 cursorPos); static extern char8* Debugger_EvaluateToAddress(char8* expr, int32 callStackIdx, int32 cursorPos);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_EvaluateAtAddress(char8* expr, int addr, int32 cursorPos); static extern char8* Debugger_EvaluateAtAddress(char8* expr, int addr, int32 cursorPos);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetAutoExpressions(int32 callStackIdx, uint64 memoryRangeStart, uint64 memoryRangeLen); static extern char8* Debugger_GetAutoExpressions(int32 callStackIdx, uint64 memoryRangeStart, uint64 memoryRangeLen);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetAutoLocals(int32 callStackIdx, bool showRegs); static extern char8* Debugger_GetAutoLocals(int32 callStackIdx, bool showRegs);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_CompactChildExpression(char8* expr, char8* parentExpr, int32 callStackIdx); static extern char8* Debugger_CompactChildExpression(char8* expr, char8* parentExpr, int32 callStackIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetCollectionContinuation(char8* continuationData, int32 callStackIdx, int32 count); static extern char8* Debugger_GetCollectionContinuation(char8* continuationData, int32 callStackIdx, int32 count);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_ForegroundTarget(); static extern void Debugger_ForegroundTarget();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void CallStack_Update(); static extern void CallStack_Update();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void CallStack_Rehup(); static extern void CallStack_Rehup();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 CallStack_GetCount(); static extern int32 CallStack_GetCount();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 CallStack_GetRequestedStackFrameIdx(); static extern int32 CallStack_GetRequestedStackFrameIdx();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 CallStack_GetBreakStackFrameIdx(); static extern int32 CallStack_GetBreakStackFrameIdx();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetCodeAddrInfo(int addr, out int32 hotIdx, out int32 defLineStart, out int32 defLineEnd, out int32 line, out int32 column); static extern char8* Debugger_GetCodeAddrInfo(int addr, out int32 hotIdx, out int32 defLineStart, out int32 defLineEnd, out int32 line, out int32 column);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_GetStackAllocInfo(int addr, out int threadId, int32* outStackIdx); static extern void Debugger_GetStackAllocInfo(int addr, out int threadId, int32* outStackIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* CallStack_GetStackFrameInfo(int32 stackFrameIdx, out int addr, out char8* outFile, out int32 hotIdx, out int32 defLineStart, out int32 defLineEnd, out int32 outLine, out int32 outColumn, out int32 outLanguage, out int32 outStackSize, out FrameFlags flags); static extern char8* CallStack_GetStackFrameInfo(int32 stackFrameIdx, out int addr, out char8* outFile, out int32 hotIdx, out int32 defLineStart, out int32 defLineEnd, out int32 outLine, out int32 outColumn, out int32 outLanguage, out int32 outStackSize, out FrameFlags flags);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Callstack_GetStackFrameOldFileInfo(int32 stackFrameIdx); static extern char8* Callstack_GetStackFrameOldFileInfo(int32 stackFrameIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 CallStack_GetJmpState(int32 stackFrameIdx); static extern int32 CallStack_GetJmpState(int32 stackFrameIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int Debugger_GetStackFrameCalleeAddr(int32 stackFrameIdx); static extern int Debugger_GetStackFrameCalleeAddr(int32 stackFrameIdx);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* CallStack_GetStackMethodOwner(int32 stackFrameIdx, out int32 language); static extern char8* CallStack_GetStackMethodOwner(int32 stackFrameIdx, out int32 language);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetThreadInfo(); static extern char8* Debugger_GetThreadInfo();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetActiveThread(int threadId); static extern void Debugger_SetActiveThread(int threadId);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int Debugger_GetActiveThread(); static extern int Debugger_GetActiveThread();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_FreezeThread(int threadId); static extern void Debugger_FreezeThread(int threadId);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_ThawThread(int threadId); static extern void Debugger_ThawThread(int threadId);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_IsActiveThreadWaiting(); static extern bool Debugger_IsActiveThreadWaiting();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_PopMessage(); static extern char8* Debugger_PopMessage();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_HasMessages(); static extern bool Debugger_HasMessages();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_FindCodeAddresses(char8* file, int32 line, int32 column, bool allowAutoResolve); static extern char8* Debugger_FindCodeAddresses(char8* file, int32 line, int32 column, bool allowAutoResolve);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetAddressSourceLocation(int addr); static extern char8* Debugger_GetAddressSourceLocation(int addr);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetAddressSymbolName(int addr, bool demangle); static extern char8* Debugger_GetAddressSymbolName(int addr, bool demangle);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_FindLineCallAddresses(int addr); static extern char8* Debugger_FindLineCallAddresses(int addr);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_DisassembleAt(int addr); static extern char8* Debugger_DisassembleAt(int addr);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_ReadMemory(int addr, int size, uint8* data); static extern void Debugger_ReadMemory(int addr, int size, uint8* data);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_WriteMemory(int addr, int size, uint8* data); static extern void Debugger_WriteMemory(int addr, int size, uint8* data);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void* Debugger_StartProfiling(int threadId, char8* desc, int32 sampleRate); static extern void* Debugger_StartProfiling(int threadId, char8* desc, int32 sampleRate);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void* Debugger_PopProfiler(); static extern void* Debugger_PopProfiler();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetSymSrvOptions(char8* symCacheDir, char8* symSrvStr, int32 flags); static extern void Debugger_SetSymSrvOptions(char8* symCacheDir, char8* symSrvStr, int32 flags);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_CancelSymSrv(); static extern void Debugger_CancelSymSrv();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetModulesInfo(); static extern char8* Debugger_GetModulesInfo();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern bool Debugger_HasPendingDebugLoads(); static extern bool Debugger_HasPendingDebugLoads();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 Debugger_LoadImageForModuleWith(char8* moduleName, char8* imageFileName); static extern int32 Debugger_LoadImageForModuleWith(char8* moduleName, char8* imageFileName);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 Debugger_LoadDebugInfoForModule(char8* moduleName); static extern int32 Debugger_LoadDebugInfoForModule(char8* moduleName);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern int32 Debugger_LoadDebugInfoForModuleWith(char8* moduleName, char8* debugFileName); static extern int32 Debugger_LoadDebugInfoForModuleWith(char8* moduleName, char8* debugFileName);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetStepOverExternalFiles(bool stepOverExternalFiles); static extern void Debugger_SetStepOverExternalFiles(bool stepOverExternalFiles);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_InitiateHotResolve(int32 flags); static extern void Debugger_InitiateHotResolve(int32 flags);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern char8* Debugger_GetHotResolveData(uint8* outTypeData, int32* outTypeDataSize); static extern char8* Debugger_GetHotResolveData(uint8* outTypeData, int32* outTypeDataSize);
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void Debugger_SetAliasPath(char8* origPath, char8* localPath); static extern void Debugger_SetAliasPath(char8* origPath, char8* localPath);
public String mRunningPath ~ delete _; public String mRunningPath ~ delete _;

View file

@ -12,25 +12,25 @@ namespace IDE.Debugger
public int mIdx; public int mIdx;
public bool mIsManual; public bool mIsManual;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* Profiler_Delete(void* nativeProfiler); static extern void* Profiler_Delete(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Profiler_Stop(void* nativeProfiler); static extern void Profiler_Stop(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Profiler_Clear(void* nativeProfiler); static extern void Profiler_Clear(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* Profiler_GetThreadList(void* nativeProfiler); static extern char8* Profiler_GetThreadList(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* Profiler_GetOverview(void* nativeProfiler); static extern char8* Profiler_GetOverview(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool Profiler_IsRunning(void* nativeProfiler); static extern bool Profiler_IsRunning(void* nativeProfiler);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* Profiler_GetCallTree(void* nativeProfiler, int32 threadId, bool reverse); static extern char8* Profiler_GetCallTree(void* nativeProfiler, int32 threadId, bool reverse);
void* mNativeProfiler; void* mNativeProfiler;

View file

@ -19,7 +19,7 @@ namespace IDE.Debugger
public bool mIsGlobal; public bool mIsGlobal;
public StepFilterKind mKind; public StepFilterKind mKind;
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void StepFilter_Delete(char8* filter); static extern void StepFilter_Delete(char8* filter);
public ~this() public ~this()

View file

@ -529,9 +529,9 @@ namespace IDE
} }
} }
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void IDEHelper_ProgramStart(); static extern void IDEHelper_ProgramStart();
[StdCall,CLink] [CallingConvention(.Stdcall),CLink]
static extern void IDEHelper_ProgramDone(); static extern void IDEHelper_ProgramDone();
public this() public this()
@ -12915,7 +12915,7 @@ namespace IDE
} }
#if BF_PLATFORM_WINDOWS #if BF_PLATFORM_WINDOWS
[Import("user32.lib"), CLink, StdCall] [Import("user32.lib"), CLink, CallingConvention(.Stdcall)]
public static extern bool MessageBeep(MessageBeepType type); public static extern bool MessageBeep(MessageBeepType type);
#endif #endif
} }

View file

@ -71,7 +71,7 @@ namespace IDE
ReadPaths("Lib64Paths", mLib64Paths); ReadPaths("Lib64Paths", mLib64Paths);
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern char8* VSSupport_Find(); static extern char8* VSSupport_Find();
public bool IsConfigured() public bool IsConfigured()

View file

@ -10,19 +10,19 @@ namespace IDE
{ {
public class SpellChecker : CommandQueueManager public class SpellChecker : CommandQueueManager
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void* SpellChecker_Create(char8* langPath); static extern void* SpellChecker_Create(char8* langPath);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void SpellChecker_Delete(void* nativeSpellchecker); static extern void SpellChecker_Delete(void* nativeSpellchecker);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern bool SpellChecker_IsWord(void* nativeSpellchecker, char8* word); static extern bool SpellChecker_IsWord(void* nativeSpellchecker, char8* word);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void SpellChecker_AddWord(void* nativeSpellchecker, char8* word); static extern void SpellChecker_AddWord(void* nativeSpellchecker, char8* word);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* SpellChecker_GetSuggestions(void* spellChecker, char8* word); static extern char8* SpellChecker_GetSuggestions(void* spellChecker, char8* word);
void* mNativeSpellChecker; void* mNativeSpellChecker;

View file

@ -7,10 +7,10 @@ namespace IDE
{ {
public class Targets public class Targets
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Targets_Create(); static extern void Targets_Create();
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void Targets_Delete(); static extern void Targets_Delete();
public this() public this()

View file

@ -262,7 +262,7 @@ namespace IDE.ui
} }
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern char8* BfDiff_DiffText(char8* text1, char8* text2); static extern char8* BfDiff_DiffText(char8* text1, char8* text2);
struct TextLineSegment struct TextLineSegment

View file

@ -1158,7 +1158,7 @@ namespace IDE.ui
bfCompiler.QueueDeferredResolveAll(); bfCompiler.QueueDeferredResolveAll();
} }
//[StdCall, CLink] //[CallingConvention(.Stdcall), CLink]
//static extern char8* BfDiff_DiffText(char8* text1, char8* text2); //static extern char8* BfDiff_DiffText(char8* text1, char8* text2);
public void DoFastClassify() public void DoFastClassify()

View file

@ -4,10 +4,10 @@ namespace IDE.util
{ {
class BfLog class BfLog
{ {
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfLog_Log(char8* str); static extern void BfLog_Log(char8* str);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
static extern void BfLog_LogDbg(char8* str); static extern void BfLog_LogDbg(char8* str);
public static void Log(StringView str, params Object[] strParams) public static void Log(StringView str, params Object[] strParams)

View file

@ -854,25 +854,25 @@ namespace CURL
HTTP2Stream, /* 92 - stream error in HTTP/2 framing layer */ HTTP2Stream, /* 92 - stream error in HTTP/2 framing layer */
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* curl_easy_init(); static extern void* curl_easy_init();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int curl_easy_setopt(void* curl, int option, int optVal); static extern int curl_easy_setopt(void* curl, int option, int optVal);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* curl_easy_duphandle(void* curl); static extern void* curl_easy_duphandle(void* curl);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* curl_easy_cleanup(void* curl); static extern void* curl_easy_cleanup(void* curl);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern int curl_easy_perform(void* curl); static extern int curl_easy_perform(void* curl);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* curl_easy_getinfo(void* curl, Option option, void* ptr); static extern void* curl_easy_getinfo(void* curl, Option option, void* ptr);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
static extern void* curl_easy_reset(void* curl); static extern void* curl_easy_reset(void* curl);
void* mCURL; void* mCURL;

View file

@ -190,10 +190,10 @@ namespace IDE.Util
} }
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern void git_strarray_free(git_strarray *array); public static extern void git_strarray_free(git_strarray *array);
[StdCall, CLink] [CallingConvention(.Stdcall), CLink]
public static extern int32 git_strarray_copy(git_strarray *tgt, git_strarray *src); public static extern int32 git_strarray_copy(git_strarray *tgt, git_strarray *src);
/** Time in a signature */ /** Time in a signature */
@ -604,16 +604,16 @@ namespace IDE.Util
public void* remote_cb_payload; public void* remote_cb_payload;
} }
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 git_libgit2_init(); public static extern int32 git_libgit2_init();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 git_libgit2_shutdown(); public static extern int32 git_libgit2_shutdown();
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern int32 git_clone(git_repository** repoOut, char8* url, char8* local_path, git_clone_options* options); public static extern int32 git_clone(git_repository** repoOut, char8* url, char8* local_path, git_clone_options* options);
[CLink, StdCall] [CLink, CallingConvention(.Stdcall)]
public static extern void git_repository_free(git_repository *repo); public static extern void git_repository_free(git_repository *repo);
} }
} }

View file

@ -97,7 +97,7 @@ namespace IDE.Util
UpdateBytesPerSecond(); UpdateBytesPerSecond();
} }
[StdCall] [CallingConvention(.Stdcall)]
static int Callback(void *p, int dltotal, int dlnow, int ultotal, int ulnow) static int Callback(void *p, int dltotal, int dlnow, int ultotal, int ulnow)
{ {
Transfer transfer = (Transfer)Internal.UnsafeCastToObject(p); Transfer transfer = (Transfer)Internal.UnsafeCastToObject(p);
@ -111,7 +111,7 @@ namespace IDE.Util
return 0; return 0;
} }
[StdCall] [CallingConvention(.Stdcall)]
static int Write(void* dataPtr, int size, int count, void* ctx) static int Write(void* dataPtr, int size, int count, void* ctx)
{ {
Transfer transfer = (Transfer)Internal.UnsafeCastToObject(ctx); Transfer transfer = (Transfer)Internal.UnsafeCastToObject(ctx);