{"id":28667895,"url":"https://github.com/pzaino/risc-os-corelib","last_synced_at":"2025-06-13T16:11:23.307Z","repository":{"id":293762038,"uuid":"983863608","full_name":"pzaino/risc-os-corelib","owner":"pzaino","description":"A POSIX-Like C library for RISC OS and DDE (a very old project of mine that I am uploading to GitHub for who may need it). CoreLib is foundamentaly the implementation of the RISC_OSLib in a POSIX-Like format. Nothing special.","archived":false,"fork":false,"pushed_at":"2025-06-06T03:50:11.000Z","size":245,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T04:31:08.430Z","etag":null,"topics":["ansi-c","c","c-library","c99","c99-api","posix-library","programming","risc-os","riscos"],"latest_commit_sha":null,"homepage":"https://riscoscommunity.org/projects/corelib/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pzaino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T03:17:39.000Z","updated_at":"2025-06-06T03:50:13.000Z","dependencies_parsed_at":"2025-05-17T02:34:12.924Z","dependency_job_id":"34e78cbd-5e12-4406-a032-db985d2fa878","html_url":"https://github.com/pzaino/risc-os-corelib","commit_stats":null,"previous_names":["pzaino/libos","pzaino/risc-os-corelib"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pzaino/risc-os-corelib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pzaino%2Frisc-os-corelib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pzaino%2Frisc-os-corelib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pzaino%2Frisc-os-corelib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pzaino%2Frisc-os-corelib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pzaino","download_url":"https://codeload.github.com/pzaino/risc-os-corelib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pzaino%2Frisc-os-corelib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259677364,"owners_count":22894678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi-c","c","c-library","c99","c99-api","posix-library","programming","risc-os","riscos"],"created_at":"2025-06-13T16:11:22.585Z","updated_at":"2025-06-13T16:11:23.299Z","avatar_url":"https://github.com/pzaino.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CoreLib\n\n**WORK IN PROGRESS**  \nThis library is currently being updated from its original Acorn Archimedes/RPC-era implementation to support RISC OS 5 and the modern DDE toolset. Please be patient while this work is in progress. If you'd like to contribute, feel free to get in touch.\n\nThis is a legacy library I originally wrote between 1996 and 1998 for use on Acorn machines running RISC OS. I'm now modernising it to support RISC OS 5, Shared Makefiles, and the newer `_swix()` syntax.\n\nCoreLib is designed to make the RISC OS API feel more like a POSIX-compatible C library. The goal is to improve developer experience by offering:\n\n- A more intuitive interface for developers familiar with Unix-style programming.\n- Easier porting of Unix software to RISC OS.\n- Built-in validation of argument types and values to reduce crashes due to incorrect SWI usage.\n- A few additional helper functions not present in the native RISC OS API.\n\nCoreLib is not intended to replace the RISC OS API. It's a wrapper — a safety layer that enhances usability while still allowing you to call native SWIs directly when needed.\n\nIt's not a \"life-changing\" library — but it does make writing C programs for RISC OS faster, safer, and more enjoyable.\n\nOne practical benefit is that you can often consult standard Linux `man` pages for documentation. CoreLib adopts POSIX-style function names (prefixed with `os_`) and behavior, but with added argument validation for RISC OS safety. The library is not yet complete, but already wraps most commonly used functionality.\n\n**Important note:** This library is **not related to GCC's UnixLib**. I originally created it for use with Acorn/Castle/ROOL's DDE (and CLib). At the time, OSLib and RISC_OSLib were still prone to errors, and on RISC OS a simple mistake in a SWI call can crash or destabilize the system.  \nUnixLib and GCC cover a wider range of POSIX functions than CoreLib — but the purpose here is different. CoreLib uses a POSIX-like API to make things more intuitive, while ensuring safety and compatibility.\n\n## License\n\nThis library is released under the MPL 2.0 license. See the [LICENSE](LICENSE) file for full terms.\n\n## Building\n\nTo build the library, make sure your RISC OS development environment is correctly set up.  \nFrom the RISC OS Desktop:\n\n1. Open the directory containing this library.\n2. Double-click the file named `MkDDE`.\n\nTo clean the build and remove generated files, double-click on `MkDDEClean`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpzaino%2Frisc-os-corelib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpzaino%2Frisc-os-corelib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpzaino%2Frisc-os-corelib/lists"}