Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// atoms.h: Atom handling
//
//
#ifndef __ATOMS_H__
#define __ATOMS_H__
///////////////////////////////////////////////////// DEFINES
// Atom Table
//
// We have our own atoms for two reasons:
//
// 1) Gives us greater flexibility for partial string searches,
// in-place string replacements, and table resize
// 2) We don't know yet if Windows' local atom tables are sharable
// in separate instances in Win32.
//
BOOL PUBLIC Atom_Init (void); void PUBLIC Atom_Term (void); int PUBLIC Atom_Add (LPCTSTR psz); UINT PUBLIC Atom_AddRef(int atom); void PUBLIC Atom_Delete (int atom); BOOL PUBLIC Atom_Replace (int atom, LPCTSTR pszNew); int PUBLIC Atom_Find (LPCTSTR psz); LPCTSTR PUBLIC Atom_GetName (int atom); BOOL PUBLIC Atom_IsPartialMatch(int atom1, int atom2); BOOL PUBLIC Atom_Translate(int atomOld, int atomNew);
#define Atom_IsChildOf(atom1, atom2) Atom_IsPartialMatch(atom1, atom2)
#define Atom_IsParentOf(atom1, atom2) Atom_IsPartialMatch(atom2, atom1)
#define ATOM_ERR (-1)
#define Atom_IsValid(atom) (ATOM_ERR != (atom) && 0 != (atom))
#ifdef DEBUG
void PUBLIC Atom_ValidateFn(int atom); void PUBLIC Atom_DumpAll();
#define VALIDATE_ATOM(atom) Atom_ValidateFn(atom)
#else // DEBUG
#define VALIDATE_ATOM(atom)
#endif // DEBUG
#endif // __ATOMS_H__
|