Skip to content

Archive source code layot and dependencies

jfriesse edited this page Sep 20, 2012 · 1 revision

All files, purpose, and the dependencies

This document describes most of the files in the openais source package.

The top level directory

File Description
loc Counts the lines of code in the AIS implementation

####The include directory

File Description
saAmf.h Definitions for AMF interface.
saCkpt.h Definitions for CKPT interface.
saClm.h Definitions for CLM interface.
saAmf.h Definitions for the AMF interface.
saEvt.h Defintiions for the EVT interface.
saLck.h Definitions for the LCK interface.
cfg.h Definitions for the CFG interface.
cpg.h Definitions for the CPG interface.
evs.h Definitions for the EVS interface.
ipc_amf.h IPC interface between client and server for AMF service.
ipc_cfg.h IPC interface between client and server for CFG service.
ipc_ckpt.h IPC interface between client and server for CKPT service.
ipc_clm.h IPC interface between client and server for CLM service.
ipc_cpg.h IPC interface between client and server for CPG service.
ipc_evs.h IPC interface between client and server for EVS service.
ipc_evt.h IPC interface between client and server for EVT service.
ipc_gen.h IPC interface for generic operations.
ipc_lck.h IPC interface between client and server for LCK service.
ipc_msg.h IPC interface between client and server for MSG service.
hdb.h Handle database implementation.
list.h Linked list implementation.
swab.h Byte swapping implementation.
queue.h FIFO queue implementation.
sq.h Sort queue where items are sorted according to a sequence number. Avoids sort, hence, install of a new element takes is O(1). Inline implementation.

The lib directory

File Description
amf.c AMF user library linked into user application.
cfg.c CFG user library linked into user application.
ckpt.c CKPT user library linked into user application.
clm.c CLM user library linked into user application.
cpg.c CPG user library linked into user application.
evs.c EVS user library linked into user application.
evt.c EVT user library linked into user application.
lck.c LCK user library linked into user application.
msg.c MSG user library linked into user application.
ckpt.c CKPT user library linked into user application.
util.c Utility functions used by all libraries.

The exec directory

File Description
aisparser.{h,c} Parser plugin for default configuration file format.
aispoll.{h,c} Poll abstraction interface.
amfapp.c AMF application handling.
amfcluster.c AMF cluster handling.
amfcomp.c AMF component level handling.
amf.h Defines all AMF symbol names.
amfnode.c AMF node level handling.
amfsg.c AMF service group handling.
amfsi.c AMF Service instance handling.
amfsu.c AMF service unit handling.
amfutil.c AMF utility functions.
cfg.c Server side implementation of CFG service which is used to display redundant ring status and reenabling redundant rings.
ckpt.c Server side implementation of Checkpointing (CKPT API).
clm.c Server side implementation of Cluster Membership (CLM API).
cpg.c Server side implementation of closed procss groups (CPG API).
crypto.{c,h} Cryptography functions used by openais.
evs.c Server side implementation of extended virtual synchrony passthrough (EVS API).
evt.c Server side implementation of Event Service (EVT API).
ipc.{c,h} All IPC operations used by openais.
jhash.h A hash routine.
keygen.c Secret key generator used by openais encryption tools.
lck.c Server side implementation of the distributed lock service (LCK API).
main.{c,h} Main function which connects all components together.
mainconfig.{c,h} Reads main configuration that is set in the configuration parser.
mempool.{c,h} Currently unused.
msg.c Server side implementation of message service (MSG API).
objdb.{c,h} Object database used to configure services.
openais-instantiate.c instantiates a component by forking and exec'ing it and writing its pid to a pid file.
print.{c,h} Non-blocking thread-based logging service with overflow protection.
service.{c,h} Service handling routines including the default service handler description.
sync.{c,h} The synchronization service implementation.
timer.{c,h} Threaded based timer service.
tlist.h Timer list used to expire timers.
totemconfig.{c,h} The totem configuration configurator from data parsed with aisparser in the configuration file.
totem.h General definitions for the totem protocol used by the totem stack.
totemip.{c,h} IP handling functions for totem - lowest on stack.
totemrrp.{c,h} The totem multi ring protocool and currently unimplemented. Between totemsrp and totempg.
totemnet.{c,h} Network handling functions for totem - between totemip and totemrrp.
totempg.{c,h} Process groups interface which is used by all applications - highest on stack.
totemrrp.{c,h} Redundant ring functions for totem - between totemnet and totemsrp.
util.{c,h} Utility functions used by openais executive.
version.h Defines build version.
vsf.h Virtual Synchrony plugin API.
vsf_ykd.c Virtual Synchrony YKD Dynamic Linear Voting algorithm.
wthread.{c,h} Worker threads API.

Clone this wiki locally