{"id":51030846,"url":"https://github.com/osdp-dev/c-utils","last_synced_at":"2026-06-22T00:06:51.922Z","repository":{"id":38441865,"uuid":"143581419","full_name":"osdp-dev/c-utils","owner":"osdp-dev","description":"Tiny, modular, drop-in, library of some most commonly used utility methods for C (embedded) applications. Intended to be used as a git-submodule inside your projects to kickstart development. See https://c-utils.gotomain.io for more details.","archived":false,"fork":false,"pushed_at":"2026-05-21T20:39:29.000Z","size":1673,"stargazers_count":167,"open_issues_count":0,"forks_count":81,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-06-21T11:29:22.757Z","etag":null,"topics":["c","embeded","helper-functions","helpers-library","library","utility","utility-library"],"latest_commit_sha":null,"homepage":"https://gotomain.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osdp-dev.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-05T03:52:56.000Z","updated_at":"2026-06-20T10:00:58.000Z","dependencies_parsed_at":"2023-02-10T09:31:15.328Z","dependency_job_id":"6d2d393e-1464-464f-9f59-d4279b15e110","html_url":"https://github.com/osdp-dev/c-utils","commit_stats":null,"previous_names":["osdp-dev/c-utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/osdp-dev/c-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdp-dev%2Fc-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdp-dev%2Fc-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdp-dev%2Fc-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdp-dev%2Fc-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osdp-dev","download_url":"https://codeload.github.com/osdp-dev/c-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osdp-dev%2Fc-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34629804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c","embeded","helper-functions","helpers-library","library","utility","utility-library"],"created_at":"2026-06-22T00:06:51.323Z","updated_at":"2026-06-22T00:06:51.916Z","avatar_url":"https://github.com/osdp-dev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# c-utils\n[![Build CI][1]][2]\n\nThis repository hosts some modular, drop-in, C utilities that you can copy into\nyour project and and kick-start your work.\n\n## List of utils:\n\nThe following methods/utils are available in this repo:\n\n  - **arg_parser** - Command line argument parsing helper\n  - **bus_server** - A broadcasting IPC server for connected clients\n  - **channel** - A Communication protocol (uart, msgq, tcp, etc.,) abstraction layer\n  - **circbuf** - Generic, lock-free, circular/ring buffer implementation\n  - **disjoint_set** - Disjoint-set library\n  - **event** - Event notifier for multi-threaded applications\n  - **fdutils** - Collection of operations that are commonly performed on unix file descriptors\n  - **file** - Collection of methods that operate on directories, files and paths\n  - **filo** - First-In Last-Out (stack) implementation\n  - **hashmap** - Hashmap/dictionary/map library\n  - **list** - Singly and doubly linked list data library\n  - **logger** - Logging module for C applications with log-levels, colors, and log-to-file features\n  - **memory** - Do-or-die helper methods that allow use of mallloc/calloc/strdups without NULL checks\n  - **procutils** - Linux process manipulation utilities\n  - **queue** - Last-in First-out (queue) implementation\n  - **serial** - Library to interact with uart devices\n  - **slab** - Poor man's slab allocator for dynamic memory without using heap\n  - **sockutils** - Collection of methods that operate on sockets\n  - **stack** - Stack implementation using linked lists\n  - **strlib** - A string_t type and some common methods that operate on them\n  - **strutils** - Commonly used C string utils\n  - **utils** - Other ad-hoc methods that don't fit anywhere else\n  - **workqueue** - Worker thread library that waits for a job to execute\n\n## How to use this repo?\n\nYou can clone this repo and copy individual files from src/ and link it to your\nproject.\n\n[1]: https://github.com/embedjournal/c-utils/workflows/Build%20CI/badge.svg\n[2]: https://github.com/embedjournal/c-utils/actions?query=workflow%3A%22Build+CI%22\n[3]: https://embedjournal.com/implementing-circular-buffer-embedded-c/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosdp-dev%2Fc-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosdp-dev%2Fc-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosdp-dev%2Fc-utils/lists"}