/* init.h - Declarations for init.c
Copyright (C) 2010 g10 Code GmbH
This file is part of libgpg-error.
libgpg-error is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
libgpg-error is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <https://www.gnu.org/licenses/>.
*/
#ifndef INIT_H
#define INIT_H
#if HAVE_W32_SYSTEM
/* Forward declaration - defined in w32-gettext.c. */
struct loaded_domain;
/* An item for a linked list of loaded domains. */
struct domainlist_s
{
struct domainlist_s *next;
char *dname; /* Directory name for the mo file. */
char *fname; /* File name for the MO file. */
int load_failed; /* True if loading the domain failed. */
struct loaded_domain *domain; /* NULL if not loaded. Never changed
once set to non-NULL. */
char name[1]; /* Name of the domain. Never changed
once set. */
};
/* 119 bytes for an error message should be enough. With this size we
can assume that the allocation does not take up more than 128 bytes
per thread. Note that this is only used for W32CE. */
#define STRBUFFER_SIZE 120
/* The TLS space definition. */
struct tls_space_s
{
/* Flag used by w32-gettext. */
int gt_use_utf8;
#ifdef HAVE_W32CE_SYSTEM
char strerror_buffer[STRBUFFER_SIZE];
#endif
};
/* Return the TLS. */
struct tls_space_s *get_tls (void);
/* Explicit constructor for w32-gettext.c */
#ifndef DLL_EXPORT
void _gpg_w32__init_gettext_module (void);
#endif
#endif /*HAVE_W32_SYSTEM*/
#endif /*INIT_H*/