MDlib is a free system library for Palm OS. It contains the hash functions MD2, MD4 and MD5. A complete list of the functions currently provided by the latest version of MDLib can be found in the User's Manual.
This library was written as a system library (not in GLib format) for benefiting the full support from the latest version of Palm OS and the developing tools. The system library is supported by the Palm OS SysLib* API calls and is officially described in Palm OS FAQ Shared Libraries and Other Advanced Project Types. It is a runtime shared library which allows Palm applications or other shared libraries using the MDLib functions dynamically. This in terms saves the applications from keeping copies of the same code in their own code resources.
Another advantage of implementing those functions in the form of a shared library is to overcome two memory constraints of Palm OS namely the 32KB jump limit (CodeWarrior default model) and the code resource size limit.
Another type of shared libraries is called GLib, which is more user-friendly (or programmer-friendly) than the system library mentioned above and is also faster because no systraps are done when calling the GLib functions. However, as of this writing, neither CodeWarrior nor the latest version of PRC-Tools supports GLibs. Only PRC-Tools 0.5.0 and Michael Sokolov's 0.6.0 beta do so. This is also one of the reasons of implementing the library as a system library instead of a GLib.
If you just want to use the MDLib with your Palm programs, simply follow the steps below to download the files and learn how to use them.
We have only tested the library on the Palm V and Palm IIIc with Palm OS v3.3 and Palm OS v3.5 so far. So your feedbacks of running the library on other Palm devices are welcome. This library is in the public domain. You can distribute, copy or modify the code as you will. I would also appreciate any comments, bug reports and enhancements.
THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.