m4_comment([$Id: namespace.so,v 10.22 2004/03/08 15:09:20 bostic Exp $]) m4_ref_title(Programmer Notes, Name spaces, m4_db library @name spaces, program/scope, program/ram) m4_section(C Language Name Space) m4_p([dnl The m4_db library is careful to avoid C language programmer name spaces, but there are a few potential areas for concern, mostly in the m4_db include file db.h. The db.h include file defines a number of types and strings. Where possible, all of these types and strings are prefixed with "DB_" or "db_". There are a few notable exceptions.]) m4_p([dnl The m4_db library uses a macro named "__P" to configure for systems that do not provide ANSI C function prototypes. This could potentially collide with other systems using a "__P" macro for similar or different purposes.]) m4_p([dnl The m4_db library needs information about specifically sized types for each architecture. If they are not provided by the system, they are typedef'd in the db.h include file. The types that may be typedef'd by db.h include the following: u_int8_t, int16_t, u_int16_t, int32_t, u_int32_t, u_char, u_short, u_int, and u_long.]) m4_p([dnl The m4_db library declares a few external routines. All these routines are prefixed with the strings "db_". All internal m4_db routines are prefixed with the strings "__XXX_", where "XXX" is the subsystem prefix (for example, "__db_XXX_" and "__txn_XXX_").]) m4_section(Filesystem Name Space) m4_p([dnl m4_db environments create or use some number of files in environment home directories. These files are named m4_ref(DB_CONFIG), "log.NNNNN" (for example, log.0000000003, where the number of digits following the dot is unspecified), or with the string prefix "__db" (for example, __db.001). Applications should never create files or databases in database environment home directories with names beginning with the characters "log" or "__db".]) m4_p([dnl In some cases, applications may choose to remove m4_db files as part of their cleanup procedures, using system utilities instead of m4_db interfaces (for example, using the UNIX rm utility instead of the m4_refT(dbenv_remove)). This is not a problem, as long as applications limit themselves to removing only files named "__db.###", where "###" are the digits 0 through 9. Applications should never remove any files named with the prefix "__db" or "log", other than "__db.###" files.]) m4_page_footer