SRC\HELPERS contains lots of useful code which I have developed
over time. This code is independent of XWorkplace and could be used
with any OS/2 program. Some of the code is for PM programs, some can be used
with text-mode programs also. Consider this a general OS/2 programming
library.
Note: XWorkplace's source code does not contain the helpers source code.
Instead, during the build process, the XWorkplace makefiles branch over to the
"xwphelpers" source tree, which is also on the Netlabs CVS server. You will need to
set the HELPERS_BASE environment variable
to point to the "xwphelpers" source tree for this to work.
In detail, we have:
acpih.* helpers for accessing ACPI.
apmh.* helpers for accessing APM.
apps.* program helpers (environments, application start).
animate.* contains some animation code.
cctl_*.* custom common controls.
cnrh.* Container helper functions (new with V0.9.0,
partly moved from winh.*).
comctl.* Various window procedures.
configsys.* contains helper functions for parsing and changing lines
in the CONFIG.SYS file.
datetime.* contains various date and time helper functions.
debug.* parses executables and SYM files for debugging
information; used by except.c (below). Introduced with V0.84,
moved to SRC\HELPERS\ with V0.9.0.
dialog.* contains PM helper functions to create and
auto-format dialogs from control arrays in memory.
dosh.* and dosh2.* Control Program helper functions.
eah.* contains helper functions to handle
extended attributes.
encodings.* character encoding support. Handles all kinds
of legacy codepages (including most OS/2 codepages)
and Unicode in the form of UTF-8 and translations
between then.
except.* contains generic code for implementing powerful
exception handlers. This was introduced with V0.84 and has been moved
to SRC\HELPERS\ with V0.9.0. The code has been straightened
out to be independent of XWorkplace with the use of exception "plug-ins."
See "XWorkplace exception handling" for details.
exeh.* contains code to load and parse executable headers
and resources.
gpih.* GPI (graphics) helper functions.
lan.* LAN helpers.
level.* contains helper functions for querying SYSLEVEL files.
linklist.* contains helper functions to handle linked lists.
map_vac.* map file parser for the VAC 3.08 format.
math.* some math helpers.
memdebug.* memory debugging helpers.
memdebug_win.* implementation of the PM heap debugging window.
nls.* contains a few helpers for National Language Support (NLS).
nlscache.* contains a few helpers for National Language Support (NLS).
prfh.* is new with V0.82 and contains Profile (INI)
helper functions.
prfh2.* contains Profile (INI) helper functions.
procstat.* modified Kai Uwe Rommel's DosQProc() functions.
regex.* extended regular expressions.
resh.* contains resource helper functions.
sem.* implements fast mutex semaphores a la Win32
critical sections.
shapewin.* contains the ShapeWindows library. See the top of
shapewin.c for details (new with V0.85).
stringh.* contains helper functions to handle strings/texts
syssound.* has code for managing system sound data and
sound schemes.
textv_html.* this code converts HTML code to escape sequences for the
XTextView control (textview.c).
textview.* all-new XTextView control as well as device-independent
text formatting and printing.
threads.* contains helper functions to synchronize threads.
timer.* XTimers, which can be used to avoid excessive PM
timer usage.
tmsgfile.* has Christian Langanke's new .TMF
(text message file) handling to get rid of those ugly .MSG files.
tree.* contains helper functions for maintaining 'Red-Black' balanced
binary trees.
vcard.* replacement profile (INI) functions
winh.* Win (PM) helper functions.
wphandle.* Henk Kelder's WPS handles functions.
xml.* XML document handling.
xmldefs.* this file is just for xdoc and contains glossary items for
XML. It is never compiled.
xmlparse.* contains the API of the expat XML parser 1.95.2.
xmlrole.* and xmltok*.* expat XML parser.
xprf.* contains replacement profile (INI) functions.
xprf2.* copy-profile functions which use the replacement
profile functions in xprf.c.
xstring.* string functions with memory management.