Skip to content

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.

License

goToMain/c-utils

Repository files navigation

c-utils

Build CI

This repository hosts some modular, drop-in, C utilities that you can copy into your project and and kick-start your work.

List of utils:

The following methods/utils are available in this repo:

  • arg_parser - Command line argument parsing helper
  • bus_server - A broadcasting IPC server for connected clients
  • channel - A Communication protocol (uart, msgq, tcp, etc.,) abstraction layer
  • circbuf - Generic, lock-free, circular/ring buffer implementation
  • disjoint_set - Disjoint-set library
  • event - Event notifier for multi-threaded applications
  • fdutils - Collection of operations that are commonly performed on unix file descriptors
  • file - Collection of methods that operate on directories, files and paths
  • filo - First-In Last-Out (stack) implementation
  • hashmap - Hashmap/dictionary/map library
  • list - Singly and doubly linked list data library
  • logger - Logging module for C applications with log-levels, colors, and log-to-file features
  • memory - Do-or-die helper methods that allow use of mallloc/calloc/strdups without NULL checks
  • procutils - Linux process manipulation utilities
  • queue - Last-in First-out (queue) implementation
  • serial - Library to interact with uart devices
  • slab - Poor man's slab allocator for dynamic memory without using heap
  • sockutils - Collection of methods that operate on sockets
  • stack - Stack implementation using linked lists
  • strlib - A string_t type and some common methods that operate on them
  • strutils - Commonly used C string utils
  • utils - Other ad-hoc methods that don't fit anywhere else
  • workqueue - Worker thread library that waits for a job to execute

How to use this repo?

You can clone this repo and copy individual files from src/ and link it to your project.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages