# locale.c File Reference

`#include "magick/studio.h"`
`#include "magick/blob.h"`
`#include "magick/client.h"`
`#include "magick/configure.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/hashmap.h"`
`#include "magick/locale_.h"`
`#include "magick/log.h"`
`#include "magick/memory_.h"`
`#include "magick/semaphore.h"`
`#include "magick/splay-tree.h"`
`#include "magick/string_.h"`
`#include "magick/token.h"`
`#include "magick/utility.h"`
`#include "magick/xml-tree.h"`

## Defines
#define | LocaleFilename "locale.xml"
#define | MaxRecursionDepth 200
## Functions
static MagickBooleanType | InitializeLocaleList (ExceptionInfo *)
static MagickBooleanType | LoadLocaleLists (const char *, const char *, ExceptionInfo *)
MagickExport void | DestroyLocaleList (void)
static void * | DestroyOptions (void *message)
MagickExport LinkedListInfo * | DestroyLocaleOptions (LinkedListInfo *messages)
MagickExport const LocaleInfo * | GetLocaleInfo_ (const char *tag, ExceptionInfo *exception)
static int | LocaleInfoCompare (const void *x, const void *y)
MagickExport const LocaleInfo ** | GetLocaleInfoList (const char *pattern, unsigned long *number_messages, ExceptionInfo *exception)
static int | LocaleTagCompare (const void *x, const void *y)
MagickExport char ** | GetLocaleList (const char *pattern, unsigned long *number_messages, ExceptionInfo *exception)
MagickExport const char * | GetLocaleMessage (const char *tag)
MagickExport LinkedListInfo * | GetLocaleOptions (const char *filename, ExceptionInfo *exception)
MagickExport const char * | GetLocaleValue (const LocaleInfo *locale_info)
MagickExport MagickBooleanType | ListLocaleInfo (FILE *file, ExceptionInfo *exception)
static void * | DestroyLocaleNode (void *locale_info)
static MagickBooleanType | TraverseLocaleMap (const char *filename, XMLTreeInfo **components, XMLTreeInfo *node, const unsigned long depth, ExceptionInfo *exception)
static MagickBooleanType | LoadLocaleList (const char *xml, const char *filename, const char *locale, const unsigned long depth, ExceptionInfo *exception)
## Variables
static const char * | LocaleMap
static SemaphoreInfo * | locale_semaphore = (SemaphoreInfo *) NULL
static SplayTreeInfo * | locale_list = (SplayTreeInfo *) NULL
static volatile MagickBooleanType | instantiate_locale = MagickFalse

## Define Documentation

#define LocaleFilename "locale.xml"

#define MaxRecursionDepth 200

## Function Documentation

MagickExport void DestroyLocaleList | ( | void |  | ) |

static void* DestroyLocaleNode | ( | void * | locale_info | ) | `[static]`

MagickExport LinkedListInfo* DestroyLocaleOptions | ( | LinkedListInfo * | messages | ) |

static void* DestroyOptions | ( | void * | message | ) | `[static]`

MagickExport const LocaleInfo* GetLocaleInfo_ | ( | const char * | tag,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const LocaleInfo** GetLocaleInfoList | ( | const char * | pattern,
|  | unsigned long * | number_messages,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport char** GetLocaleList | ( | const char * | pattern,
|  | unsigned long * | number_messages,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const char* GetLocaleMessage | ( | const char * | tag | ) |

MagickExport LinkedListInfo* GetLocaleOptions | ( | const char * | filename,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const char* GetLocaleValue | ( | const LocaleInfo * | locale_info | ) |

static MagickBooleanType InitializeLocaleList | ( | ExceptionInfo * | exception | ) | `[static]`

MagickExport MagickBooleanType ListLocaleInfo | ( | FILE * | file,
|  | ExceptionInfo * | exception |
| ) |  |  |

static MagickBooleanType LoadLocaleList | ( | const char * | xml,
|  | const char * | filename,
|  | const char * | locale,
|  | const unsigned long | depth,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

static MagickBooleanType LoadLocaleLists | ( | const char * | filename,
|  | const char * | locale,
|  | ExceptionInfo * | exception |
| ) |  |  |

static int LocaleInfoCompare | ( | const void * | x,
|  | const void * | y |
| ) |  |  | `[static]`

static int LocaleTagCompare | ( | const void * | x,
|  | const void * | y |
| ) |  |  | `[static]`

static MagickBooleanType TraverseLocaleMap | ( | const char * | filename,
|  | XMLTreeInfo ** | components,
|  | XMLTreeInfo * | node,
|  | const unsigned long | depth,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

## Variable Documentation

volatile MagickBooleanType instantiate_locale = MagickFalse`[static]`

SplayTreeInfo* locale_list = (SplayTreeInfo *) NULL`[static]`

SemaphoreInfo* locale_semaphore = (SemaphoreInfo *) NULL`[static]`

const char* LocaleMap`[static]`

Initial value:

     (char *)
        "<?xml version=\"1.0\"?>"
        "<localemap>"
        "  <locale name=\"C\">"
        "    <Exception>"
        "     <Message name=\"\">"
        "     </Message>"
        "    </Exception>"
        "  </locale>"
        "</localemap>"