/gear-lib

Gear-Lib, C library for IOT Embedded Multimedia and Network

Primary LanguageCMIT LicenseMIT

Gear-Lib

English | 简体中文

Build Release License

This is a collection of basic libraries.

  • All are written in POSIX C, aim to used compatibility on linux, windows, android, ios.
  • Aim to reuse for IOT, embedded and network service development

Data Struct

  • libdict: Hash key-value dictonary library
  • libhash: Hash key-value library based on hlist from kernel
  • libringbuffer:
  • libqueue: queue library, support memory hook
  • librbtree: comes from linux kernel rbtree.
  • libsort:
  • libvector:
  • libmacro: Basic Macro define library, include kernel list and so on
  • libdarray: Dynamic array

Network

  • librtsp: Real Time Streaming Protocol server for ipcamera or NVR
  • librtmpc: Real Time Messaging Protocol client for liveshow
  • libskt: socket warpper api for easily use
  • librpc: Remote Procedure Call library
  • libipc: Inter-Process Communication, support mqueue/netlink/shm
  • libp2p: High level p2p punch hole library, easy API to use
  • libhomekit: Apple homekit protocol

Async

  • libgevent: Reactor event, like libevent
  • libthread: Thread wrapper
  • libworkq: Work queue in userspace

I/O

  • libbase64: Base64/32 encode/decode
  • libconfig: Support ini/json
  • liblog: Support console/file/rsyslog
  • libfile: File operations
  • libstrex:
  • libsubmask: ip addr transform

Multi-Media

  • libuvc: USB video class V4L2/dshow
  • libmp4parser: MP4 format parser
  • libjpeg-ex:
  • libmedia-io: audio/video frame/packet define

OS Abstraction Layer

  • libposix4win: posix adapter for Windows
  • libposix4rtos: posix adapter for FreeRTOS

Misc

  • libdebug: Help to trace crash like gdb
  • libhal: hardware Abstraction Layer
  • libplugin: Dynamic link plugin
  • libtime: Time wrapper
  • libfsm: Finite State Machine

How To Build

Please refer to INSTALL.md file for detailed information.

License

Please refer to the LICENSE file for detailed information.

Contacts