4coder/platform_win32/win32_utf8.h

59 lines
1.5 KiB
C

/*
* Mr. 4th Dimention - Allen Webster
*
* 23.03.2017
*
* UTF8 versions of WIN32 calls.
*
*/
// TOP
#if !defined(FRED_WIN32_UTF8_H)
#define FRED_WIN32_UTF8_H
internal HANDLE
CreateFile_utf8(Partition *scratch, u8 *name, DWORD access, DWORD share, LPSECURITY_ATTRIBUTES security, DWORD creation, DWORD flags, HANDLE template_file);
internal DWORD
GetFinalPathNameByHandle_utf8(Partition *scratch, HANDLE file, u8 *file_path_out, DWORD path_max, DWORD flags);
internal HANDLE
FindFirstFile_utf8(Partition *scratch, u8 *name, LPWIN32_FIND_DATA find_data);
internal DWORD
GetFileAttributes_utf8(Partition *scratch, u8 *name);
internal DWORD
GetModuleFileName_utf8(Partition *scratch, HMODULE module, u8 *file_out, DWORD max);
internal BOOL
CreateProcess_utf8(Partition *scratch, u8 *app_name, u8 *command, LPSECURITY_ATTRIBUTES security, LPSECURITY_ATTRIBUTES thread, BOOL inherit_handles, DWORD creation, LPVOID environment, u8 *curdir, LPSTARTUPINFO startup, LPPROCESS_INFORMATION process);
internal DWORD
GetCurrentDirectory_utf8(Partition *scratch, DWORD max, u8 *buffer);
internal int
MessageBox_utf8(Partition *scratch, HWND owner, u8 *text, u8 *caption, UINT type);
internal BOOL
SetWindowText_utf8(Partition *scratch, HWND window, u8 *string);
internal BOOL
GetFileAttributesEx_utf8String(Partition *scratch, String file_name, GET_FILEEX_INFO_LEVELS info_level_id, LPVOID file_info);
// For implementation
struct Win32_UTF16{
b32 success;
u32 utf8_len;
u32 utf16_max;
u32 utf16_len;
u16 *utf16;
};
#endif
// BOTTOM