Bibliothèque CLIB

Emmanuel Delahaye

Présentation de la bibliothèque CLIB écrite en langage C.

Cette bibliothèque est le fruit de plus de 10 ans de développement d'applications embarquées dans le domaine des réseaux numériques.

Votre avis et vos suggestions sur cet article nous intéressent !

Alors après votre lecture, n'hésitez pas : Commentez ♪

- Titre : Bibliothèque CLIB

- Auteur : Emmanuel Delahaye

- Parution : 23 janvier 2008

- Mise à jour : 7 mars 2013

- Licence : Copyright ® 2008 Emmanuel Delahaye. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Présentation

- II. Contenu

I - Présentation

Cette bibliothèque est le fruit de plus de 10 ans de développement d'applications embarquées dans le domaine des réseaux numériques. Elle est écrite en C-ISO 90 (sauf mention contraire).

La bibliothèque est basée sur le répertoire clib. Il est recommandé de respecter l'arborescence suivante :

whatever/clib/ed/inc : .h, .itm

whatever/clib/ed/src : .c

et de définir un chemin de base pour le compilateur :

-Iwhatever/clib

II - Contenu

Module

Description

Fichiers

Compatibilité

Tests unitaires

ASCII

Conversions ASCII Texte. Suppression accents

ascii.c ascii.h ansi.itm

ISO-C 90

ASSERT

Macro ASSERT() avec sortie par exit()…
Évite les plantages des sorties par abort().

assert.c assert.h

ISO-C 90

BITS

Constantes et macros bits

bits.h

ISO-C 90

BUF

Gestion d'un bloc {adresse, longueur}

buf.c buf.h

ISO-C 90

BUFSZ

Gestion d'une chaîne C (terminée par un 0)

bufsz.c bufsz.h

ISO-C 90

BLK

Gestion d'un bloc générique (ADT).

blk.c blk.h blk_err.itm

ISO-C 90

BOOL

Constantes et type booléen

bool.h

ISO-C 90

C64

Compteur 64-bit

c64.c c64.h

ISO-C 90

CHRO

Mesure du temps d'exécution

chro.c chro.h chro_err.itm

ISO-C 90

CI

Interpréteur de commande basique (Command Interpretor)
Manuel utilisateur

ci.cci.h ci_err.itm

ISO-C 90

main.c app.h app.c

CNT

Compteurs

cnt.c cnt.h cnt_err.itm

ISO-C 90

CS8

Checksum 8-bit
Manuel utilisateur

cs8.c cs8.h

ISO-C 90

DATE

Gestion des dates

date.c date.h

ISO-C 90

DIR

Gestion des répertoires

dir.c dir.h

POSIX.1

main.c

FARR

Gestion flexible d'un tableau générique (ADT).

farr.c farr.h farr_err.itm

ISO-C 90

frmwrk.c main.h tfarr.c

FIC

Opérations sur les fichiers

fic.c fic.h fic_err.itm

ISO-C 90
(sauf 2 fonctions)

frmwrk.c main.h main.c

FIFO

Gestion de FIFO bytes

fifo.c fifo.h

ISO-C 90

FIFOX

Extension de FIFO (tests)

fifox.c fifox.h

ISO-C 90

FSM

Gestionnaire d'automates (Finite State Machine)
Manuel utilisateur

fsm.c fsm.h fsm_err.itm

ISO-C 90

FSTR

Gestion flexible d'une chaîne (ADT).

fstr.c fstr.h fstr_err.itm

ISO-C 90

frmwrk.c main.h tfstr.c

GFIFO

FIFO générique

gfifo.c gfifo.h

ISO-C 90

frmwrk.c main.h main.c

GLL

Gestion d'une liste doublement chaînée générique

gll.c gll.h gll_err.itm

ISO-C 90

tgll.c

HIS

Gestion d'un histogramme (texte)

his.c his.h his_err.itm

ISO-C 90

HTON

Interface Host / Network

hton.c hton.h

Selon la cible

test.c

INI

Gestionnaire de fichiers .INI (configuration)

ini.c ini.h ini_err.itm

ISO-C 90

IO

Gestionnaire d'entrées/sorties

io.c io.h

ISO-C 90

frmwrk.c main.h main.c

IPV4

Outils pour IP V4

ipv4.c ipv4.h

ISO-C 90

ITOA

Fonctions de conversion numérique -> texte

itoa.c itoa.h

ISO-C 90

MEM

Définitions diverses pour les outils de gestion de la mémoire

mem.h

ISO-C 90

MF

Algorithme d'acquisition de multitrame de signalisation G.704

mf.c mf.h

ISO-C 90

MUSR

Gestionnaire de partage d'une ressource (Multiuser)

musr.c musr.h musr_err.itm musr_tra.itm

ISO-C 90

OBJ

Gestionnaire d'objet générique

obj.c obj.h obj_err.itm

ISO-C 90

OPT

Gestionnaire de paramètres optionnels de la ligne de commande

opt.c opt.h opt_err.itm

ISO-C 90

PC_DBG

(ici, inactif, mais inclus par certains headers)

pc_dbg.h

ISO-C 90

PI

Définition de PI (M_PI)

pi.h

ISO-C 90
(flottants)

PRG

Générateur pseudoaléatoire

prg.c prg.h

ISO-C 90

PRT

Afficher le contenu d'une variable (debug)

prt.h

ISO-C 90

Q

Liste chaînée simple générique

q.c q.h

ISO-C 90

RA

Allocateur de ressource (Resource Allocator)

ra.c ra.h ra_err.itm

ISO-C 90

RA_DBG

Aide à la mise au point de RA

ra_dbg.c ra_dbg.h

ISO-C 90

RANDOM

reprise des fonctions random() et randomize() de Borland

random.h

ISO-C 90

REC

Assembleur de lignes de texte (réception texte)

rec.c rec.h

ISO-C 90

S

Gestionnaire de format S

s.c s.h srecord.itm

ISO-C 90

STAT

Statistiques simples (comptage, min, max)

stat.c stat.h

ISO-C 90

STR

Outils pour les chaînes de caractères

str.c str.h

ISO-C 90

SYS

Divers outils généraux

sys.c sys.h sys_ver.c sys_ver.h

ISO-C 90

SYSALLOC

Wrapper de malloc()/free(). Mise au point gestion mémoire
Mode d'emploi

sysalloc.c sysalloc.h

ISO-C 90

TIM

Timer

tim.c tim.h

ISO-C 90

ttim.c

TOK

Tokenizer de texte

tok.c tok.h tok_err.itm

ISO-C 90

ttok.c

TYPES

Définitions de types courants

types.h

ISO-C 90

VT100

Driver console VT-100 [Fred P. for J2K Library LGPL Licensed.]

vt100.c vt100.h

ISO-C 90