{"id":13420468,"url":"https://github.com/symisc/libcox","last_synced_at":"2025-03-15T06:33:18.320Z","repository":{"id":31227938,"uuid":"34789121","full_name":"symisc/libcox","owner":"symisc","description":"Cross Platform UNIX commands \u0026 System Calls","archived":true,"fork":false,"pushed_at":"2016-07-09T08:37:16.000Z","size":126,"stargazers_count":114,"open_issues_count":1,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-22T00:17:20.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://libcox.symisc.net","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/symisc.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}},"created_at":"2015-04-29T11:05:14.000Z","updated_at":"2024-04-24T01:30:44.000Z","dependencies_parsed_at":"2022-09-09T03:40:09.050Z","dependency_job_id":null,"html_url":"https://github.com/symisc/libcox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symisc%2Flibcox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symisc%2Flibcox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symisc%2Flibcox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symisc%2Flibcox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/symisc","download_url":"https://codeload.github.com/symisc/libcox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221553285,"owners_count":16841998,"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-07-30T22:01:34.288Z","updated_at":"2024-10-26T16:30:40.910Z","avatar_url":"https://github.com/symisc.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"## Symisc Libcox - Cross Platform System Calls \u0026 Utilities\n[libcox.symisc.net](http://libcox.symisc.net) Version [1.7.0](http://libcox.symisc.net/downloads.html)\n\n*Note:* **For production build, please rely only on the amalgamation build-release available at the libcox download page [here](http://libcox.symisc.net/downloads.html).**\n\nLibcox is an ANSI-C Library which permit cross platform system calls and standard utilities among different operating systems via a system of [commands](http://libcox.symisc.net/cmd.html) similar to the standard UNIX one and backed by the native OS API (Refer to [Libcox architecture](http://libcox.symisc.net/arch.html)).\n\nThink of Libcox as an embedded shell to your application (without any external process execution) where you can perform your traditional system tasks such as listing directory entries, gathering file informations, interacting with the OS regardless of the underlying operating system. \n\n*Libcox features includes:*\n\n* Cross platform system calls \u0026 utilities backed by native host OS API.\n* Built with over 145 [commands](http://libcox.symisc.net/cmd.html) similar to the standard UNIX one.\n* Libcox is [built-up on layers](http://libcox.symisc.net/arch.html) using a VFS approach.\n* Libcox is a Self-Contained ANSI C library without dependency.\n* Thread safe and full re-entrant.\n* Simple, Clean and easy to use API.\n* Highly available online support.\n\n###Libcox Programming Interfaces\n\n Here is what you do to start experimenting with Libcox without having to do a lot of tedious reading and configuration.\n  Get a copy of the last public release of Libcox. Visit the [download page](http://libcox.symisc.net/downloads.html) for additional information. The following are Some C/C++ samples to start experimenting with:\n  * [libcox_intro.c](http://libcox.symisc.net/libcox_intro.c): Introduction to the command execution ([uname](http://libcox.symisc.net/cmd/uname.html), [getcwd](http://libcox.symisc.net/cmd/getcwd.html), [cd](http://libcox.symisc.net/cmd/cd.html), [mkdir](http://libcox.symisc.net/cmd/mkdir.html), etc.) API.\n  * [libcox_array.c](http://libcox.symisc.net/libcox_arrays.c): Working with arrays and the commands that deal with them ([ls](http://libcox.symisc.net/cmd/ls.html), [stat](http://libcox.symisc.net/cmd/stat.html), [glob](http://libcox.symisc.net/cmd/glob.html), etc.).\n  * [libcox_shell.c](http://libcox.symisc.net/libcox_shell.c): Libcox shell which let you execute [built-in commands](http://libcox.symisc.net/cmd.html) from your CLI.\n  \n####Usefull Links to start with\n\n* [Libcox in 3 Minutes or Less](http://libcox.symisc.net/intro.html)\n* [Built-in Commands](http://libcox.symisc.net/cmd.html)\n* [The Libcox Architecture](http://libcox.symisc.net/arch.html)\n* [Libcox API Introduction](http://libcox.symisc.net/api_intro.html)\n* [C/C++ API Reference Guide](http://libcox.symisc.net/docs.html)\n* [Download Page](http://libcox.symisc.net/downloads.html)\n* [Licensing Page](http://libcox.symisc.net/licensing.html)\n* [Online Support](http://libcox.symisc.net/support.html)\n\nBelow is a simple C program that demonstrates how to use the Command Execution C/C++ interface to Libcox. \n\n```C\n#include \"libcox.h\"\nint main(int argc, char **argv){\n\t\t\n\t\tlibcox *pHandle;            /* Libcox handle */\n\t\tlibcox_value *pResult;     /* Return value of the last executed command */\n\t\t\n\t\tconst char *zValue;           /* Cast the 'libcox_value' to a string */\n\t\tint rc;\n\t\n\t\t/* Obtain a new libcox handle*/\n\t\trc = libcox_init(\u0026pHandle);\n\t\tif( rc != LIBCOX_OK ){\n\t\t\t/* Handle error */\n\t\t\treturn -1;\n\t\t}\n\n\t\t/* Execute the simplest command - uname: Get the underlying OS info (name, version, etc.) */\n\t\trc = libcox_exec(pHandle,\u0026pResult,\"uname\",-1);\n\t\tif( rc != LIBCOX_OK ){ /* Handle error */\t}\n\t\t\n\t\t\n\t\t/* Get as a string representation and output the result */\n\t\tzValue = libcox_value_to_string(pResult,0);\n\t\t/* Output */\n\t\tprintf(\"OS Info: %s\\n\\n\",zValue); /* Should output something similar to: Windows 8.1 x64 localhost Build 85746... */\n\n\t\t/* Destroy the libcox_value */\n\t\tlibcox_exec_result_destroy(pHandle,pResult);\n\t\t\n\t\t/* Finally, release the libcox handle */\n\t\tlibcox_release(pHandle);\n\t}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymisc%2Flibcox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsymisc%2Flibcox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymisc%2Flibcox/lists"}