README.devmap 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. Copyright (c) 2002-2004 MontaVista Software, Inc.
  2. All rights reserved.
  3. This software licensed under BSD license, the text of which follows:
  4. Redistribution and use in source and binary forms, with or without
  5. modification, are permitted provided that the following conditions are met:
  6. - Redistributions of source code must retain the above copyright notice,
  7. this list of conditions and the following disclaimer.
  8. - Redistributions in binary form must reproduce the above copyright notice,
  9. this list of conditions and the following disclaimer in the documentation
  10. and/or other materials provided with the distribution.
  11. - Neither the name of the MontaVista Software, Inc. nor the names of its
  12. contributors may be used to endorse or promote products derived from this
  13. software without specific prior written permission.
  14. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  15. AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  16. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17. ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  18. LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  19. CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  20. SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  21. INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  22. CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  23. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  24. THE POSSIBILITY OF SUCH DAMAGE.
  25. -------------------------------------------------------------------------------
  26. Files, purpose, and dependencies.
  27. -------------------------------------------------------------------------------
  28. *----------------*
  29. *- AIS INCLUDES -*
  30. *----------------*
  31. include/ais_amf.h
  32. -----------------
  33. Definitions for AMF interface.
  34. include/ais_ckpt.h
  35. ------------------
  36. Definitions for CKPT interface.
  37. include/ais_clm.h
  38. -----------------
  39. Definitions for CLM interface.
  40. include/ais_msg.h
  41. -----------------
  42. All the stuff that is used to specify how lib and executive communicate
  43. including message identifiers, message request data, and mesage response
  44. data.
  45. include/ais_types.h
  46. -------------------
  47. Base type definitions for AIS interface.
  48. include/list.h
  49. -------------
  50. Doubly linked list inline implementation.
  51. include/queue.h
  52. ---------------
  53. FIFO queue inline implementation.
  54. depends on list.
  55. include/sq.h
  56. ------------
  57. Sort queue where items are sorted according to a sequence number. Avoids
  58. Sort, hence, install of a new element takes is O(1). Inline implementation.
  59. depends on list.
  60. *---------------*
  61. * AIS LIBRARIES *
  62. *---------------*
  63. lib/amf.c
  64. ---------
  65. AMF user library linked into user application.
  66. lib/ckpt.c
  67. ----------
  68. CKPT user library linked into user application.
  69. lib/clm.c
  70. ---------
  71. CLM user library linked into user application.
  72. lib/util.c
  73. ----------
  74. Utility functions used by all libraries.
  75. *-----------------*
  76. *- AIS EXECUTIVE -*
  77. *-----------------*
  78. exec/amf.{h|c}
  79. -------------
  80. Server side implementation of Availability Management Framework (AMF API).
  81. exec/ckpt.{h|c}
  82. Server side implementation of Checkpointing (CKPT API).
  83. exec/clm.{h|c}
  84. Server side implementation of Cluster Membership (CLM API).
  85. exec/gmi.{h|c}
  86. --------------
  87. group messaging interface supporting reliable totally ordered group multicast
  88. using ring topology. Supports extended virtual synchrony delivery semantics
  89. with strong membership guarantees.
  90. depends on cglpoll.
  91. depends on queue.
  92. depends on sq.
  93. depends on list.
  94. exec/handlers.h
  95. ---------------
  96. Functional specification of a service that connects into AIS executive.
  97. If all functions are implemented, new services can easily be added.
  98. exec/main.{h|c}
  99. --------------
  100. Main dispatch functionality and global data types used to connect AIS
  101. services into one component.
  102. exec/mempool.{h|c}
  103. ------------------
  104. Memory pool implementation that supports preallocated memory blocks to
  105. avoid OOM errors.
  106. exec/parse.{h|c}
  107. ----------------
  108. Parsing functions for parsing /etc/ais/groups.conf and
  109. /etc/ais/network.conf into internally used data structures.
  110. exec/poll.{h|c}
  111. ---------------
  112. poll abstraction with support for nearly unlimited large poll handlers
  113. and timer handlers.
  114. depends on tlist.
  115. exec/print.{h|c}
  116. ----------------
  117. Logging implementation meant to replace syslog. syslog has nasty side
  118. effect of causing a signal every time a message is logged.
  119. exec/tlist.{h|c}
  120. -----------------
  121. Timer list interface for supporting timer addition, removal, expiry, and
  122. determination of timeout period left for next timer to expire.
  123. depends on list.
  124. exec/log/print.{h|c}
  125. --------------------
  126. Prototype implementation of logging to syslog without using syslog C
  127. library call.
  128. loc
  129. ---
  130. Counts the lines of code in the AIS implementation.