library.h revision ca7dc3a0a4e4c49b3ff685ef589e2f7228ec5c22
/*
* Definitions for the Wine library
*
* Copyright 2000 Alexandre Julliard
*
* 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.
*
* This library 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 library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Sun elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_WINE_LIBRARY_H
#define __WINE_WINE_LIBRARY_H
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#ifdef __WINE_WINE_TEST_H
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* configuration */
extern const char *wine_get_build_dir(void);
extern const char *wine_get_config_dir(void);
extern const char *wine_get_data_dir(void);
extern const char *wine_get_server_dir(void);
extern const char *wine_get_user_name(void);
extern const char *wine_get_version(void);
extern const char *wine_get_build_id(void);
extern void wine_init_argv0_path( const char *argv0 );
/* dll loading */
typedef void (*load_dll_callback_t)( void *, const char * );
int test_only, int *file_exists );
extern void wine_dll_unload( void *handle );
extern const char *wine_dll_enum_load_path( unsigned int index );
extern int __wine_main_argc;
extern char **__wine_main_argv;
extern WCHAR **__wine_main_wargv;
/* portability */
/* memory mappings */
#ifdef __i386__
/* LDT management */
extern int wine_ldt_is_system( unsigned short sel );
extern unsigned short wine_ldt_alloc_entries( int count );
extern unsigned short wine_ldt_alloc_fs(void);
extern void wine_ldt_free_fs( unsigned short sel );
/* the local copy of the LDT */
extern struct __wine_ldt_copy
{
/* helper functions to manipulate the LDT_ENTRY structure */
{
}
{
}
{
}
{
return limit;
}
{
}
{
return ret;
}
{
}
/* segment register access */
# ifdef __MINGW32__
# define __DEFINE_GET_SEG(seg) \
# define __DEFINE_SET_SEG(seg) \
# define __DEFINE_GET_SEG(seg) \
# define __DEFINE_SET_SEG(seg) \
# define __DEFINE_GET_SEG(seg) \
# define __DEFINE_SET_SEG(seg) \
# else /* __GNUC__ || _MSC_VER */
# endif /* __GNUC__ || _MSC_VER */
#endif /* __i386__ */
#ifdef __cplusplus
}
#endif
#endif /* __WINE_WINE_LIBRARY_H */