Pyrogenesis
13997
|
Go to the source code of this file.
Macros | |
#define | SYS_DIR_SEP '/' |
directory separation character More... | |
Functions | |
void | sys_display_msg (const wchar_t *caption, const wchar_t *msg) |
display a message. More... | |
ErrorReactionInternal | sys_display_error (const wchar_t *text, size_t flags) |
show the error dialog. More... | |
LIB_API bool | sys_IsDebuggerPresent () |
LIB_API std::wstring | sys_WideFromArgv (const char *argv_i) |
int | sys_vswprintf (wchar_t *buffer, size_t count, const wchar_t *format, va_list argptr) |
sys_vswprintf: doesn't quite follow the standard for vswprintf, but works better across compilers: More... | |
Status | sys_StatusDescription (int err, wchar_t *buf, size_t max_chars) |
describe the current OS error state. More... | |
Status | sys_get_module_filename (void *addr, OsPath &pathname) |
determine filename of the module to whom an address belongs. More... | |
LIB_API OsPath | sys_ExecutablePathname () |
std::wstring | sys_get_user_name () |
Get the current user's login name. More... | |
Status | sys_pick_directory (OsPath &path) |
Have the user choose a directory via OS dialog. More... | |
Status | sys_open_url (const std::string &url) |
Open the user's default web browser to the given URL. More... | |
size_t | sys_max_sector_size () |
return the largest sector size [bytes] of any storage medium (HD, optical, etc.) in the system. More... | |
LIB_API Status | sys_generate_random_bytes (u8 *buf, size_t count) |
generate high-quality random bytes. More... | |
LIB_API Status | sys_get_proxy_config (const std::wstring &url, std::wstring &proxy) |
get the proxy address for accessing the given HTTP URL. More... | |
LIB_API FILE * | sys_OpenFile (const OsPath &pathname, const char *mode) |
open a file like with fopen (but taking an OsPath argument). More... | |
ErrorReactionInternal sys_display_error | ( | const wchar_t * | text, |
size_t | flags | ||
) |
show the error dialog.
text | to display (practically unlimited length) |
flags,: | see DebugDisplayErrorFlags. |
called from debug_DisplayError unless overridden by means of ah_display_error.
LIB_API OsPath sys_ExecutablePathname | ( | ) |
determine filename of the module to whom an address belongs.
addr | |
pathname | Full path to module (unchanged unless INFO::OK is returned). |
note: this is useful for handling exceptions in other modules.
Definition at line 384 of file wsysdep.cpp.
LIB_API Status sys_get_proxy_config | ( | const std::wstring & | url, |
std::wstring & | proxy | ||
) |
get the proxy address for accessing the given HTTP URL.
this may be very slow (tens of seconds).
std::wstring sys_get_user_name | ( | ) |
LIB_API bool sys_IsDebuggerPresent | ( | ) |
size_t sys_max_sector_size | ( | ) |
return the largest sector size [bytes] of any storage medium (HD, optical, etc.) in the system.
this may be a bit slow to determine (iterates over all drives), but caches the result so subsequent calls are free. (caveat: device changes won't be noticed during this program run)
sector size is relevant because Windows aio requires all IO buffers, offsets and lengths to be a multiple of it. this requirement is also carried over into the vfs / file.cpp interfaces for efficiency (avoids the need for copying to/from align buffers).
waio uses the sector size to (in some cases) align IOs if they aren't already, but it's also needed by user code when aligning their buffers to meet the requirements.
the largest size is used so that we can read from any drive. while this is a bit wasteful (more padding) and requires iterating over all drives, it is the only safe way: this may be called before we know which drives will be needed, and hardlinks may confuse things.
Status sys_open_url | ( | const std::string & | url | ) |
LIB_API FILE* sys_OpenFile | ( | const OsPath & | pathname, |
const char * | mode | ||
) |
Have the user choose a directory via OS dialog.
path | Path's input value determines the starting directory for faster browsing. if INFO::OK is returned, it receives chosen directory path. |
Definition at line 428 of file wsysdep.cpp.
describe the current OS error state.
err,: | if not 0, use that as the error code to translate; otherwise, uses GetLastError or similar. |
buf | output buffer |
max_chars | rationale: it is expected to be rare that OS return/error codes are actually seen by user code, but we leave the possibility open. |
sys_vswprintf: doesn't quite follow the standard for vswprintf, but works better across compilers:
Definition at line 30 of file printf.cpp.