summaryrefslogtreecommitdiff
path: root/ldmicro/lib/linuxUI/linuxLD.h
diff options
context:
space:
mode:
Diffstat (limited to 'ldmicro/lib/linuxUI/linuxLD.h')
-rw-r--r--ldmicro/lib/linuxUI/linuxLD.h88
1 files changed, 82 insertions, 6 deletions
diff --git a/ldmicro/lib/linuxUI/linuxLD.h b/ldmicro/lib/linuxUI/linuxLD.h
index c6079d5..062bc49 100644
--- a/ldmicro/lib/linuxUI/linuxLD.h
+++ b/ldmicro/lib/linuxUI/linuxLD.h
@@ -2,6 +2,10 @@
#define __LINUX_LD__
#include "linuxUI.h"
+#include <ctype.h>
+#include <vector>
+#include <algorithm>
+#include <sys/mman.h>
/// common windows referances for linux
@@ -10,14 +14,21 @@
/// CALLBACK or __stdcall os defined empty
#define CALLBACK
#define CONST const
-/// typedefs
+
+#define HEAP_ZERO_MEMORY 0x00000008
+
+/// Typedefs
//typedef int64_t __int64;
typedef bool BOOL;
typedef unsigned char BYTE;
+typedef unsigned short WORD;
typedef unsigned int DWORD;
+typedef unsigned int UINT;
+typedef size_t SIZE_T;
typedef long LONG;
typedef wchar_t WCHAR;
typedef char CHAR;
+
typedef CONST WCHAR *LPCWSTR;
typedef CONST CHAR *LPCSTR; /// should be __nullterminated
@@ -36,8 +47,13 @@ typedef CHAR *LPSTR;
typedef LPSTR LPTSTR;
#endif
-/// all handles will hold a GtkWindow* type
-typedef void* PVOID;
+typedef void *PVOID;
+typedef void *LPVOID;
+typedef PVOID HFONT;
+typedef PVOID HMODULE;
+typedef PVOID HHOOK;
+typedef PVOID HBRUSH;
+typedef PVOID HFONT;
typedef PVOID HANDLE;
typedef HANDLE HINSTANCE;
typedef HANDLE HDC;
@@ -56,9 +72,17 @@ typedef unsigned int UINT_PTR;
#endif
typedef UINT_PTR WPARAM;
-typedef unsigned int UINT;
-/// custom classes
+#if defined(__UNIX64)
+ typedef __int64_t LONG_PTR;
+#else
+ typedef long LONG_PTR;
+#endif
+
+typedef LONG_PTR LPARAM;
+typedef LONG_PTR LRESULT;
+
+/// Custom classes
class COLORREF : public GdkRGBA{
public:
COLORREF()
@@ -77,6 +101,58 @@ class COLORREF : public GdkRGBA{
}
};
-/// functions
+/// Custom structures
+typedef struct HeapRecordChunckTag{
+ PVOID Chunck;
+ SIZE_T dwSize;
+} HEAPCHUNCK;
+
+typedef struct HeapRecordTag{
+ PVOID hHeap;
+ DWORD HeapID;
+ std::vector<HEAPCHUNCK> Element;
+ SIZE_T dwMaximumSize;
+ SIZE_T dwSize;
+ SIZE_T dwAllocatedSizeOffset;
+} HEAPRECORD;
+
+typedef struct tagSCROLLINFO {
+ UINT cbSize;
+ UINT fMask;
+ int nMin;
+ int nMax;
+ UINT nPage;
+ int nPos;
+ int nTrackPos;
+} SCROLLINFO, *LPCSCROLLINFO;
+
+typedef struct tagNMHDR {
+ HWND hwndFrom;
+ UINT_PTR idFrom;
+ UINT code;
+} NMHDR;
+
+/// Variables
+extern std::vector<HEAPRECORD> HeapRecord;
+
+/// Functions
+HANDLE HeapCreate(
+ DWORD flOptions,
+ SIZE_T dwInitialSize,
+ SIZE_T dwMaximumSize);
+
+LPVOID HeapAlloc(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ SIZE_T dwBytes);
+
+BOOL HeapFree(
+ HANDLE hHeap,
+ DWORD dwFlags,
+ LPVOID lpMem);
+
+/// functions to be ported
+void OutputDebugString(char*);
+double GetTickCount(void);
#endif \ No newline at end of file