summaryrefslogtreecommitdiffstats
path: root/include/zix
AgeCommit message (Collapse)AuthorFilesLines
2023-12-15Fix nullability annotations for zix_canonical_path() and friendsDavid Robillard1-2/+2
These functions can (and likely will) fail due to filesystem operations failing, rather than a (rare) failed allocation, so they should be nullable so clang can find potential null dereferences.
2023-10-22Remove unnecessary forward declarationDavid Robillard1-2/+0
Looks like include-what-you-use has gotten smarter.
2023-09-21Remove unnecessary includes and forward declarationsDavid Robillard1-2/+0
According to include-what-you-use 0.20 (7301b1f) based on clang 16.0.6.
2023-05-11Improve reference documentationDavid Robillard5-126/+222
2023-05-10Add ZIX_STATIC_STRING()David Robillard1-1/+10
2023-02-06Simplify string view interfaceDavid Robillard1-17/+3
2023-02-04Fix clang build on WindowsDavid Robillard2-2/+2
2022-12-19Make allocator methods null-unspecifiedDavid Robillard1-6/+6
The required methods depend on the context (for example, a function might only need aligned_alloc and aligned_free), so unfortunately the nullability requirements can't be encoded in the type here.
2022-11-17Remove ZixBitsetDavid Robillard2-130/+0
2022-11-17Improve documentationDavid Robillard5-15/+64
2022-11-02Improve documentationDavid Robillard3-3/+15
2022-11-02Remove function_types.hDavid Robillard4-56/+38
2022-11-02Relax nullability constraints for Tree valuesDavid Robillard1-4/+4
2022-11-02Relax nullability constraints for BTree valuesDavid Robillard2-11/+13
These pointers are truly opaque, the library does not care about their value at all, and a zero can be stored successfully.
2022-11-02Improve documentation headingsDavid Robillard2-2/+2
2022-10-24Expose ring transaction API in shared libraryDavid Robillard1-0/+3
2022-10-23Add filesystem APIDavid Robillard4-1/+376
2022-10-23Add path APIDavid Robillard3-1/+255
2022-10-23Add string view APIDavid Robillard3-3/+113
2022-10-23Split reference documentation up into groups and add global headerDavid Robillard13-60/+125
The "global" header just provides a convenient place to define the group structure of the library. Applications are better off using the individual headers, but this one will work fine if you don't care about build times or precise dependencies.
2022-10-23Fix documentation markup issuesDavid Robillard1-2/+2
2022-10-23Add missing documentationDavid Robillard4-20/+21
2022-10-21Factor out public declaration scope markersDavid Robillard11-60/+32
2022-10-21Split up common headerDavid Robillard8-25/+57
2022-10-21Hide errno utility functionsDavid Robillard2-12/+0
2022-10-20Fix mismatched function typesDavid Robillard1-3/+0
2022-10-20Hide thread implementationDavid Robillard1-53/+12
2022-10-20Fix doc commentsDavid Robillard11-62/+64
2022-09-02Factor out POSIX-style return patternDavid Robillard1-0/+5
2022-09-01Simplify thread and semaphore status codesDavid Robillard3-4/+6
2022-08-19Simplify errno handlingDavid Robillard1-5/+6
2022-08-19Move sem implementation out of headerDavid Robillard2-185/+18
This avoids having platform conditionals in public headers, which causes build problems for dependants.
2022-08-18Add return status to zix_ring_mlock()David Robillard1-1/+1
2022-08-18Fix conversion warning on 32-bit ARMDavid Robillard1-2/+2
2022-08-18Add zix_sem_timed_wait()David Robillard1-1/+66
2022-08-18Fix semaphore error handlingDavid Robillard2-36/+72
Note that existing code which uses zix_sem_try_wait() may still compile against this change, but be incorrect!
2022-08-18Fix thread function attributes on WindowsDavid Robillard1-3/+2
2022-08-18Improve test coverageDavid Robillard1-6/+3
2022-08-18Fix or remove non-portable features in thread APIDavid Robillard1-18/+39
Thread function return values are inconsistent between nearly every threading API out there. So, just ignore them entirely, and provide a typedef and sentinel value so user code can be portable.
2022-08-18Factor out converting errno codes to ZixStatusDavid Robillard2-11/+6
2022-08-18Add transactional ring APIDavid Robillard1-0/+73
2022-08-12Document the thread semantics of every ring functionDavid Robillard1-15/+42
2022-06-28Fix strict release buildsDavid Robillard1-1/+1
2022-06-28Move zix_strerror to libraryDavid Robillard1-23/+6
2022-06-28Use uppercase integer literal suffixesDavid Robillard1-3/+3
I give in.
2022-06-28Fix whitespaceDavid Robillard4-11/+11
2022-06-28Fix build as C with MSVCDavid Robillard1-0/+2
2022-06-28Fix incorrect function attributesDavid Robillard2-4/+4
The ring accessors are pure, not const, because they read pointed-to data (the ring) that may change between invocations. The BTree iter comparison is const because it only compares the values passed as parameters (although they contain pointers, they aren't dereferenced).
2021-10-27Be explicit about operator precedenceDavid Robillard1-1/+1
2021-09-18Fix whitespaceDavid Robillard1-7/+5