{"id":20269950,"url":"https://github.com/teliosdev/excom","last_synced_at":"2026-05-10T01:02:21.194Z","repository":{"id":13322641,"uuid":"16009423","full_name":"teliosdev/excom","owner":"teliosdev","description":"Chat implementation.","archived":false,"fork":false,"pushed_at":"2018-11-20T02:16:36.000Z","size":212,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-14T05:35:06.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/redjazz96/excom","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teliosdev.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":"2014-01-17T19:26:07.000Z","updated_at":"2017-04-18T06:47:52.000Z","dependencies_parsed_at":"2022-09-11T22:51:12.026Z","dependency_job_id":null,"html_url":"https://github.com/teliosdev/excom","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/teliosdev%2Fexcom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teliosdev%2Fexcom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teliosdev%2Fexcom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teliosdev%2Fexcom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teliosdev","download_url":"https://codeload.github.com/teliosdev/excom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241753145,"owners_count":20014252,"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-11-14T12:28:09.868Z","updated_at":"2026-05-10T01:02:19.059Z","avatar_url":"https://github.com/teliosdev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# excom [![Build Status](https://travis-ci.org/medcat/excom.png?branch=master)](https://travis-ci.org/medcat/excom)\n\nAn alternative to current chat implementations.\n\n## Compiling\n\nBefore the project can be compiled, the `configure` script must be\nrun.  It generates a header file that is used by the project.\n\nThe project uses [libtoml](https://github.com/ajwans/libtoml), which\nis under the 3 clause BSD license.\n\nThis project uses `make`.  Sorry, I'm comfortable with `make`, and I\nknow how to use it.  However, building excom without make shouldn't\nbe that difficult.  Excom requires the c99 standard, excluding\n`stdbool.h` (it will use it if it can).  Some defines and how you can\nuse them:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eDefine\u003c/th\u003e\n    \u003cth\u003ePossible Values\u003c/th\u003e\n    \u003cth\u003eMeaning\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003eEXCOM_NO_STDBOOL\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ci\u003enone\u003c/i\u003e\u003c/td\u003e\n    \u003ctd\u003eIf this is defined, excom will use its own stdbool implementation.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003eEXCOM_INCLUDE_SERVER_CLIENT\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ci\u003enone\u003c/i\u003e\u003c/td\u003e\n    \u003ctd\u003eIf this is defined, excom will include a very basic implementation of a server that can handle reading and writing to clients.  It will not be able to handle anything more than that, though.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003eEXCOM_EPOLL\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ci\u003enone\u003c/i\u003e\u003c/td\u003e\n    \u003ctd\u003eIf this is defined, excom will try to use epoll.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003eEXCOM_KQUEUE\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ci\u003enone\u003c/i\u003e\u003c/td\u003e\n    \u003ctd\u003eIf this is defined, excom will try to use kqueue.  If it does not exist on the system, the compiler will error with \u003ccode\u003efatal error: sys/event.h: No such file or directory.\u003c/code\u003e \u003ci\u003eNote: the support for kqueue in excom is still a little shakey, since I cannot test it in my current environment.\u003c/i\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nAfter you've defined what you need to, the main body of the code\nshould be able to be compiled.  The Makefile compiles it into a\nstatic library, but you can compile it into a shared object if you so\nwish.\n\n## Documentation\n\nOne of the primary goals of this library is to have 100%\ndocumentation - every function, every define, every struct.  This is\nto ensure that the code is understandable as to how to use it.  The\ncode comes with a Doxyfile to allow doxygen to generate a site for the\ndocumentation.\n\n## Usage\n\nSadly, in the current state, the library can't really be used :(\n\nBut we're getting there!\n\n## Contribution\n\nYou wanna contribute?  Awesome!\n\n1. Fork it (\u003chttp://github.com/medcat/excom/fork\u003e)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteliosdev%2Fexcom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteliosdev%2Fexcom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteliosdev%2Fexcom/lists"}