{"id":13730337,"url":"https://github.com/jtsiomb/assfile","last_synced_at":"2025-03-21T14:31:49.791Z","repository":{"id":148935325,"uuid":"150690742","full_name":"jtsiomb/assfile","owner":"jtsiomb","description":"C library for accessing assets (read-only data) from many different sources, with an fopen/fread-like API.","archived":false,"fork":false,"pushed_at":"2023-03-28T23:47:21.000Z","size":51,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T02:22:09.988Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtsiomb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2018-09-28T05:37:12.000Z","updated_at":"2024-10-29T17:09:06.000Z","dependencies_parsed_at":"2023-09-02T05:33:43.526Z","dependency_job_id":null,"html_url":"https://github.com/jtsiomb/assfile","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fassfile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fassfile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fassfile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Fassfile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtsiomb","download_url":"https://codeload.github.com/jtsiomb/assfile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244815253,"owners_count":20514919,"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":[],"created_at":"2024-08-03T02:01:13.477Z","updated_at":"2025-03-21T14:31:49.785Z","avatar_url":"https://github.com/jtsiomb.png","language":"C","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"assfile\n======\n\nAbout\n-----\nAssman is a library for accessing assets (read only access to data files) in\nmultiple ways through a simple file I/O interface designed as a drop-in\nreplacement to C fopen/fread/etc I/O calls. In most cases you can just prefix\nall your I/O calls with `ass_` and change `FILE*` to `ass_file*`, and it will\njust work.\n\nThe access modules provided are:\n - `mod_path`: maps an arbitrary filesystem path to your chosen prefix. For\n   instance, after calling `ass_add_path(\"data\", \"/usr/share/mygame\")` you can\n   access the data file `/usr/share/mygame/foo.png` by calling\n   `ass_fopen(\"data/foo.png\", \"rb\")`.\n\n - `mod_archive`: mounts the contents of an archive to your chosen prefix. For\n   example, after calling `ass_add_archive(\"data\", \"data.tar\")` you can access\n   the contents of the tarball as if they where contents of a virtual `data`\n   directory.\n\n - `mod_url`: maps a url prefix to your chosen prefix. For example, after\n   calling `ass_add_url(\"data\", \"http://mydomain/myapp/data\")` you can access\n   `http://mydomain/myapp/data/foo.png` by calling\n   `ass_fopen(\"data/foo.png\", \"rb\")`.\n\nLicense\n-------\nCopyright (C) 2018 John Tsiombikas \u003cnuclear@member.fsf.org\u003e\n\nThe assfile library is free software. Feel free to use, modify, and/or\nredistribute it under the terms of the GNU Lesser General Public License\nversion 3, or at your option any later version published by the Free Software\nFoundation. See COPYING and COPYING.LESSER for details.\n\nBuild\n-----\nTo build and install assfile on UNIX, run the usual:\n\n    ./configure\n    make\n    make install\n\nThe `mod_url` module depends on `libcurl` and uses POSIX threads. If you don't\nwant that dependency, you can disable `mod_url` by passing `--disable-url` to\n`configure`.\n\nSee `./configure --help` for a complete list of build-time options.\n\nTo cross-compile for windows with mingw-w64, try the following incantation:\n\n    ./configure --prefix=/usr/i686-w64-mingw32\n    make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar sys=mingw\n    make install sys=mingw\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Fassfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtsiomb%2Fassfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Fassfile/lists"}