[+] NS readmes
This commit is contained in:
parent
b029f7692f
commit
1d943af9b9
28
Include/Aurora/CmdLine/README.md
Normal file
28
Include/Aurora/CmdLine/README.md
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
# AuCmdLine
|
||||
|
||||
Example Usage: \
|
||||
File: HelloAurora/master/Tests/Public/3. Hello Command Line/Main.cpp \
|
||||
Example: https://cyberia.tokyo/notice/AHx8CkwoqqW26byDJ2
|
||||
|
||||
## Platform normalization
|
||||
Different shells will parse execv or generate the process command line string differently \
|
||||
For instance, to take the flag 'Hello World' and pass it to a program without additional CLI parsing, you would need to write:
|
||||
|
||||
Powershell: & '.\3. Hello Command Line.Stage.Win32.x86_64.exe' Hello` World \
|
||||
CMD : "3. Hello Command Line.Stage.Win32.x86_64.exe" "Hello World" \
|
||||
Linux : ./3.\ Hello\ Command\ Line.Stage.Linux.x86_64 Hello\ World \
|
||||
\
|
||||
Despite this, GetFlags and GetValues will unescape \\ on NT platforms. \
|
||||
\
|
||||
EG:\
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" --test=Hello\ World \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" --test="Hello World" \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" --test "Hello World" \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" /test="Hello World" \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" /test "Hello World" \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" test="Hello World" \
|
||||
"3. Hello Command Line.Stage.Win32.x86_64.exe" test=Hello\ World \
|
||||
[2022-02-20 18:25:48][Info] | Flags: 0 \
|
||||
[2022-02-20 18:25:48][Info] | Values: 1 \
|
||||
[2022-02-20 18:25:48][Info] | test=Hello World \
|
11
Include/Aurora/HWInfo/README.md
Normal file
11
Include/Aurora/HWInfo/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
# AuHwInfo
|
||||
|
||||
Example Usage: HelloAurora/master/Tests/Public/1. Hello System/Main.cpp
|
||||
|
||||
# Features
|
||||
* CpuBitId for working with processor bitmaps (up to 128 or 256 bit). Can also be used as oversized individual processor ids.
|
||||
* CpuId for pulling processor specific information fields
|
||||
* CpuInfo for pulling the physical topology of the CPU, cache information, and CpuId
|
||||
* Generic structure `RamStat` for defining % of memory used in bytes (u64 used, u64 available)
|
||||
* RamStat of: Process Commit (total virtual address space) and Blamed (private), System Commit (total commit/phys+swap or act limit), Physical Usage (phys)
|
||||
* Retrieve memory page size
|
18
Include/Aurora/Hashing/README.md
Normal file
18
Include/Aurora/Hashing/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# AuHashing
|
||||
|
||||
Example Usage:
|
||||
|
||||
# Features
|
||||
* Hash stream objects and static utility access
|
||||
* Hash streams are serializable and reusable for genuine stream use cases
|
||||
* ...regular hash stream use case is covered by lock on finalize
|
||||
* MD4
|
||||
* MD5
|
||||
* SHA1
|
||||
* Tiger
|
||||
* SHA2 (32)
|
||||
* SHA2_64 (64)
|
||||
* RipeMD 128
|
||||
* RipeMD 160
|
||||
* RipeMD 256
|
||||
* RipeMD 320
|
9
Include/Aurora/Locale/README.md
Normal file
9
Include/Aurora/Locale/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# AuLocale
|
||||
|
||||
Example Usage: HelloAurora/master/Tests/Public/8. Hello Locale/Main.cpp
|
||||
|
||||
# Features
|
||||
* Pulls system country, language, and codepage
|
||||
* Built-in UTF8 (up to 6 bytes), 16, 32 encoding/decoding
|
||||
* `NULL == out` based counting of valid codepoints and input bytes in a given memory view, backed by various codecs
|
||||
* Abstraction on top of platform specific iconv, nsl, and similar api sets to provide shift-jis, utf*, gbk (and frens) conversion to/from UTF8
|
@ -1,5 +1,8 @@
|
||||
# Features
|
||||
# AuLog
|
||||
|
||||
Example Usage: HelloAurora/master/Tests/Public/10. Hello Logger/Main.cpp
|
||||
|
||||
# Features
|
||||
* Simple global logger
|
||||
* UTF8 support
|
||||
* Colorful
|
||||
@ -8,8 +11,9 @@
|
||||
* Async logger write message out subscription interface
|
||||
* Optional command processing using the parse subsystem
|
||||
** Commands may be dispatched on specific threads
|
||||
* Supports various backends
|
||||
** A log file keeping under branded user app directory OR the cwd
|
||||
** Windows debugger `OutputDebugString()`
|
||||
** Stdout respecting system locale and color support
|
||||
** syslog
|
||||
|
||||
## Supports various backends
|
||||
* A log file under a branded user app specific directory OR the cwd for utilities
|
||||
* Windows debugger `OutputDebugString()`
|
||||
* Stdout respecting system locale and color support
|
||||
* syslog
|
12
Include/Aurora/Parse/README.md
Normal file
12
Include/Aurora/Parse/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# AuParse
|
||||
|
||||
AuParse includes the legacy simpleparselist, a text tokenizer given an array of types and string stream, implementation and binary encoding.
|
||||
|
||||
Example Usage:
|
||||
File: HelloAurora/master/Tests/Public/7. Hello Parse/Main.cpp
|
||||
|
||||
# Features
|
||||
* HEX Encoding and Decoding (including export code literal, formatted string, etc; permissive decode)
|
||||
* Base32 Encoding and Decoding
|
||||
* Base64 Encoding and Decoding
|
||||
* SimpleParseList
|
11
Include/Aurora/Process/README.md
Normal file
11
Include/Aurora/Process/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
# AuProcess
|
||||
|
||||
AuProcess provides an interface to the current processes environment.
|
||||
|
||||
Example Usage: \
|
||||
File: HelloAurora/master/Tests/Public/1. Hello System/Main.cpp \
|
||||
Function: ::DumpAddressSpace()
|
||||
|
||||
# Features
|
||||
* Get process name, directory, full path, and working directory
|
||||
* Dumps the address space including metadata of modules and sections
|
14
Include/Aurora/Processes/README.md
Normal file
14
Include/Aurora/Processes/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# AuProcesses
|
||||
|
||||
Example Usage: HelloAurora/master/Tests/Public/11. Hello Processes/Main.cpp
|
||||
|
||||
|
||||
Aurora Processes allows you to spawn, ipc, terminate, and synchronize against spawnable daemons and worker processes.
|
||||
AuIO is integrated such that `IProcess` objects provide `IAsyncTransactions` for reading or writing to a standard in/out/error
|
||||
stream; and AuLoop interoperability is provided by providing two signalable loop source indicating [!]liveliness of the process.
|
||||
|
||||
# Features
|
||||
* exec overmap
|
||||
* daemon workers
|
||||
* child workers
|
||||
* Simple `StartupParmaters` to define the environment by which the process operates
|
11
Include/Aurora/SWInfo/README.md
Normal file
11
Include/Aurora/SWInfo/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
# AuSwInfo
|
||||
|
||||
Example Usage: \
|
||||
File: HelloAurora/master/Tests/Public/1. Hello System/Main.cpp \
|
||||
Function: ::PrintSoftwareSpecs()
|
||||
|
||||
# Features
|
||||
* Retrieves the kernel build string of NT and Linux based systems
|
||||
* Attempts to pull information related to the userland desktop stack including version number, desktop manager, and branding
|
||||
* Implements `IsWindowsXPOrGreater` through `IsWindows11OrGreater` on all platforms
|
||||
* Pulls the true NT version without application manifests
|
10
Include/Aurora/Threading/README SleepNote.txt
Normal file
10
Include/Aurora/Threading/README SleepNote.txt
Normal file
@ -0,0 +1,10 @@
|
||||
A common misconception states that you can't and shouldn't yield with above MS precision bc "tehe kernels and timers are slow."
|
||||
Such propagators believe that because the "kernel tick" or "timer tick" is slow, the res must therefore be bad.
|
||||
|
||||
In reality, kernel sleep requests are fed into the kernels respective scheduling or similar io subsystem to yield given the target unit of time.
|
||||
The frequency of a Linux kernel, for instance, only determines the software timer interrupt driving preemption. In the most basic of implementation,
|
||||
such is generally true across all kernels. The problem is, timed sleeps aren't in anyway dependent on thread context preemption, and are instead mostly
|
||||
dependent on a reschedule of the context itself, leading to the infamous inconsistencies in yield times. So far as PC timer resolution and thread
|
||||
switching through <current year - 15> to <current year> are concerned, we are countless orders of magnitude ahead of 1000 units per second, or 1000MS.
|
||||
We therefore implement SleepNs as the much required higher resolution alternative to MS, regardless of if you can actually reach your target sleep
|
||||
period accurately.
|
15
Include/Aurora/Threading/README.md
Normal file
15
Include/Aurora/Threading/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
# AuThreading
|
||||
|
||||
|
||||
# Features
|
||||
* Thread synchronization primitives: condition ex, condition mutex, condition variable, critical section, event, mutex, rwlock, semaphore, and spinlock
|
||||
* All primitives include a trylock and a timed lock member
|
||||
* SleepNs function supporting higher resolution sleep available than in most APIs (^1)
|
||||
* Thread Object per native OS thread
|
||||
* Thread spawning with TLS handles and shutdown routines dispatched under pseudo fibers
|
||||
* Update thread affinity, throttle, name, and related attributes
|
||||
* Lock Util: AU_LOCK_GUARD(pointer/reference/shared ptr)
|
||||
* Lock Util: AU_TRY_LOCK_GUARD[...](pointer/reference/shared ptr)
|
||||
|
||||
|
||||
^1: README SleepNote.txt
|
1
Include/Aurora/Threading/Waitables/README.md
Normal file
1
Include/Aurora/Threading/Waitables/README.md
Normal file
@ -0,0 +1 @@
|
||||
Legacy sewage
|
Loading…
Reference in New Issue
Block a user