mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-02 16:00:30 +00:00
Add C definition
Inline MAX_PATH, MAX_DEFAULTCHAR, MAX_LEADBYTES
This commit is contained in:
parent
4b11c2d832
commit
57eab10502
5 changed files with 43 additions and 7 deletions
|
@ -12,6 +12,7 @@
|
|||
#include "libc/nt/files.h"
|
||||
#include "libc/nt/ipc.h"
|
||||
#include "libc/nt/memory.h"
|
||||
#include "libc/nt/nls.h"
|
||||
#include "libc/nt/paint.h"
|
||||
#include "libc/nt/process.h"
|
||||
#include "libc/nt/registry.h"
|
||||
|
|
|
@ -49,6 +49,7 @@ COSMOPOLITAN_C_START_
|
|||
intptr_t LoadResource(int64_t hModule, int64_t hResInfo);
|
||||
uint32_t SetHandleCount(uint32_t uNumber);
|
||||
uint32_t GetLogicalDrives(void);
|
||||
uint32_t GetLogicalDriveStringsA(uint32_t nBufferLength, char *lpBuffer);
|
||||
bool32 FlushFileBuffers(int64_t hFile);
|
||||
|
||||
int64_t ReOpenFile(int64_t hOriginalFile, uint32_t dwDesiredAccess,
|
||||
|
@ -205,6 +206,7 @@ uint32_t GetFinalPathNameByHandle(int64_t hFile, char16_t *out_path,
|
|||
|
||||
uint32_t GetFullPathName(const char16_t *lpFileName, uint32_t nBufferLength,
|
||||
char16_t *lpBuffer, char16_t **lpFilePart);
|
||||
uint32_t GetShortPathName(const char16_t *lpszLongPath, char16_t *out_lpszShortPath, uint32_t cchBuffer);
|
||||
|
||||
bool32 GetOverlappedResult(int64_t hFile, struct NtOverlapped *lpOverlapped,
|
||||
uint32_t *lpNumberOfBytesTransferred, bool32 bWait);
|
||||
|
|
35
libc/nt/nls.h
Normal file
35
libc/nt/nls.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_NT_NLS_H_
|
||||
#define COSMOPOLITAN_LIBC_NT_NLS_H_
|
||||
#include "libc/nt/struct/cpinfoex.h"
|
||||
/* ░░░░
|
||||
▒▒▒░░░▒▒▒▒▒▒▒▓▓▓░
|
||||
▒▒▒▒░░░▒▒▒▒▒▒▓▓▓▓▓▓░
|
||||
▒▒▒▒░░░▒▒▒▒▒▒▒▓▓▓▓▓▓ ▒▓░
|
||||
▒▒▒░░░░▒▒▒▒▒▒▓▓▓▓▓▓ ▓▓▓▓▓▓▒ ▒▒▒▓▓█
|
||||
▒▒▒▒░░░▒▒▒▒▒▒▒▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓
|
||||
░▒▒▒░░░░▒▒▒▒▒▒▓▓▓▓▓▓ █▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓█
|
||||
▒▒▒▒░░░▒▒▒▒▒▒▒▓▓▓▓▓░ ▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓
|
||||
▒▒▒▒░░░▒▒▒▒▒▒▒▓▓▓▓▓▓ ▒▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▒
|
||||
▒▒▒▒▓▓ ▓▒▒▓▓▓▓ ▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓█
|
||||
▒▓ ▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓
|
||||
░░░░░░░░░░░▒▒▒▒ ▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓█
|
||||
▒▒░░░░░░░░░░▒▒▒▒▒▓▓▓ ▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓
|
||||
░▒░░░░░░░░░░░▒▒▒▒▒▓▓ ▓░ ░▓███▓
|
||||
▒▒░░░░░░░░░░▒▒▒▒▒▓▓░ ▒▓▓▓▒▒▒ ░▒▒▒▓ ████████████
|
||||
▒▒░░░░░░░░░░░▒▒▒▒▒▓▓ ▒▓▓▓▓▒▒▒▒▒▒▒▒░░░▒▒▒▒▒░ ░███
|
||||
▒░░░░░░░░░░░▒▒▒▒▒▓▓ ▓▓▓▓▒▒▒▒▒▒▒▒░░░░▒▒▒▒▓ ███
|
||||
▒▒░░░░░░░░░░▒▒▒▒▒▒▓▓ ▒▓▓▓▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒ ▓██
|
||||
▒░░░░░░░░░░░▒▒▒▒▒▓▓ ▓▓▓▓▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▓ ▓██
|
||||
▒▒░░░▒▒▒░░░▒▒░▒▒▒▓▓▒ ▒▓▓▓▒▒▒▒▒▒▒▒░░░░▒▒▒▒▒ ███
|
||||
░▒▓ ░▓▓▓▓▒▒▒▒▒▒▒▒░░░░▒▒▒▒▓ ▓██
|
||||
╔────────────────────────────────────────────────────────────────▀▀▀─────────│─╗
|
||||
│ cosmopolitan § new technology » internationalization ─╬─│┼
|
||||
╚────────────────────────────────────────────────────────────────────────────│*/
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
uint32_t GetOEMCP();
|
||||
uint32_t GetACP();
|
||||
bool32 GetCPInfoEx(uint32_t CodePage, uint32_t dwFlags, struct NtCpInfoEx *out_lpCPInfoEx) paramsnonnull((3));
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* COSMOPOLITAN_LIBC_NT_NLS_H_ */
|
|
@ -51,6 +51,8 @@ int RegOpenKey(int64_t hKey, const char16_t *opt_lpSubKey,
|
|||
int RegOpenKeyEx(int64_t hKey, const char16_t *opt_lpSubKey,
|
||||
uint32_t opt_ulOptions, int samDesired, int64_t *out_phkResult)
|
||||
paramsnonnull((5));
|
||||
int RegOpenKeyExA(int64_t hKey, const char *opt_lpSubKey, uint32_t opt_ulOptions,
|
||||
int samDesired, int64_t *out_phkResult) paramsnonnull((5));
|
||||
int RegCloseKey(int64_t hKey);
|
||||
|
||||
int RegGetValue(int64_t hkey, const char16_t *opt_lpSubKey,
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_NT_STRUCT_CPINFOEX_H_
|
||||
#define COSMOPOLITAN_LIBC_NT_STRUCT_CPINFOEX_H_
|
||||
|
||||
#define MAX_LEADBYTES 12
|
||||
#define MAX_DEFAULTCHAR 2
|
||||
#define MAX_PATH 260
|
||||
|
||||
struct NtCpInfoEx {
|
||||
uint32_t MaxCharSize;
|
||||
uint8_t DefaultChar[MAX_DEFAULTCHAR];
|
||||
uint8_t LeadByte[MAX_LEADBYTES];
|
||||
uint8_t DefaultChar[2];
|
||||
uint8_t LeadByte[12];
|
||||
char16_t UnicodeDefaultChar;
|
||||
uint32_t CodePage;
|
||||
char16_t CodePageName[MAX_PATH]
|
||||
char16_t CodePageName[260];
|
||||
};
|
||||
|
||||
#endif /* COSMOPOLITAN_LIBC_NT_STRUCT_CPINFOEX_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue