mirror of
https://github.com/relativemodder/aegnux.git
synced 2025-12-10 13:39:43 +05:00
cleanup from wine headers and some UI changes
This commit is contained in:
@@ -1,559 +0,0 @@
|
|||||||
/*
|
|
||||||
* Wine debugging interface
|
|
||||||
*
|
|
||||||
* Copyright 1999 Patrik Stridvall
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __WINE_WINE_DEBUG_H
|
|
||||||
#define __WINE_WINE_DEBUG_H
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <windef.h>
|
|
||||||
#include <winbase.h>
|
|
||||||
#ifndef GUID_DEFINED
|
|
||||||
#include <guiddef.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _GUID;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Internal definitions (do not use these directly)
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum __wine_debug_class
|
|
||||||
{
|
|
||||||
__WINE_DBCL_FIXME,
|
|
||||||
__WINE_DBCL_ERR,
|
|
||||||
__WINE_DBCL_WARN,
|
|
||||||
__WINE_DBCL_TRACE,
|
|
||||||
|
|
||||||
__WINE_DBCL_INIT = 7 /* lazy init flag */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct __wine_debug_channel
|
|
||||||
{
|
|
||||||
unsigned char flags;
|
|
||||||
char name[15];
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifndef WINE_NO_TRACE_MSGS
|
|
||||||
# define __WINE_GET_DEBUGGING_TRACE(dbch) ((dbch)->flags & (1 << __WINE_DBCL_TRACE))
|
|
||||||
#else
|
|
||||||
# define __WINE_GET_DEBUGGING_TRACE(dbch) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WINE_NO_DEBUG_MSGS
|
|
||||||
# define __WINE_GET_DEBUGGING_WARN(dbch) ((dbch)->flags & (1 << __WINE_DBCL_WARN))
|
|
||||||
# define __WINE_GET_DEBUGGING_FIXME(dbch) ((dbch)->flags & (1 << __WINE_DBCL_FIXME))
|
|
||||||
#else
|
|
||||||
# define __WINE_GET_DEBUGGING_WARN(dbch) 0
|
|
||||||
# define __WINE_GET_DEBUGGING_FIXME(dbch) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* define error macro regardless of what is configured */
|
|
||||||
#define __WINE_GET_DEBUGGING_ERR(dbch) ((dbch)->flags & (1 << __WINE_DBCL_ERR))
|
|
||||||
|
|
||||||
#define __WINE_GET_DEBUGGING(dbcl,dbch) __WINE_GET_DEBUGGING##dbcl(dbch)
|
|
||||||
|
|
||||||
#define __WINE_IS_DEBUG_ON(dbcl,dbch) \
|
|
||||||
(__WINE_GET_DEBUGGING##dbcl(dbch) && (__wine_dbg_get_channel_flags(dbch) & (1 << __WINE_DBCL##dbcl)))
|
|
||||||
|
|
||||||
#define __WINE_DPRINTF(dbcl,dbch) \
|
|
||||||
do { if(__WINE_GET_DEBUGGING(dbcl,(dbch))) { \
|
|
||||||
struct __wine_debug_channel * const __dbch = (dbch); \
|
|
||||||
const enum __wine_debug_class __dbcl = __WINE_DBCL##dbcl; \
|
|
||||||
__WINE_DBG_LOG
|
|
||||||
|
|
||||||
#define __WINE_DBG_LOG(...) \
|
|
||||||
wine_dbg_log( __dbcl, __dbch, __func__, __VA_ARGS__); } } while(0)
|
|
||||||
|
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && (defined(__MINGW32__) || defined (_MSC_VER) || !defined(__WINE_USE_MSVCRT))
|
|
||||||
#define __WINE_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
|
|
||||||
#else
|
|
||||||
#define __WINE_PRINTF_ATTR(fmt,args)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WINE_NO_TRACE_MSGS
|
|
||||||
#define WINE_TRACE(...) do { } while(0)
|
|
||||||
#define WINE_TRACE_(ch) WINE_TRACE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WINE_NO_DEBUG_MSGS
|
|
||||||
#define WINE_WARN(...) do { } while(0)
|
|
||||||
#define WINE_WARN_(ch) WINE_WARN
|
|
||||||
#define WINE_FIXME(...) do { } while(0)
|
|
||||||
#define WINE_FIXME_(ch) WINE_FIXME
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NTSYSAPI int WINAPI __wine_dbg_write( const char *str, unsigned int len );
|
|
||||||
extern DECLSPEC_EXPORT unsigned char __cdecl __wine_dbg_get_channel_flags( struct __wine_debug_channel *channel );
|
|
||||||
extern DECLSPEC_EXPORT const char * __cdecl __wine_dbg_strdup( const char *str );
|
|
||||||
extern DECLSPEC_EXPORT int __cdecl __wine_dbg_output( const char *str );
|
|
||||||
extern DECLSPEC_EXPORT int __cdecl __wine_dbg_header( enum __wine_debug_class cls, struct __wine_debug_channel *channel,
|
|
||||||
const char *function );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Exported definitions and macros
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* These functions return a printable version of a string, including
|
|
||||||
quotes. The string will be valid for some time, but not indefinitely
|
|
||||||
as strings are re-used. */
|
|
||||||
|
|
||||||
#if defined(__x86_64__) && defined(__GNUC__) && defined(__WINE_USE_MSVCRT)
|
|
||||||
# define __wine_dbg_cdecl __cdecl
|
|
||||||
#else
|
|
||||||
# define __wine_dbg_cdecl
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char * __wine_dbg_cdecl wine_dbg_vsprintf( const char *format, va_list args ) __WINE_PRINTF_ATTR(1,0);
|
|
||||||
static inline const char * __wine_dbg_cdecl wine_dbg_vsprintf( const char *format, va_list args )
|
|
||||||
{
|
|
||||||
char buffer[200];
|
|
||||||
|
|
||||||
vsnprintf( buffer, sizeof(buffer), format, args );
|
|
||||||
buffer[sizeof(buffer) - 1] = 0;
|
|
||||||
return __wine_dbg_strdup( buffer );
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char * __wine_dbg_cdecl wine_dbg_sprintf( const char *format, ... ) __WINE_PRINTF_ATTR(1,2);
|
|
||||||
static inline const char * __wine_dbg_cdecl wine_dbg_sprintf( const char *format, ... )
|
|
||||||
{
|
|
||||||
const char *ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start( args, format );
|
|
||||||
ret = wine_dbg_vsprintf( format, args );
|
|
||||||
va_end( args );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __wine_dbg_cdecl wine_dbg_vprintf( const char *format, va_list args ) __WINE_PRINTF_ATTR(1,0);
|
|
||||||
static inline int __wine_dbg_cdecl wine_dbg_vprintf( const char *format, va_list args )
|
|
||||||
{
|
|
||||||
char buffer[1024];
|
|
||||||
|
|
||||||
vsnprintf( buffer, sizeof(buffer), format, args );
|
|
||||||
buffer[sizeof(buffer) - 1] = 0;
|
|
||||||
return __wine_dbg_output( buffer );
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __wine_dbg_cdecl wine_dbg_printf( const char *format, ... ) __WINE_PRINTF_ATTR(1,2);
|
|
||||||
static inline int __wine_dbg_cdecl wine_dbg_printf( const char *format, ... )
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start( args, format );
|
|
||||||
ret = wine_dbg_vprintf( format, args );
|
|
||||||
va_end( args );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __wine_dbg_cdecl wine_dbg_vlog( enum __wine_debug_class cls,
|
|
||||||
struct __wine_debug_channel *channel, const char *func,
|
|
||||||
const char *format, va_list args ) __WINE_PRINTF_ATTR(4,0);
|
|
||||||
static inline int __wine_dbg_cdecl wine_dbg_vlog( enum __wine_debug_class cls,
|
|
||||||
struct __wine_debug_channel *channel,
|
|
||||||
const char *function, const char *format, va_list args )
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (*format == '\1') /* special magic to avoid standard prefix */
|
|
||||||
{
|
|
||||||
format++;
|
|
||||||
function = NULL;
|
|
||||||
}
|
|
||||||
if ((ret = __wine_dbg_header( cls, channel, function )) != -1) ret += wine_dbg_vprintf( format, args );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __wine_dbg_cdecl wine_dbg_log( enum __wine_debug_class cls,
|
|
||||||
struct __wine_debug_channel *channel, const char *func,
|
|
||||||
const char *format, ... ) __WINE_PRINTF_ATTR(4,5);
|
|
||||||
static inline int __wine_dbg_cdecl wine_dbg_log( enum __wine_debug_class cls,
|
|
||||||
struct __wine_debug_channel *channel,
|
|
||||||
const char *function, const char *format, ... )
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
va_start( args, format );
|
|
||||||
ret = wine_dbg_vlog( cls, channel, function, format, args );
|
|
||||||
va_end( args );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_an( const char *str, int n )
|
|
||||||
{
|
|
||||||
static const char hex[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
|
||||||
char buffer[300], *dst = buffer;
|
|
||||||
|
|
||||||
if (!str) return "(null)";
|
|
||||||
if (!((ULONG_PTR)str >> 16)) return wine_dbg_sprintf( "#%04x", LOWORD(str) );
|
|
||||||
#ifndef WINE_UNIX_LIB
|
|
||||||
if (IsBadStringPtrA( str, n )) return "(invalid)";
|
|
||||||
#endif
|
|
||||||
if (n == -1) for (n = 0; str[n]; n++) ;
|
|
||||||
*dst++ = '"';
|
|
||||||
while (n-- > 0 && dst <= buffer + sizeof(buffer) - 9)
|
|
||||||
{
|
|
||||||
unsigned char c = *str++;
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '\n': *dst++ = '\\'; *dst++ = 'n'; break;
|
|
||||||
case '\r': *dst++ = '\\'; *dst++ = 'r'; break;
|
|
||||||
case '\t': *dst++ = '\\'; *dst++ = 't'; break;
|
|
||||||
case '"': *dst++ = '\\'; *dst++ = '"'; break;
|
|
||||||
case '\\': *dst++ = '\\'; *dst++ = '\\'; break;
|
|
||||||
default:
|
|
||||||
if (c < ' ' || c >= 127)
|
|
||||||
{
|
|
||||||
*dst++ = '\\';
|
|
||||||
*dst++ = 'x';
|
|
||||||
*dst++ = hex[(c >> 4) & 0x0f];
|
|
||||||
*dst++ = hex[c & 0x0f];
|
|
||||||
}
|
|
||||||
else *dst++ = c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*dst++ = '"';
|
|
||||||
if (n > 0)
|
|
||||||
{
|
|
||||||
*dst++ = '.';
|
|
||||||
*dst++ = '.';
|
|
||||||
*dst++ = '.';
|
|
||||||
}
|
|
||||||
*dst = 0;
|
|
||||||
return __wine_dbg_strdup( buffer );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_wn( const WCHAR *str, int n )
|
|
||||||
{
|
|
||||||
static const char hex[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
|
||||||
char buffer[300], *dst = buffer;
|
|
||||||
|
|
||||||
if (!str) return "(null)";
|
|
||||||
if (!((ULONG_PTR)str >> 16)) return wine_dbg_sprintf( "#%04x", LOWORD(str) );
|
|
||||||
#ifndef WINE_UNIX_LIB
|
|
||||||
if (IsBadStringPtrW( str, n )) return "(invalid)";
|
|
||||||
#endif
|
|
||||||
if (n == -1) for (n = 0; str[n]; n++) ;
|
|
||||||
*dst++ = 'L';
|
|
||||||
*dst++ = '"';
|
|
||||||
while (n-- > 0 && dst <= buffer + sizeof(buffer) - 10)
|
|
||||||
{
|
|
||||||
WCHAR c = *str++;
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '\n': *dst++ = '\\'; *dst++ = 'n'; break;
|
|
||||||
case '\r': *dst++ = '\\'; *dst++ = 'r'; break;
|
|
||||||
case '\t': *dst++ = '\\'; *dst++ = 't'; break;
|
|
||||||
case '"': *dst++ = '\\'; *dst++ = '"'; break;
|
|
||||||
case '\\': *dst++ = '\\'; *dst++ = '\\'; break;
|
|
||||||
default:
|
|
||||||
if (c < ' ' || c >= 127)
|
|
||||||
{
|
|
||||||
*dst++ = '\\';
|
|
||||||
*dst++ = hex[(c >> 12) & 0x0f];
|
|
||||||
*dst++ = hex[(c >> 8) & 0x0f];
|
|
||||||
*dst++ = hex[(c >> 4) & 0x0f];
|
|
||||||
*dst++ = hex[c & 0x0f];
|
|
||||||
}
|
|
||||||
else *dst++ = (char)c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*dst++ = '"';
|
|
||||||
if (n > 0)
|
|
||||||
{
|
|
||||||
*dst++ = '.';
|
|
||||||
*dst++ = '.';
|
|
||||||
*dst++ = '.';
|
|
||||||
}
|
|
||||||
*dst = 0;
|
|
||||||
return __wine_dbg_strdup( buffer );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_a( const char *s )
|
|
||||||
{
|
|
||||||
return wine_dbgstr_an( s, -1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_w( const WCHAR *s )
|
|
||||||
{
|
|
||||||
return wine_dbgstr_wn( s, -1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(__hstring_h__) && defined(__WINSTRING_H_)
|
|
||||||
static inline const char *wine_dbgstr_hstring( HSTRING hstr )
|
|
||||||
{
|
|
||||||
UINT32 len;
|
|
||||||
const WCHAR *str = WindowsGetStringRawBuffer( hstr, &len );
|
|
||||||
return wine_dbgstr_wn( str, len );
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_guid( const GUID *id )
|
|
||||||
{
|
|
||||||
if (!id) return "(null)";
|
|
||||||
if (!((ULONG_PTR)id >> 16)) return wine_dbg_sprintf( "<guid-0x%04hx>", (WORD)(ULONG_PTR)id );
|
|
||||||
return wine_dbg_sprintf( "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
|
|
||||||
(unsigned int)id->Data1, id->Data2, id->Data3,
|
|
||||||
id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3],
|
|
||||||
id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7] );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_fourcc( unsigned int fourcc )
|
|
||||||
{
|
|
||||||
char str[4] = { (char)fourcc, (char)(fourcc >> 8), (char)(fourcc >> 16), (char)(fourcc >> 24) };
|
|
||||||
if (!fourcc)
|
|
||||||
return "''";
|
|
||||||
if (isprint( str[0] ) && isprint( str[1] ) && isprint( str[2] ) && isprint( str[3] ))
|
|
||||||
return wine_dbg_sprintf( "'%.4s'", str );
|
|
||||||
return wine_dbg_sprintf( "0x%08x", fourcc );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_point( const POINT *pt )
|
|
||||||
{
|
|
||||||
if (!pt) return "(null)";
|
|
||||||
return wine_dbg_sprintf( "(%d,%d)", (int)pt->x, (int)pt->y );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_rect( const RECT *rect )
|
|
||||||
{
|
|
||||||
if (!rect) return "(null)";
|
|
||||||
return wine_dbg_sprintf( "(%d,%d)-(%d,%d)", (int)rect->left, (int)rect->top,
|
|
||||||
(int)rect->right, (int)rect->bottom );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_longlong( ULONGLONG ll )
|
|
||||||
{
|
|
||||||
if (sizeof(ll) > sizeof(unsigned long) && ll >> 32)
|
|
||||||
return wine_dbg_sprintf( "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll );
|
|
||||||
else return wine_dbg_sprintf( "%lx", (unsigned long)ll );
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(__oaidl_h__) && defined(V_VT)
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_vt( VARTYPE vt )
|
|
||||||
{
|
|
||||||
static const char *const variant_types[] =
|
|
||||||
{
|
|
||||||
"VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE",
|
|
||||||
"VT_BSTR","VT_DISPATCH","VT_ERROR","VT_BOOL","VT_VARIANT","VT_UNKNOWN",
|
|
||||||
"VT_DECIMAL","15","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8",
|
|
||||||
"VT_INT","VT_UINT","VT_VOID","VT_HRESULT","VT_PTR","VT_SAFEARRAY",
|
|
||||||
"VT_CARRAY","VT_USERDEFINED","VT_LPSTR","VT_LPWSTR","32","33","34","35",
|
|
||||||
"VT_RECORD","VT_INT_PTR","VT_UINT_PTR","39","40","41","42","43","44","45",
|
|
||||||
"46","47","48","49","50","51","52","53","54","55","56","57","58","59","60",
|
|
||||||
"61","62","63","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE",
|
|
||||||
"VT_STREAMED_OBJECT","VT_STORED_OBJECT","VT_BLOB_OBJECT","VT_CF","VT_CLSID",
|
|
||||||
"VT_VERSIONED_STREAM"
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char *const variant_flags[16] =
|
|
||||||
{
|
|
||||||
"",
|
|
||||||
"|VT_VECTOR",
|
|
||||||
"|VT_ARRAY",
|
|
||||||
"|VT_VECTOR|VT_ARRAY",
|
|
||||||
"|VT_BYREF",
|
|
||||||
"|VT_VECTOR|VT_BYREF",
|
|
||||||
"|VT_ARRAY|VT_BYREF",
|
|
||||||
"|VT_VECTOR|VT_ARRAY|VT_BYREF",
|
|
||||||
"|VT_RESERVED",
|
|
||||||
"|VT_VECTOR|VT_RESERVED",
|
|
||||||
"|VT_ARRAY|VT_RESERVED",
|
|
||||||
"|VT_VECTOR|VT_ARRAY|VT_RESERVED",
|
|
||||||
"|VT_BYREF|VT_RESERVED",
|
|
||||||
"|VT_VECTOR|VT_BYREF|VT_RESERVED",
|
|
||||||
"|VT_ARRAY|VT_BYREF|VT_RESERVED",
|
|
||||||
"|VT_VECTOR|VT_ARRAY|VT_BYREF|VT_RESERVED",
|
|
||||||
};
|
|
||||||
|
|
||||||
if (vt & ~VT_TYPEMASK)
|
|
||||||
return wine_dbg_sprintf( "%s%s", wine_dbgstr_vt(vt&VT_TYPEMASK), variant_flags[vt>>12] );
|
|
||||||
|
|
||||||
if (vt < sizeof(variant_types)/sizeof(*variant_types))
|
|
||||||
return variant_types[vt];
|
|
||||||
|
|
||||||
if (vt == VT_BSTR_BLOB)
|
|
||||||
return "VT_BSTR_BLOB";
|
|
||||||
|
|
||||||
return wine_dbg_sprintf( "vt(invalid %x)", vt );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline const char *wine_dbgstr_variant( const VARIANT *v )
|
|
||||||
{
|
|
||||||
if (!v)
|
|
||||||
return "(null)";
|
|
||||||
|
|
||||||
if (V_VT(v) & VT_BYREF) {
|
|
||||||
if (V_VT(v) == (VT_VARIANT|VT_BYREF))
|
|
||||||
return wine_dbg_sprintf( "%p {VT_VARIANT|VT_BYREF: %s}", v, wine_dbgstr_variant(V_VARIANTREF(v)) );
|
|
||||||
if (V_VT(v) == (VT_BSTR|VT_BYREF))
|
|
||||||
return wine_dbg_sprintf( "%p {VT_BSTR|VT_BYREF: %s}", v, V_BSTRREF(v) ? wine_dbgstr_w(*V_BSTRREF(v)) : "(none)" );
|
|
||||||
return wine_dbg_sprintf( "%p {%s %p}", v, wine_dbgstr_vt(V_VT(v)), V_BYREF(v) );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (V_ISARRAY(v) || V_ISVECTOR(v))
|
|
||||||
return wine_dbg_sprintf( "%p {%s %p}", v, wine_dbgstr_vt(V_VT(v)), V_ARRAY(v) );
|
|
||||||
|
|
||||||
switch(V_VT(v)) {
|
|
||||||
case VT_EMPTY:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_EMPTY}", v );
|
|
||||||
case VT_NULL:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_NULL}", v );
|
|
||||||
case VT_I2:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_I2: %d}", v, V_I2(v) );
|
|
||||||
case VT_I4:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_I4: %d}", v, (int)V_I4(v) );
|
|
||||||
case VT_R4:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_R4: %f}", v, V_R4(v) );
|
|
||||||
case VT_R8:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_R8: %lf}", v, V_R8(v) );
|
|
||||||
case VT_CY:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_CY: %s}", v, wine_dbgstr_longlong(V_CY(v).int64) );
|
|
||||||
case VT_DATE:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_DATE: %lf}", v, V_DATE(v) );
|
|
||||||
case VT_LPSTR:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_LPSTR: %s}", v, wine_dbgstr_a((const char *)V_BSTR(v)) );
|
|
||||||
case VT_LPWSTR:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_LPWSTR: %s}", v, wine_dbgstr_w(V_BSTR(v)) );
|
|
||||||
case VT_BSTR:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_BSTR: %s}", v, wine_dbgstr_w(V_BSTR(v)) );
|
|
||||||
case VT_DISPATCH:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_DISPATCH: %p}", v, V_DISPATCH(v) );
|
|
||||||
case VT_ERROR:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_ERROR: %08x}", v, (int)V_ERROR(v) );
|
|
||||||
case VT_BOOL:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_BOOL: %x}", v, V_BOOL(v) );
|
|
||||||
case VT_UNKNOWN:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UNKNOWN: %p}", v, V_UNKNOWN(v) );
|
|
||||||
case VT_I1:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_I1: %d}", v, V_I1(v) );
|
|
||||||
case VT_UI1:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UI1: %u}", v, V_UI1(v) );
|
|
||||||
case VT_UI2:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UI2: %u}", v, V_UI2(v) );
|
|
||||||
case VT_UI4:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UI4: %u}", v, (unsigned int)V_UI4(v) );
|
|
||||||
case VT_I8:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_I8: %s}", v, wine_dbgstr_longlong(V_I8(v)) );
|
|
||||||
case VT_UI8:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UI8: %s}", v, wine_dbgstr_longlong(V_UI8(v)) );
|
|
||||||
case VT_INT:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_INT: %d}", v, V_INT(v) );
|
|
||||||
case VT_UINT:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_UINT: %u}", v, V_UINT(v) );
|
|
||||||
case VT_VOID:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_VOID}", v );
|
|
||||||
case VT_RECORD:
|
|
||||||
return wine_dbg_sprintf( "%p {VT_RECORD: %p %p}", v, V_RECORD(v), V_RECORDINFO(v) );
|
|
||||||
default:
|
|
||||||
return wine_dbg_sprintf( "%p {vt %s}", v, wine_dbgstr_vt(V_VT(v)) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* defined(__oaidl_h__) && defined(V_VT) */
|
|
||||||
|
|
||||||
#ifndef WINE_TRACE
|
|
||||||
#define WINE_TRACE __WINE_DPRINTF(_TRACE,__wine_dbch___default)
|
|
||||||
#define WINE_TRACE_(ch) __WINE_DPRINTF(_TRACE,&__wine_dbch_##ch)
|
|
||||||
#endif
|
|
||||||
#define WINE_TRACE_ON(ch) __WINE_IS_DEBUG_ON(_TRACE,&__wine_dbch_##ch)
|
|
||||||
|
|
||||||
#ifndef WINE_WARN
|
|
||||||
#define WINE_WARN __WINE_DPRINTF(_WARN,__wine_dbch___default)
|
|
||||||
#define WINE_WARN_(ch) __WINE_DPRINTF(_WARN,&__wine_dbch_##ch)
|
|
||||||
#endif
|
|
||||||
#define WINE_WARN_ON(ch) __WINE_IS_DEBUG_ON(_WARN,&__wine_dbch_##ch)
|
|
||||||
|
|
||||||
#ifndef WINE_FIXME
|
|
||||||
#define WINE_FIXME __WINE_DPRINTF(_FIXME,__wine_dbch___default)
|
|
||||||
#define WINE_FIXME_(ch) __WINE_DPRINTF(_FIXME,&__wine_dbch_##ch)
|
|
||||||
#endif
|
|
||||||
#define WINE_FIXME_ON(ch) __WINE_IS_DEBUG_ON(_FIXME,&__wine_dbch_##ch)
|
|
||||||
|
|
||||||
#define WINE_ERR __WINE_DPRINTF(_ERR,__wine_dbch___default)
|
|
||||||
#define WINE_ERR_(ch) __WINE_DPRINTF(_ERR,&__wine_dbch_##ch)
|
|
||||||
#define WINE_ERR_ON(ch) __WINE_IS_DEBUG_ON(_ERR,&__wine_dbch_##ch)
|
|
||||||
|
|
||||||
#define WINE_DECLARE_DEBUG_CHANNEL(ch) \
|
|
||||||
static struct __wine_debug_channel __wine_dbch_##ch = { 0xff, #ch }; \
|
|
||||||
C_ASSERT(sizeof(#ch) <= sizeof(__wine_dbch_##ch.name))
|
|
||||||
#define WINE_DEFAULT_DEBUG_CHANNEL(ch) \
|
|
||||||
static struct __wine_debug_channel __wine_dbch_##ch = { 0xff, #ch }; \
|
|
||||||
C_ASSERT(sizeof(#ch) <= sizeof(__wine_dbch_##ch.name)); \
|
|
||||||
static struct __wine_debug_channel * const __wine_dbch___default = &__wine_dbch_##ch
|
|
||||||
|
|
||||||
#define WINE_MESSAGE wine_dbg_printf
|
|
||||||
|
|
||||||
#ifdef __WINESRC__
|
|
||||||
/* Wine uses shorter names that are very likely to conflict with other software */
|
|
||||||
|
|
||||||
static inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); }
|
|
||||||
static inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); }
|
|
||||||
static inline const char *debugstr_guid( const struct _GUID *id ) { return wine_dbgstr_guid(id); }
|
|
||||||
static inline const char *debugstr_fourcc( unsigned int cc ) { return wine_dbgstr_fourcc( cc ); }
|
|
||||||
static inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
|
|
||||||
static inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
|
|
||||||
|
|
||||||
#if defined(__hstring_h__) && defined(__WINSTRING_H_)
|
|
||||||
static inline const char *debugstr_hstring( struct HSTRING__ *s ) { return wine_dbgstr_hstring( s ); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__oaidl_h__) && defined(V_VT)
|
|
||||||
static inline const char *debugstr_vt( VARTYPE vt ) { return wine_dbgstr_vt( vt ); }
|
|
||||||
static inline const char *debugstr_variant( const VARIANT *v ) { return wine_dbgstr_variant( v ); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TRACE WINE_TRACE
|
|
||||||
#define TRACE_(ch) WINE_TRACE_(ch)
|
|
||||||
#define TRACE_ON(ch) WINE_TRACE_ON(ch)
|
|
||||||
|
|
||||||
#define WARN WINE_WARN
|
|
||||||
#define WARN_(ch) WINE_WARN_(ch)
|
|
||||||
#define WARN_ON(ch) WINE_WARN_ON(ch)
|
|
||||||
|
|
||||||
#define FIXME WINE_FIXME
|
|
||||||
#define FIXME_(ch) WINE_FIXME_(ch)
|
|
||||||
#define FIXME_ON(ch) WINE_FIXME_ON(ch)
|
|
||||||
|
|
||||||
#undef ERR /* Solaris got an 'ERR' define in <sys/reg.h> */
|
|
||||||
#define ERR WINE_ERR
|
|
||||||
#define ERR_(ch) WINE_ERR_(ch)
|
|
||||||
#define ERR_ON(ch) WINE_ERR_ON(ch)
|
|
||||||
|
|
||||||
#define MESSAGE WINE_MESSAGE
|
|
||||||
|
|
||||||
#endif /* __WINESRC__ */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_WINE_DEBUG_H */
|
|
||||||
@@ -1,299 +0,0 @@
|
|||||||
/*
|
|
||||||
* Wine exception handling
|
|
||||||
*
|
|
||||||
* Copyright (c) 1999 Alexandre Julliard
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __WINE_WINE_EXCEPTION_H
|
|
||||||
#define __WINE_WINE_EXCEPTION_H
|
|
||||||
|
|
||||||
#include <windef.h>
|
|
||||||
#include <winternl.h>
|
|
||||||
#include <rtlsupportapi.h>
|
|
||||||
#include <excpt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The following definitions allow using exceptions in Wine and Winelib code
|
|
||||||
*
|
|
||||||
* They should be used like this:
|
|
||||||
*
|
|
||||||
* __TRY
|
|
||||||
* {
|
|
||||||
* do some stuff that can raise an exception
|
|
||||||
* }
|
|
||||||
* __EXCEPT(filter_func)
|
|
||||||
* {
|
|
||||||
* handle the exception here
|
|
||||||
* }
|
|
||||||
* __ENDTRY
|
|
||||||
*
|
|
||||||
* or
|
|
||||||
*
|
|
||||||
* __TRY
|
|
||||||
* {
|
|
||||||
* do some stuff that can raise an exception
|
|
||||||
* }
|
|
||||||
* __FINALLY(finally_func)
|
|
||||||
*
|
|
||||||
* The filter_func and finally_func functions must be defined like this:
|
|
||||||
*
|
|
||||||
* LONG CALLBACK filter_func( PEXCEPTION_POINTERS __eptr ) { ... }
|
|
||||||
*
|
|
||||||
* void CALLBACK finally_func( BOOL __normal ) { ... }
|
|
||||||
*
|
|
||||||
* The filter function must return one of the EXCEPTION_* code; it can
|
|
||||||
* use GetExceptionInformation() and GetExceptionCode() to retrieve the
|
|
||||||
* exception info.
|
|
||||||
*
|
|
||||||
* Warning: Inside a __TRY or __EXCEPT block, 'break' or 'continue' statements
|
|
||||||
* break out of the current block, but avoid using them because they
|
|
||||||
* won't work when compiling with native exceptions. You cannot use
|
|
||||||
* 'return', 'goto', or 'longjmp' to leave a __TRY block either, as
|
|
||||||
* this will surely crash. You can use 'return', 'goto', or 'longjmp'
|
|
||||||
* to leave an __EXCEPT block though.
|
|
||||||
*
|
|
||||||
* -- AJ
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if !defined(__GNUC__) && !defined(__clang__)
|
|
||||||
#define __attribute__(x) /* nothing */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define this if you want to use your compiler built-in __try/__except support.
|
|
||||||
* This is only useful when compiling to a native Windows binary, as the built-in
|
|
||||||
* compiler exceptions will most certainly not work under Winelib.
|
|
||||||
*/
|
|
||||||
#ifdef USE_COMPILER_EXCEPTIONS
|
|
||||||
|
|
||||||
#define __TRY __try
|
|
||||||
#define __EXCEPT(func) __except((func)(GetExceptionInformation()))
|
|
||||||
#define __EXCEPT_CTX(func, ctx) __except((func)(GetExceptionInformation(), ctx))
|
|
||||||
#define __FINALLY(func) __finally { (func)(!AbnormalTermination()); }
|
|
||||||
#define __FINALLY_CTX(func, ctx) __finally { (func)(!AbnormalTermination(), ctx); }
|
|
||||||
#define __ENDTRY /*nothing*/
|
|
||||||
#define __EXCEPT_PAGE_FAULT __except(GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
|
|
||||||
#define __EXCEPT_ALL __except(EXCEPTION_EXECUTE_HANDLER)
|
|
||||||
|
|
||||||
#else /* USE_COMPILER_EXCEPTIONS */
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
typedef struct { int reg[16]; } __wine_jmp_buf;
|
|
||||||
#elif defined(__x86_64__)
|
|
||||||
typedef struct { DECLSPEC_ALIGN(16) struct { unsigned __int64 Part[2]; } reg[16]; } __wine_jmp_buf;
|
|
||||||
#elif defined(__arm__)
|
|
||||||
typedef struct { int reg[28]; } __wine_jmp_buf;
|
|
||||||
#elif defined(__aarch64__)
|
|
||||||
typedef struct { __int64 reg[24]; } __wine_jmp_buf;
|
|
||||||
#else
|
|
||||||
typedef struct { int reg; } __wine_jmp_buf;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) __wine_setjmpex( __wine_jmp_buf *buf,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame );
|
|
||||||
extern void DECLSPEC_NORETURN __cdecl __wine_longjmp( __wine_jmp_buf *buf, int retval );
|
|
||||||
extern void DECLSPEC_NORETURN __cdecl __wine_rtl_unwind( EXCEPTION_REGISTRATION_RECORD* frame, EXCEPTION_RECORD *record,
|
|
||||||
void (*target)(void) );
|
|
||||||
extern DWORD __cdecl __wine_exception_handler( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
extern DWORD __cdecl __wine_exception_ctx_handler( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
extern DWORD __cdecl __wine_exception_handler_page_fault( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
extern DWORD __cdecl __wine_exception_handler_all( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
extern DWORD __cdecl __wine_finally_handler( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
extern DWORD __cdecl __wine_finally_ctx_handler( EXCEPTION_RECORD *record,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *frame,
|
|
||||||
CONTEXT *context,
|
|
||||||
EXCEPTION_REGISTRATION_RECORD **pdispatcher );
|
|
||||||
|
|
||||||
#define __TRY \
|
|
||||||
do { __WINE_FRAME __f; \
|
|
||||||
int __first = 1; \
|
|
||||||
for (;;) if (!__first) \
|
|
||||||
{ \
|
|
||||||
do {
|
|
||||||
|
|
||||||
#define __EXCEPT(func) \
|
|
||||||
} while(0); \
|
|
||||||
__wine_pop_frame( &__f.frame ); \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
__f.frame.Handler = __wine_exception_handler; \
|
|
||||||
__f.u.filter = (func); \
|
|
||||||
if (__wine_setjmpex( &__f.jmp, &__f.frame )) { \
|
|
||||||
const __WINE_FRAME * const __eptr __attribute__((unused)) = &__f; \
|
|
||||||
do {
|
|
||||||
|
|
||||||
#define __EXCEPT_CTX(func, context) \
|
|
||||||
} while(0); \
|
|
||||||
__wine_pop_frame( &__f.frame ); \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
__f.frame.Handler = __wine_exception_ctx_handler; \
|
|
||||||
__f.u.filter_ctx = (func); \
|
|
||||||
__f.ctx = context; \
|
|
||||||
if (__wine_setjmpex( &__f.jmp, &__f.frame )) { \
|
|
||||||
const __WINE_FRAME * const __eptr __attribute__((unused)) = &__f; \
|
|
||||||
do {
|
|
||||||
|
|
||||||
#define __EXCEPT_HANDLER(handler) \
|
|
||||||
} while(0); \
|
|
||||||
__wine_pop_frame( &__f.frame ); \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
__f.frame.Handler = (handler); \
|
|
||||||
if (__wine_setjmpex( &__f.jmp, &__f.frame )) { \
|
|
||||||
const __WINE_FRAME * const __eptr __attribute__((unused)) = &__f; \
|
|
||||||
do {
|
|
||||||
|
|
||||||
#define __EXCEPT_PAGE_FAULT __EXCEPT_HANDLER(__wine_exception_handler_page_fault)
|
|
||||||
#define __EXCEPT_ALL __EXCEPT_HANDLER(__wine_exception_handler_all)
|
|
||||||
|
|
||||||
#define __ENDTRY \
|
|
||||||
} while (0); \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
__wine_push_frame( &__f.frame ); \
|
|
||||||
__first = 0; \
|
|
||||||
} \
|
|
||||||
} while (0);
|
|
||||||
|
|
||||||
#define __FINALLY(func) \
|
|
||||||
} while(0); \
|
|
||||||
__wine_pop_frame( &__f.frame ); \
|
|
||||||
(func)(1); \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
__f.frame.Handler = __wine_finally_handler; \
|
|
||||||
__f.u.finally_func = (func); \
|
|
||||||
__wine_push_frame( &__f.frame ); \
|
|
||||||
__first = 0; \
|
|
||||||
} \
|
|
||||||
} while (0);
|
|
||||||
|
|
||||||
#define __FINALLY_CTX(func, context) \
|
|
||||||
} while(0); \
|
|
||||||
__wine_pop_frame( &__f.frame ); \
|
|
||||||
(func)(1, context); \
|
|
||||||
break; \
|
|
||||||
} else { \
|
|
||||||
__f.frame.Handler = __wine_finally_ctx_handler; \
|
|
||||||
__f.u.finally_func_ctx = (func); \
|
|
||||||
__f.ctx = context; \
|
|
||||||
__wine_push_frame( &__f.frame ); \
|
|
||||||
__first = 0; \
|
|
||||||
} \
|
|
||||||
} while (0);
|
|
||||||
|
|
||||||
|
|
||||||
typedef LONG (CALLBACK *__WINE_FILTER)(PEXCEPTION_POINTERS);
|
|
||||||
typedef LONG (CALLBACK *__WINE_FILTER_CTX)(PEXCEPTION_POINTERS, void*);
|
|
||||||
typedef void (CALLBACK *__WINE_FINALLY)(BOOL);
|
|
||||||
typedef void (CALLBACK *__WINE_FINALLY_CTX)(BOOL, void*);
|
|
||||||
|
|
||||||
#define GetExceptionInformation() (__eptr)
|
|
||||||
#define GetExceptionCode() (__eptr->ExceptionRecord->ExceptionCode)
|
|
||||||
#define AbnormalTermination() (!__normal)
|
|
||||||
|
|
||||||
typedef struct __tagWINE_FRAME
|
|
||||||
{
|
|
||||||
EXCEPTION_REGISTRATION_RECORD frame;
|
|
||||||
union
|
|
||||||
{
|
|
||||||
/* exception data */
|
|
||||||
__WINE_FILTER filter;
|
|
||||||
__WINE_FILTER_CTX filter_ctx;
|
|
||||||
/* finally data */
|
|
||||||
__WINE_FINALLY finally_func;
|
|
||||||
__WINE_FINALLY_CTX finally_func_ctx;
|
|
||||||
} u;
|
|
||||||
void *ctx;
|
|
||||||
__wine_jmp_buf jmp;
|
|
||||||
/* hack to make GetExceptionCode() work in handler */
|
|
||||||
DWORD ExceptionCode;
|
|
||||||
const struct __tagWINE_FRAME *ExceptionRecord;
|
|
||||||
} __WINE_FRAME;
|
|
||||||
|
|
||||||
#endif /* USE_COMPILER_EXCEPTIONS */
|
|
||||||
|
|
||||||
static inline EXCEPTION_REGISTRATION_RECORD *__wine_push_frame( EXCEPTION_REGISTRATION_RECORD *frame )
|
|
||||||
{
|
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__)
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *prev;
|
|
||||||
__asm__ __volatile__("movl %%fs:0,%0"
|
|
||||||
"\n\tmovl %0,(%1)"
|
|
||||||
"\n\tmovl %1,%%fs:0"
|
|
||||||
: "=&r" (prev) : "r" (frame) : "memory" );
|
|
||||||
return prev;
|
|
||||||
#else
|
|
||||||
NT_TIB *teb = (NT_TIB *)NtCurrentTeb();
|
|
||||||
frame->Prev = teb->ExceptionList;
|
|
||||||
teb->ExceptionList = frame;
|
|
||||||
return frame->Prev;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline EXCEPTION_REGISTRATION_RECORD *__wine_pop_frame( EXCEPTION_REGISTRATION_RECORD *frame )
|
|
||||||
{
|
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__)
|
|
||||||
__asm__ __volatile__("movl %0,%%fs:0"
|
|
||||||
: : "r" (frame->Prev) : "memory" );
|
|
||||||
return frame->Prev;
|
|
||||||
|
|
||||||
#else
|
|
||||||
NT_TIB *teb = (NT_TIB *)NtCurrentTeb();
|
|
||||||
teb->ExceptionList = frame->Prev;
|
|
||||||
return frame->Prev;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline EXCEPTION_REGISTRATION_RECORD *__wine_get_frame(void)
|
|
||||||
{
|
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__)
|
|
||||||
EXCEPTION_REGISTRATION_RECORD *ret;
|
|
||||||
__asm__ __volatile__("movl %%fs:0,%0" : "=r" (ret) );
|
|
||||||
return ret;
|
|
||||||
#else
|
|
||||||
NT_TIB *teb = (NT_TIB *)NtCurrentTeb();
|
|
||||||
return teb->ExceptionList;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_WINE_EXCEPTION_H */
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,279 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/wine/itss.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __itss_h__
|
|
||||||
#define __itss_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
#ifndef __IITStorage_FWD_DEFINED__
|
|
||||||
#define __IITStorage_FWD_DEFINED__
|
|
||||||
typedef interface IITStorage IITStorage;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IITStorage;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
#include <oaidl.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _ITS_Control_Data {
|
|
||||||
UINT cdwControlData;
|
|
||||||
UINT adwControlData[1];
|
|
||||||
} ITS_Control_Data;
|
|
||||||
typedef struct _ITS_Control_Data *PITS_Control_Data;
|
|
||||||
typedef enum ECompactionLev {
|
|
||||||
COMPACT_DATA = 0,
|
|
||||||
COMPACT_DATA_AND_PATH = 1
|
|
||||||
} ECompactionLev;
|
|
||||||
/*****************************************************************************
|
|
||||||
* IITStorage interface
|
|
||||||
*/
|
|
||||||
#ifndef __IITStorage_INTERFACE_DEFINED__
|
|
||||||
#define __IITStorage_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IITStorage, 0x88cc31de, 0x27ab, 0x11d0, 0x9d,0xf9, 0x00,0xa0,0xc9,0x22,0xe6,0xec);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
MIDL_INTERFACE("88cc31de-27ab-11d0-9df9-00a0c922e6ec")
|
|
||||||
IITStorage : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgCreateDocfile(
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
DWORD grfMode,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgCreateDocfileOnILockBytes(
|
|
||||||
ILockBytes *plkbyt,
|
|
||||||
DWORD grfMode,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgIsStorageFile(
|
|
||||||
const WCHAR *pwcsName) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgIsStorageILockBytes(
|
|
||||||
ILockBytes *plkbyt) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgOpenStorage(
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
IStorage *pstgPriority,
|
|
||||||
DWORD grfMode,
|
|
||||||
SNB snbExclude,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgOpenStorageOnILockBytes(
|
|
||||||
ILockBytes *plkbyt,
|
|
||||||
IStorage *pStgPriority,
|
|
||||||
DWORD grfMode,
|
|
||||||
SNB snbExclude,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE StgSetTimes(
|
|
||||||
const WCHAR *lpszName,
|
|
||||||
const FILETIME *pctime,
|
|
||||||
const FILETIME *patime,
|
|
||||||
const FILETIME *pmtime) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE SetControlData(
|
|
||||||
PITS_Control_Data pControlData) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE DefaultControlData(
|
|
||||||
PITS_Control_Data *ppControlData) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Compact(
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
ECompactionLev iLev) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#ifdef __CRT_UUID_DECL
|
|
||||||
__CRT_UUID_DECL(IITStorage, 0x88cc31de, 0x27ab, 0x11d0, 0x9d,0xf9, 0x00,0xa0,0xc9,0x22,0xe6,0xec)
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
typedef struct IITStorageVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IITStorage *This,
|
|
||||||
REFIID riid,
|
|
||||||
void **ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IITStorage *This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IITStorage *This);
|
|
||||||
|
|
||||||
/*** IITStorage methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgCreateDocfile)(
|
|
||||||
IITStorage *This,
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
DWORD grfMode,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgCreateDocfileOnILockBytes)(
|
|
||||||
IITStorage *This,
|
|
||||||
ILockBytes *plkbyt,
|
|
||||||
DWORD grfMode,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgIsStorageFile)(
|
|
||||||
IITStorage *This,
|
|
||||||
const WCHAR *pwcsName);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgIsStorageILockBytes)(
|
|
||||||
IITStorage *This,
|
|
||||||
ILockBytes *plkbyt);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgOpenStorage)(
|
|
||||||
IITStorage *This,
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
IStorage *pstgPriority,
|
|
||||||
DWORD grfMode,
|
|
||||||
SNB snbExclude,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgOpenStorageOnILockBytes)(
|
|
||||||
IITStorage *This,
|
|
||||||
ILockBytes *plkbyt,
|
|
||||||
IStorage *pStgPriority,
|
|
||||||
DWORD grfMode,
|
|
||||||
SNB snbExclude,
|
|
||||||
DWORD reserved,
|
|
||||||
IStorage **ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *StgSetTimes)(
|
|
||||||
IITStorage *This,
|
|
||||||
const WCHAR *lpszName,
|
|
||||||
const FILETIME *pctime,
|
|
||||||
const FILETIME *patime,
|
|
||||||
const FILETIME *pmtime);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *SetControlData)(
|
|
||||||
IITStorage *This,
|
|
||||||
PITS_Control_Data pControlData);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *DefaultControlData)(
|
|
||||||
IITStorage *This,
|
|
||||||
PITS_Control_Data *ppControlData);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *Compact)(
|
|
||||||
IITStorage *This,
|
|
||||||
const WCHAR *pwcsName,
|
|
||||||
ECompactionLev iLev);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
} IITStorageVtbl;
|
|
||||||
|
|
||||||
interface IITStorage {
|
|
||||||
CONST_VTBL IITStorageVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IITStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
||||||
#define IITStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
||||||
#define IITStorage_Release(This) (This)->lpVtbl->Release(This)
|
|
||||||
/*** IITStorage methods ***/
|
|
||||||
#define IITStorage_StgCreateDocfile(This,pwcsName,grfMode,reserved,ppstgOpen) (This)->lpVtbl->StgCreateDocfile(This,pwcsName,grfMode,reserved,ppstgOpen)
|
|
||||||
#define IITStorage_StgCreateDocfileOnILockBytes(This,plkbyt,grfMode,reserved,ppstgOpen) (This)->lpVtbl->StgCreateDocfileOnILockBytes(This,plkbyt,grfMode,reserved,ppstgOpen)
|
|
||||||
#define IITStorage_StgIsStorageFile(This,pwcsName) (This)->lpVtbl->StgIsStorageFile(This,pwcsName)
|
|
||||||
#define IITStorage_StgIsStorageILockBytes(This,plkbyt) (This)->lpVtbl->StgIsStorageILockBytes(This,plkbyt)
|
|
||||||
#define IITStorage_StgOpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstgOpen) (This)->lpVtbl->StgOpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstgOpen)
|
|
||||||
#define IITStorage_StgOpenStorageOnILockBytes(This,plkbyt,pStgPriority,grfMode,snbExclude,reserved,ppstgOpen) (This)->lpVtbl->StgOpenStorageOnILockBytes(This,plkbyt,pStgPriority,grfMode,snbExclude,reserved,ppstgOpen)
|
|
||||||
#define IITStorage_StgSetTimes(This,lpszName,pctime,patime,pmtime) (This)->lpVtbl->StgSetTimes(This,lpszName,pctime,patime,pmtime)
|
|
||||||
#define IITStorage_SetControlData(This,pControlData) (This)->lpVtbl->SetControlData(This,pControlData)
|
|
||||||
#define IITStorage_DefaultControlData(This,ppControlData) (This)->lpVtbl->DefaultControlData(This,ppControlData)
|
|
||||||
#define IITStorage_Compact(This,pwcsName,iLev) (This)->lpVtbl->Compact(This,pwcsName,iLev)
|
|
||||||
#else
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
static inline HRESULT IITStorage_QueryInterface(IITStorage* This,REFIID riid,void **ppvObject) {
|
|
||||||
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
||||||
}
|
|
||||||
static inline ULONG IITStorage_AddRef(IITStorage* This) {
|
|
||||||
return This->lpVtbl->AddRef(This);
|
|
||||||
}
|
|
||||||
static inline ULONG IITStorage_Release(IITStorage* This) {
|
|
||||||
return This->lpVtbl->Release(This);
|
|
||||||
}
|
|
||||||
/*** IITStorage methods ***/
|
|
||||||
static inline HRESULT IITStorage_StgCreateDocfile(IITStorage* This,const WCHAR *pwcsName,DWORD grfMode,DWORD reserved,IStorage **ppstgOpen) {
|
|
||||||
return This->lpVtbl->StgCreateDocfile(This,pwcsName,grfMode,reserved,ppstgOpen);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgCreateDocfileOnILockBytes(IITStorage* This,ILockBytes *plkbyt,DWORD grfMode,DWORD reserved,IStorage **ppstgOpen) {
|
|
||||||
return This->lpVtbl->StgCreateDocfileOnILockBytes(This,plkbyt,grfMode,reserved,ppstgOpen);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgIsStorageFile(IITStorage* This,const WCHAR *pwcsName) {
|
|
||||||
return This->lpVtbl->StgIsStorageFile(This,pwcsName);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgIsStorageILockBytes(IITStorage* This,ILockBytes *plkbyt) {
|
|
||||||
return This->lpVtbl->StgIsStorageILockBytes(This,plkbyt);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgOpenStorage(IITStorage* This,const WCHAR *pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstgOpen) {
|
|
||||||
return This->lpVtbl->StgOpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstgOpen);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgOpenStorageOnILockBytes(IITStorage* This,ILockBytes *plkbyt,IStorage *pStgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstgOpen) {
|
|
||||||
return This->lpVtbl->StgOpenStorageOnILockBytes(This,plkbyt,pStgPriority,grfMode,snbExclude,reserved,ppstgOpen);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_StgSetTimes(IITStorage* This,const WCHAR *lpszName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
|
|
||||||
return This->lpVtbl->StgSetTimes(This,lpszName,pctime,patime,pmtime);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_SetControlData(IITStorage* This,PITS_Control_Data pControlData) {
|
|
||||||
return This->lpVtbl->SetControlData(This,pControlData);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_DefaultControlData(IITStorage* This,PITS_Control_Data *ppControlData) {
|
|
||||||
return This->lpVtbl->DefaultControlData(This,ppControlData);
|
|
||||||
}
|
|
||||||
static inline HRESULT IITStorage_Compact(IITStorage* This,const WCHAR *pwcsName,ECompactionLev iLev) {
|
|
||||||
return This->lpVtbl->Compact(This,pwcsName,iLev);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __IITStorage_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
DEFINE_GUID(CLSID_ITStorage,0x5d02926a,0x212e,0x11d0,0x9d,0xf9,0x00,0xa0,0xc9,0x22,0xe6,0xec);
|
|
||||||
DEFINE_GUID(CLSID_MSFSStore,0xd54eee56,0xaaab,0x11d0,0x9e,0x1d,0x00,0xa0,0xc9,0x22,0xe6,0xec);
|
|
||||||
DEFINE_GUID(CLSID_MSITStore,0x9d148290,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);
|
|
||||||
DEFINE_GUID(CLSID_ITSProtocol,0x9d148291,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
ULONG __RPC_USER SNB_UserSize (ULONG *, ULONG, SNB *);
|
|
||||||
unsigned char * __RPC_USER SNB_UserMarshal (ULONG *, unsigned char *, SNB *);
|
|
||||||
unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
|
|
||||||
void __RPC_USER SNB_UserFree (ULONG *, SNB *);
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __itss_h__ */
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2004 Mike McCormack
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep header install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
import "oaidl.idl";
|
|
||||||
|
|
||||||
typedef struct _ITS_Control_Data
|
|
||||||
{
|
|
||||||
UINT cdwControlData;
|
|
||||||
UINT adwControlData[1];
|
|
||||||
|
|
||||||
} ITS_Control_Data, *PITS_Control_Data;
|
|
||||||
|
|
||||||
typedef enum ECompactionLev {
|
|
||||||
COMPACT_DATA = 0,
|
|
||||||
COMPACT_DATA_AND_PATH
|
|
||||||
} ECompactionLev;
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(88cc31de-27ab-11d0-9df9-00a0c922e6ec),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IITStorage : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT StgCreateDocfile(
|
|
||||||
[in] const WCHAR * pwcsName,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[in] DWORD reserved,
|
|
||||||
[out] IStorage ** ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT StgCreateDocfileOnILockBytes(
|
|
||||||
[in] ILockBytes * plkbyt,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[in] DWORD reserved,
|
|
||||||
[out] IStorage ** ppstgOpen);
|
|
||||||
|
|
||||||
|
|
||||||
HRESULT StgIsStorageFile(
|
|
||||||
[in] const WCHAR * pwcsName);
|
|
||||||
|
|
||||||
HRESULT StgIsStorageILockBytes(
|
|
||||||
[in] ILockBytes * plkbyt);
|
|
||||||
|
|
||||||
HRESULT StgOpenStorage(
|
|
||||||
[in] const WCHAR * pwcsName,
|
|
||||||
[in] IStorage * pstgPriority,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[in] SNB snbExclude,
|
|
||||||
[in] DWORD reserved,
|
|
||||||
[out] IStorage ** ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT StgOpenStorageOnILockBytes(
|
|
||||||
[in] ILockBytes * plkbyt,
|
|
||||||
[in] IStorage * pStgPriority,
|
|
||||||
[in] DWORD grfMode,
|
|
||||||
[in] SNB snbExclude,
|
|
||||||
[in] DWORD reserved,
|
|
||||||
[out] IStorage ** ppstgOpen);
|
|
||||||
|
|
||||||
HRESULT StgSetTimes(
|
|
||||||
[in] WCHAR const * lpszName,
|
|
||||||
[in] FILETIME const * pctime,
|
|
||||||
[in] FILETIME const * patime,
|
|
||||||
[in] FILETIME const * pmtime);
|
|
||||||
|
|
||||||
HRESULT SetControlData(
|
|
||||||
[in] PITS_Control_Data pControlData);
|
|
||||||
|
|
||||||
HRESULT DefaultControlData(
|
|
||||||
[out] PITS_Control_Data * ppControlData);
|
|
||||||
|
|
||||||
HRESULT Compact(
|
|
||||||
[in] const WCHAR * pwcsName,
|
|
||||||
[in] ECompactionLev iLev);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_ITStorage,0x5d02926a,0x212e,0x11d0,0x9d,0xf9,0x00,0xa0,0xc9,0x22,0xe6,0xec);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MSFSStore,0xd54eee56,0xaaab,0x11d0,0x9e,0x1d,0x00,0xa0,0xc9,0x22,0xe6,0xec);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MSITStore,0x9d148290,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_ITSProtocol,0x9d148291,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);")
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/wine/mfinternal.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __mfinternal_h__
|
|
||||||
#define __mfinternal_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
#ifndef __IMFSinkClassFactory_FWD_DEFINED__
|
|
||||||
#define __IMFSinkClassFactory_FWD_DEFINED__
|
|
||||||
typedef interface IMFSinkClassFactory IMFSinkClassFactory;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IMFSinkClassFactory;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
#include <unknwn.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IMFByteStream_FWD_DEFINED__
|
|
||||||
#define __IMFByteStream_FWD_DEFINED__
|
|
||||||
typedef interface IMFByteStream IMFByteStream;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IMFByteStream;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IMFMediaSink_FWD_DEFINED__
|
|
||||||
#define __IMFMediaSink_FWD_DEFINED__
|
|
||||||
typedef interface IMFMediaSink IMFMediaSink;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IMFMediaSink;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IMFMediaType_FWD_DEFINED__
|
|
||||||
#define __IMFMediaType_FWD_DEFINED__
|
|
||||||
typedef interface IMFMediaType IMFMediaType;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IMFMediaType;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __IMFAsyncCallback_FWD_DEFINED__
|
|
||||||
#define __IMFAsyncCallback_FWD_DEFINED__
|
|
||||||
typedef interface IMFAsyncCallback IMFAsyncCallback;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IMFAsyncCallback;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IMFSinkClassFactory interface
|
|
||||||
*/
|
|
||||||
#ifndef __IMFSinkClassFactory_INTERFACE_DEFINED__
|
|
||||||
#define __IMFSinkClassFactory_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IMFSinkClassFactory, 0x37aa1c3b, 0x620f, 0x477e, 0xbe,0xf9, 0xac,0x4a,0xa8,0x5b,0xe9,0x5d);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
MIDL_INTERFACE("37aa1c3b-620f-477e-bef9-ac4aa85be95d")
|
|
||||||
IMFSinkClassFactory : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE CreateMediaSink(
|
|
||||||
IMFByteStream *stream,
|
|
||||||
IMFMediaType *video_type,
|
|
||||||
IMFMediaType *audio_type,
|
|
||||||
IMFMediaSink **sink) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#ifdef __CRT_UUID_DECL
|
|
||||||
__CRT_UUID_DECL(IMFSinkClassFactory, 0x37aa1c3b, 0x620f, 0x477e, 0xbe,0xf9, 0xac,0x4a,0xa8,0x5b,0xe9,0x5d)
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
typedef struct IMFSinkClassFactoryVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IMFSinkClassFactory *This,
|
|
||||||
REFIID riid,
|
|
||||||
void **ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IMFSinkClassFactory *This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IMFSinkClassFactory *This);
|
|
||||||
|
|
||||||
/*** IMFSinkClassFactory methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *CreateMediaSink)(
|
|
||||||
IMFSinkClassFactory *This,
|
|
||||||
IMFByteStream *stream,
|
|
||||||
IMFMediaType *video_type,
|
|
||||||
IMFMediaType *audio_type,
|
|
||||||
IMFMediaSink **sink);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
} IMFSinkClassFactoryVtbl;
|
|
||||||
|
|
||||||
interface IMFSinkClassFactory {
|
|
||||||
CONST_VTBL IMFSinkClassFactoryVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IMFSinkClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
||||||
#define IMFSinkClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
||||||
#define IMFSinkClassFactory_Release(This) (This)->lpVtbl->Release(This)
|
|
||||||
/*** IMFSinkClassFactory methods ***/
|
|
||||||
#define IMFSinkClassFactory_CreateMediaSink(This,stream,video_type,audio_type,sink) (This)->lpVtbl->CreateMediaSink(This,stream,video_type,audio_type,sink)
|
|
||||||
#else
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
static inline HRESULT IMFSinkClassFactory_QueryInterface(IMFSinkClassFactory* This,REFIID riid,void **ppvObject) {
|
|
||||||
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
||||||
}
|
|
||||||
static inline ULONG IMFSinkClassFactory_AddRef(IMFSinkClassFactory* This) {
|
|
||||||
return This->lpVtbl->AddRef(This);
|
|
||||||
}
|
|
||||||
static inline ULONG IMFSinkClassFactory_Release(IMFSinkClassFactory* This) {
|
|
||||||
return This->lpVtbl->Release(This);
|
|
||||||
}
|
|
||||||
/*** IMFSinkClassFactory methods ***/
|
|
||||||
static inline HRESULT IMFSinkClassFactory_CreateMediaSink(IMFSinkClassFactory* This,IMFByteStream *stream,IMFMediaType *video_type,IMFMediaType *audio_type,IMFMediaSink **sink) {
|
|
||||||
return This->lpVtbl->CreateMediaSink(This,stream,video_type,audio_type,sink);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __IMFSinkClassFactory_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
DEFINE_GUID(CLSID_MF3GPSinkClassFactory, 0xe54cdfaf, 0x2381, 0x4cad, 0xab, 0x99, 0xf3, 0x85, 0x17, 0x12, 0x7d, 0x5c);
|
|
||||||
DEFINE_GUID(CLSID_MFAC3SinkClassFactory, 0x255a6fda, 0x6f93, 0x4e8a, 0x96, 0x11, 0xde, 0xd1, 0x16, 0x9e, 0xef, 0xb4);
|
|
||||||
DEFINE_GUID(CLSID_MFADTSSinkClassFactory, 0xd7ca55ab, 0x5022, 0x4db3, 0xa5, 0x99, 0xab, 0xaf, 0xa3, 0x58, 0xe6, 0xf3);
|
|
||||||
DEFINE_GUID(CLSID_MFAVISinkClassFactory, 0xaf4b1274, 0xb78a, 0x4979, 0xae, 0xf5, 0x20, 0xe7, 0x8f, 0xee, 0x10, 0x2e);
|
|
||||||
DEFINE_GUID(CLSID_MFFMPEG4SinkClassFactory, 0x60f9f51e, 0x4613, 0x4b35, 0xae, 0x88, 0x33, 0x25, 0x42, 0xb5, 0x67, 0xb8);
|
|
||||||
DEFINE_GUID(CLSID_MFMP3SinkClassFactory, 0x11275a82, 0x5e5a, 0x47fd, 0xa0, 0x1c, 0x36, 0x83, 0xc1, 0x2f, 0xb1, 0x96);
|
|
||||||
DEFINE_GUID(CLSID_MFMPEG4SinkClassFactory, 0xa22c4fc7, 0x6e91, 0x4e1d, 0x89, 0xe9, 0x53, 0xb2, 0x66, 0x7b, 0x72, 0xba);
|
|
||||||
DEFINE_GUID(CLSID_MFWAVESinkClassFactory, 0x36f99745, 0x23c9, 0x4c9c, 0x8d, 0xd5, 0xcc, 0x31, 0xce, 0x96, 0x43, 0x90);
|
|
||||||
DEFINE_GUID(CLSID_AsfByteStreamPlugin, 0x41457294, 0x644c, 0x4298, 0xa2, 0x8a, 0xbd, 0x69, 0xf2, 0xc0, 0xcf, 0x3b);
|
|
||||||
DEFINE_GUID(CLSID_AVIByteStreamPlugin, 0x7afa253e, 0xf823, 0x42f6, 0xa5, 0xd9, 0x71, 0x4b, 0xde, 0x46, 0x74, 0x12);
|
|
||||||
DEFINE_GUID(CLSID_MPEG4ByteStreamHandlerPlugin, 0x271c3902, 0x6095, 0x4c45, 0xa2, 0x2f, 0x20, 0x09, 0x18, 0x16, 0xee, 0x9e);
|
|
||||||
DEFINE_GUID(CLSID_WAVByteStreamPlugin, 0x42c9b9f5, 0x16fc, 0x47ef, 0xaf, 0x22, 0xda, 0x05, 0xf7, 0xc8, 0x42, 0xe3);
|
|
||||||
DEFINE_GUID(CLSID_MP3ByteStreamPlugin, 0xa82e50ba, 0x8e92, 0x41eb, 0x9d, 0xf2, 0x43, 0x3f, 0x50, 0xec, 0x29, 0x93);
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __mfinternal_h__ */
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2022 Nikolay Sivov for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep header install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
import "unknwn.idl";
|
|
||||||
|
|
||||||
interface IMFByteStream;
|
|
||||||
interface IMFMediaSink;
|
|
||||||
interface IMFMediaType;
|
|
||||||
interface IMFAsyncCallback;
|
|
||||||
|
|
||||||
/* Internal interface used to instantiate registered sinks. It should be compatible,
|
|
||||||
except for used method names. */
|
|
||||||
|
|
||||||
[
|
|
||||||
uuid(37aa1c3b-620f-477e-bef9-ac4aa85be95d),
|
|
||||||
object,
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IMFSinkClassFactory : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT CreateMediaSink(
|
|
||||||
[in] IMFByteStream *stream,
|
|
||||||
[in] IMFMediaType *video_type,
|
|
||||||
[in] IMFMediaType *audio_type,
|
|
||||||
[out] IMFMediaSink **sink
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MF3GPSinkClassFactory, 0xe54cdfaf, 0x2381, 0x4cad, 0xab, 0x99, 0xf3, 0x85, 0x17, 0x12, 0x7d, 0x5c);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFAC3SinkClassFactory, 0x255a6fda, 0x6f93, 0x4e8a, 0x96, 0x11, 0xde, 0xd1, 0x16, 0x9e, 0xef, 0xb4);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFADTSSinkClassFactory, 0xd7ca55ab, 0x5022, 0x4db3, 0xa5, 0x99, 0xab, 0xaf, 0xa3, 0x58, 0xe6, 0xf3);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFAVISinkClassFactory, 0xaf4b1274, 0xb78a, 0x4979, 0xae, 0xf5, 0x20, 0xe7, 0x8f, 0xee, 0x10, 0x2e);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFFMPEG4SinkClassFactory, 0x60f9f51e, 0x4613, 0x4b35, 0xae, 0x88, 0x33, 0x25, 0x42, 0xb5, 0x67, 0xb8);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFMP3SinkClassFactory, 0x11275a82, 0x5e5a, 0x47fd, 0xa0, 0x1c, 0x36, 0x83, 0xc1, 0x2f, 0xb1, 0x96);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFMPEG4SinkClassFactory, 0xa22c4fc7, 0x6e91, 0x4e1d, 0x89, 0xe9, 0x53, 0xb2, 0x66, 0x7b, 0x72, 0xba);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MFWAVESinkClassFactory, 0x36f99745, 0x23c9, 0x4c9c, 0x8d, 0xd5, 0xcc, 0x31, 0xce, 0x96, 0x43, 0x90);")
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AsfByteStreamPlugin, 0x41457294, 0x644c, 0x4298, 0xa2, 0x8a, 0xbd, 0x69, 0xf2, 0xc0, 0xcf, 0x3b);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AVIByteStreamPlugin, 0x7afa253e, 0xf823, 0x42f6, 0xa5, 0xd9, 0x71, 0x4b, 0xde, 0x46, 0x74, 0x12);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MPEG4ByteStreamHandlerPlugin, 0x271c3902, 0x6095, 0x4c45, 0xa2, 0x2f, 0x20, 0x09, 0x18, 0x16, 0xee, 0x9e);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_WAVByteStreamPlugin, 0x42c9b9f5, 0x16fc, 0x47ef, 0xaf, 0x22, 0xda, 0x05, 0xf7, 0xc8, 0x42, 0xe3);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MP3ByteStreamPlugin, 0xa82e50ba, 0x8e92, 0x41eb, 0x9d, 0xf2, 0x43, 0x3f, 0x50, 0xec, 0x29, 0x93);")
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
/*
|
|
||||||
* Assert support
|
|
||||||
*
|
|
||||||
* Copyright 2011 Alexandre Julliard
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef assert
|
|
||||||
#ifdef NDEBUG
|
|
||||||
#define assert(_expr) ((void)0)
|
|
||||||
#else
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _assert(const char *, const char *, unsigned int);
|
|
||||||
#define assert(_expr) (void)((!!(_expr)) || (_assert(#_expr, __FILE__, __LINE__), 0))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _COMPLEX_H_DEFINED
|
|
||||||
#define _COMPLEX_H_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifndef _C_COMPLEX_T
|
|
||||||
#define _C_COMPLEX_T
|
|
||||||
typedef struct _C_double_complex
|
|
||||||
{
|
|
||||||
double _Val[2];
|
|
||||||
} _C_double_complex;
|
|
||||||
|
|
||||||
typedef struct _C_float_complex
|
|
||||||
{
|
|
||||||
float _Val[2];
|
|
||||||
} _C_float_complex;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef _C_double_complex _Dcomplex;
|
|
||||||
typedef _C_float_complex _Fcomplex;
|
|
||||||
|
|
||||||
_ACRTIMP _Dcomplex __cdecl _Cbuild(double, double);
|
|
||||||
_ACRTIMP _Dcomplex __cdecl cexp(_Dcomplex);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl carg(_Dcomplex);
|
|
||||||
_ACRTIMP double __cdecl cimag(_Dcomplex);
|
|
||||||
_ACRTIMP double __cdecl creal(_Dcomplex);
|
|
||||||
|
|
||||||
#if defined(__i386__) && !defined(__MINGW32__) && !defined(_MSC_VER)
|
|
||||||
/* Note: this should return a _Fcomplex, but calling convention for returning
|
|
||||||
* structures is different between Windows and gcc on i386. */
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _FCbuild(float, float);
|
|
||||||
|
|
||||||
static inline _Fcomplex __cdecl __wine__FCbuild(float r, float i)
|
|
||||||
{
|
|
||||||
union {
|
|
||||||
_Fcomplex c;
|
|
||||||
unsigned __int64 ull;
|
|
||||||
} u;
|
|
||||||
u.ull = _FCbuild(r, i);
|
|
||||||
return u.c;
|
|
||||||
}
|
|
||||||
#define _FCbuild(r, i) __wine__FCbuild(r, i)
|
|
||||||
|
|
||||||
#else
|
|
||||||
_ACRTIMP _Fcomplex __cdecl _FCbuild(float, float);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP float __cdecl cargf(_Fcomplex);
|
|
||||||
_ACRTIMP float __cdecl cimagf(_Fcomplex);
|
|
||||||
_ACRTIMP float __cdecl crealf(_Fcomplex);
|
|
||||||
|
|
||||||
#endif /* _COMPLEX_H_DEFINED */
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
/*
|
|
||||||
* Console I/O definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_CONIO_H
|
|
||||||
#define __WINE_CONIO_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP char* __cdecl _cgets(char*);
|
|
||||||
_ACRTIMP int __cdecl _cprintf(const char*,...);
|
|
||||||
_ACRTIMP int __cdecl _cputs(const char*);
|
|
||||||
_ACRTIMP int __cdecl _cscanf(const char*,...);
|
|
||||||
_ACRTIMP int __cdecl _getch(void);
|
|
||||||
_ACRTIMP int __cdecl _getche(void);
|
|
||||||
_ACRTIMP int __cdecl _kbhit(void);
|
|
||||||
_ACRTIMP int __cdecl _putch(int);
|
|
||||||
_ACRTIMP int __cdecl _ungetch(int);
|
|
||||||
|
|
||||||
#ifdef _M_IX86
|
|
||||||
_ACRTIMP int __cdecl _inp(unsigned short);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _inpd(unsigned short);
|
|
||||||
_ACRTIMP unsigned short __cdecl _inpw(unsigned short);
|
|
||||||
_ACRTIMP int __cdecl _outp(unsigned short, int);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _outpd(unsigned short, __msvcrt_ulong);
|
|
||||||
_ACRTIMP unsigned short __cdecl _outpw(unsigned short, unsigned short);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline char* cgets(char* str) { return _cgets(str); }
|
|
||||||
static inline int cputs(const char* str) { return _cputs(str); }
|
|
||||||
static inline int getch(void) { return _getch(); }
|
|
||||||
static inline int getche(void) { return _getche(); }
|
|
||||||
static inline int kbhit(void) { return _kbhit(); }
|
|
||||||
static inline int putch(int c) { return _putch(c); }
|
|
||||||
static inline int ungetch(int c) { return _ungetch(c); }
|
|
||||||
#ifdef _M_IX86
|
|
||||||
static inline int inp(unsigned short i) { return _inp(i); }
|
|
||||||
static inline unsigned short inpw(unsigned short i) { return _inpw(i); }
|
|
||||||
static inline int outp(unsigned short i, int j) { return _outp(i, j); }
|
|
||||||
static inline unsigned short outpw(unsigned short i, unsigned short j) { return _outpw(i, j); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ < 4)
|
|
||||||
_ACRTIMP int __cdecl cprintf(const char*,...) __attribute__((alias("_cprintf"),format(printf,1,2)));
|
|
||||||
_ACRTIMP int __cdecl cscanf(const char*,...) __attribute__((alias("_cscanf"),format(scanf,1,2)));
|
|
||||||
#else
|
|
||||||
#define cprintf _cprintf
|
|
||||||
#define cscanf _cscanf
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#endif /* __WINE_CONIO_H */
|
|
||||||
@@ -1,354 +0,0 @@
|
|||||||
/*
|
|
||||||
* CRT definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_CORECRT_H
|
|
||||||
#define __WINE_CORECRT_H
|
|
||||||
|
|
||||||
#ifndef __WINE_USE_MSVCRT
|
|
||||||
#define __WINE_USE_MSVCRT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __WINE_CONFIG_H
|
|
||||||
# error You cannot use config.h with msvcrt
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WINE_UNIX_LIB
|
|
||||||
# error msvcrt headers cannot be used in Unix code
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
# define _WIN32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
# define WIN32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__)) && !defined(_WIN64)
|
|
||||||
#define _WIN64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _MSVCR_VER
|
|
||||||
# define _MSVCR_VER 140
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(_UCRT) && _MSVCR_VER >= 140
|
|
||||||
# define _UCRT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <sal.h>
|
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
|
||||||
# ifndef __int8
|
|
||||||
# define __int8 char
|
|
||||||
# endif
|
|
||||||
# ifndef __int16
|
|
||||||
# define __int16 short
|
|
||||||
# endif
|
|
||||||
# ifndef __int32
|
|
||||||
# define __int32 int
|
|
||||||
# endif
|
|
||||||
# ifndef __int64
|
|
||||||
# if defined(_WIN64) && !defined(__MINGW64__)
|
|
||||||
# define __int64 long
|
|
||||||
# else
|
|
||||||
# define __int64 long long
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NULL
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#ifndef _WIN64
|
|
||||||
#define NULL 0
|
|
||||||
#else
|
|
||||||
#define NULL 0LL
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define NULL ((void *)0)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __has_attribute
|
|
||||||
#define __has_attribute(x) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __has_declspec_attribute
|
|
||||||
# if defined(_MSC_VER)
|
|
||||||
# define __has_declspec_attribute(x) 1
|
|
||||||
# else
|
|
||||||
# define __has_declspec_attribute(x) 0
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(_MSC_VER) && !defined(__MINGW32__)
|
|
||||||
# undef __stdcall
|
|
||||||
# undef __cdecl
|
|
||||||
# if defined(__i386__) && defined(__GNUC__)
|
|
||||||
# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) || defined(__APPLE__)
|
|
||||||
# define __stdcall __attribute__((__stdcall__)) __attribute__((__force_align_arg_pointer__))
|
|
||||||
# define __cdecl __attribute__((__cdecl__)) __attribute__((__force_align_arg_pointer__))
|
|
||||||
# else
|
|
||||||
# define __stdcall __attribute__((__stdcall__))
|
|
||||||
# define __cdecl __attribute__((__cdecl__))
|
|
||||||
# endif
|
|
||||||
# elif defined(__x86_64__) && defined(__GNUC__)
|
|
||||||
# if __has_attribute(__force_align_arg_pointer__)
|
|
||||||
# define __stdcall __attribute__((ms_abi)) __attribute__((__force_align_arg_pointer__))
|
|
||||||
# else
|
|
||||||
# define __stdcall __attribute__((ms_abi))
|
|
||||||
# endif
|
|
||||||
# define __cdecl __stdcall
|
|
||||||
# else
|
|
||||||
# define __stdcall
|
|
||||||
# define __cdecl
|
|
||||||
# endif
|
|
||||||
#endif /* _MSC_VER || __MINGW32__ */
|
|
||||||
|
|
||||||
#ifndef DECLSPEC_NORETURN
|
|
||||||
# ifdef __GNUC__
|
|
||||||
# define DECLSPEC_NORETURN __attribute__((noreturn))
|
|
||||||
# elif __has_declspec_attribute(noreturn) && !defined(MIDL_PASS)
|
|
||||||
# define DECLSPEC_NORETURN __declspec(noreturn)
|
|
||||||
# else
|
|
||||||
# define DECLSPEC_NORETURN
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef DECLSPEC_ALIGN
|
|
||||||
# ifdef __GNUC__
|
|
||||||
# define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
|
|
||||||
# elif __has_declspec_attribute(align) && !defined(MIDL_PASS)
|
|
||||||
# define DECLSPEC_ALIGN(x) __declspec(align(x))
|
|
||||||
# else
|
|
||||||
# define DECLSPEC_ALIGN(x)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _ACRTIMP
|
|
||||||
# ifdef _CRTIMP
|
|
||||||
# define _ACRTIMP _CRTIMP
|
|
||||||
# elif __has_declspec_attribute(dllimport)
|
|
||||||
# define _ACRTIMP __declspec(dllimport)
|
|
||||||
# elif defined(__MINGW32__) || defined(__CYGWIN__)
|
|
||||||
# define _ACRTIMP __attribute__((dllimport))
|
|
||||||
# else
|
|
||||||
# define _ACRTIMP
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _ARGMAX 100
|
|
||||||
#define _CRT_INT_MAX 0x7fffffff
|
|
||||||
|
|
||||||
#ifndef _MSVCRT_LONG_DEFINED
|
|
||||||
#define _MSVCRT_LONG_DEFINED
|
|
||||||
/* we need 32-bit longs even on 64-bit */
|
|
||||||
#ifdef __LP64__
|
|
||||||
typedef int __msvcrt_long;
|
|
||||||
typedef unsigned int __msvcrt_ulong;
|
|
||||||
#else
|
|
||||||
typedef long __msvcrt_long;
|
|
||||||
typedef unsigned long __msvcrt_ulong;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _INTPTR_T_DEFINED
|
|
||||||
#ifdef _WIN64
|
|
||||||
typedef __int64 intptr_t;
|
|
||||||
#else
|
|
||||||
typedef int intptr_t;
|
|
||||||
#endif
|
|
||||||
#define _INTPTR_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _UINTPTR_T_DEFINED
|
|
||||||
#ifdef _WIN64
|
|
||||||
typedef unsigned __int64 uintptr_t;
|
|
||||||
#else
|
|
||||||
typedef unsigned int uintptr_t;
|
|
||||||
#endif
|
|
||||||
#define _UINTPTR_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _PTRDIFF_T_DEFINED
|
|
||||||
#ifdef _WIN64
|
|
||||||
typedef __int64 ptrdiff_t;
|
|
||||||
#else
|
|
||||||
typedef int ptrdiff_t;
|
|
||||||
#endif
|
|
||||||
#define _PTRDIFF_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _SIZE_T_DEFINED
|
|
||||||
#ifdef _WIN64
|
|
||||||
typedef unsigned __int64 size_t;
|
|
||||||
#else
|
|
||||||
typedef unsigned int size_t;
|
|
||||||
#endif
|
|
||||||
#define _SIZE_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef size_t rsize_t;
|
|
||||||
|
|
||||||
#ifndef _TIME32_T_DEFINED
|
|
||||||
typedef __msvcrt_long __time32_t;
|
|
||||||
#define _TIME32_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _TIME64_T_DEFINED
|
|
||||||
typedef __int64 DECLSPEC_ALIGN(8) __time64_t;
|
|
||||||
#define _TIME64_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _USE_32BIT_TIME_T
|
|
||||||
# ifdef _WIN64
|
|
||||||
# error You cannot use 32-bit time_t in Win64
|
|
||||||
# endif
|
|
||||||
#elif !defined(_WIN64)
|
|
||||||
# define _USE_32BIT_TIME_T
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _TIME_T_DEFINED
|
|
||||||
#ifdef _USE_32BIT_TIME_T
|
|
||||||
typedef __time32_t time_t;
|
|
||||||
#else
|
|
||||||
typedef __time64_t time_t;
|
|
||||||
#endif
|
|
||||||
#define _TIME_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _WCHAR_T_DEFINED
|
|
||||||
#ifndef __cplusplus
|
|
||||||
typedef unsigned short wchar_t;
|
|
||||||
#endif
|
|
||||||
#define _WCHAR_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _WCTYPE_T_DEFINED
|
|
||||||
typedef unsigned short wint_t;
|
|
||||||
typedef unsigned short wctype_t;
|
|
||||||
#define _WCTYPE_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _ERRNO_T_DEFINED
|
|
||||||
typedef int errno_t;
|
|
||||||
#define _ERRNO_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _CONST_RETURN
|
|
||||||
# ifdef __cplusplus
|
|
||||||
# define _CONST_RETURN const
|
|
||||||
# define _CRT_CONST_CORRECT_OVERLOADS
|
|
||||||
# else
|
|
||||||
# define _CONST_RETURN
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct threadlocaleinfostruct;
|
|
||||||
struct threadmbcinfostruct;
|
|
||||||
typedef struct threadlocaleinfostruct *pthreadlocinfo;
|
|
||||||
typedef struct threadmbcinfostruct *pthreadmbcinfo;
|
|
||||||
|
|
||||||
typedef struct localeinfo_struct
|
|
||||||
{
|
|
||||||
pthreadlocinfo locinfo;
|
|
||||||
pthreadmbcinfo mbcinfo;
|
|
||||||
} _locale_tstruct, *_locale_t;
|
|
||||||
|
|
||||||
#ifndef _TAGLC_ID_DEFINED
|
|
||||||
typedef struct tagLC_ID {
|
|
||||||
unsigned short wLanguage;
|
|
||||||
unsigned short wCountry;
|
|
||||||
unsigned short wCodePage;
|
|
||||||
} LC_ID, *LPLC_ID;
|
|
||||||
#define _TAGLC_ID_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _THREADLOCALEINFO
|
|
||||||
typedef struct threadlocaleinfostruct {
|
|
||||||
#if _MSVCR_VER >= 140
|
|
||||||
unsigned short *pctype;
|
|
||||||
int mb_cur_max;
|
|
||||||
unsigned int lc_codepage;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int refcount;
|
|
||||||
#if _MSVCR_VER < 140
|
|
||||||
unsigned int lc_codepage;
|
|
||||||
#endif
|
|
||||||
unsigned int lc_collate_cp;
|
|
||||||
__msvcrt_ulong lc_handle[6];
|
|
||||||
LC_ID lc_id[6];
|
|
||||||
struct {
|
|
||||||
char *locale;
|
|
||||||
wchar_t *wlocale;
|
|
||||||
int *refcount;
|
|
||||||
int *wrefcount;
|
|
||||||
} lc_category[6];
|
|
||||||
int lc_clike;
|
|
||||||
#if _MSVCR_VER < 140
|
|
||||||
int mb_cur_max;
|
|
||||||
#endif
|
|
||||||
int *lconv_intl_refcount;
|
|
||||||
int *lconv_num_refcount;
|
|
||||||
int *lconv_mon_refcount;
|
|
||||||
struct lconv *lconv;
|
|
||||||
int *ctype1_refcount;
|
|
||||||
unsigned short *ctype1;
|
|
||||||
#if _MSVCR_VER < 140
|
|
||||||
unsigned short *pctype;
|
|
||||||
#endif
|
|
||||||
const unsigned char *pclmap;
|
|
||||||
const unsigned char *pcumap;
|
|
||||||
struct __lc_time_data *lc_time_curr;
|
|
||||||
#if _MSVCR_VER >= 110
|
|
||||||
wchar_t *lc_name[6];
|
|
||||||
#endif
|
|
||||||
} threadlocinfo;
|
|
||||||
#define _THREADLOCALEINFO
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__MINGW32__) || (defined(_MSC_VER) && defined(__clang__))
|
|
||||||
#define __WINE_CRT_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
|
|
||||||
#define __WINE_CRT_SCANF_ATTR(fmt,args) __attribute__((format (scanf,fmt,args)))
|
|
||||||
#else
|
|
||||||
#define __WINE_CRT_PRINTF_ATTR(fmt,args)
|
|
||||||
#define __WINE_CRT_SCANF_ATTR(fmt,args)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
|
|
||||||
#define __WINE_ALLOC_SIZE(...) __attribute__((__alloc_size__(__VA_ARGS__)))
|
|
||||||
#else
|
|
||||||
#define __WINE_ALLOC_SIZE(...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 10)
|
|
||||||
#define __WINE_DEALLOC(...) __attribute__((malloc (__VA_ARGS__)))
|
|
||||||
#else
|
|
||||||
#define __WINE_DEALLOC(...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 2)
|
|
||||||
#define __WINE_MALLOC __attribute__((malloc))
|
|
||||||
#else
|
|
||||||
#define __WINE_MALLOC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_CORECRT_H */
|
|
||||||
@@ -1,155 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _IO_DEFINED
|
|
||||||
#define _IO_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt_wio.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#if defined(_USE_32BIT_TIME_T)
|
|
||||||
# define _finddata_t _finddata32_t
|
|
||||||
# define _finddatai64_t _finddata32i64_t
|
|
||||||
#else
|
|
||||||
# define _finddata_t _finddata64i32_t
|
|
||||||
# define _finddatai64_t _finddata64_t
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _finddata32_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time32_t time_create;
|
|
||||||
__time32_t time_access;
|
|
||||||
__time32_t time_write;
|
|
||||||
_fsize_t size;
|
|
||||||
char name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _finddata32i64_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time32_t time_create;
|
|
||||||
__time32_t time_access;
|
|
||||||
__time32_t time_write;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) size;
|
|
||||||
char name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _finddata64i32_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time64_t time_create;
|
|
||||||
__time64_t time_access;
|
|
||||||
__time64_t time_write;
|
|
||||||
_fsize_t size;
|
|
||||||
char name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _finddata64_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time64_t time_create;
|
|
||||||
__time64_t time_access;
|
|
||||||
__time64_t time_write;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) size;
|
|
||||||
char name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
/* The following are also defined in dos.h */
|
|
||||||
#define _A_NORMAL 0x00000000
|
|
||||||
#define _A_RDONLY 0x00000001
|
|
||||||
#define _A_HIDDEN 0x00000002
|
|
||||||
#define _A_SYSTEM 0x00000004
|
|
||||||
#define _A_VOLID 0x00000008
|
|
||||||
#define _A_SUBDIR 0x00000010
|
|
||||||
#define _A_ARCH 0x00000020
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _findfirst _findfirst32
|
|
||||||
# define _findfirsti64 _findfirst32i64
|
|
||||||
# define _findnext _findnext32
|
|
||||||
# define _findnexti64 _findnext32i64
|
|
||||||
# else
|
|
||||||
# define _findfirst _findfirst64i32
|
|
||||||
# define _findfirsti64 _findfirst64
|
|
||||||
# define _findnext _findnext64i32
|
|
||||||
# define _findnexti64 _findnext64
|
|
||||||
# endif
|
|
||||||
#else /* _UCRT */
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _findfirst32 _findfirst
|
|
||||||
# define _findfirst32i64 _findfirsti64
|
|
||||||
# define _findnext32 _findnext
|
|
||||||
# define _findnext32i64 _findnexti64
|
|
||||||
# else
|
|
||||||
# define _findfirst64i32 _findfirst
|
|
||||||
# define _findfirst64 _findfirsti64
|
|
||||||
# define _findnext64i32 _findnext
|
|
||||||
# define _findnext64 _findnexti64
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _access(const char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _access_s(const char*,int);
|
|
||||||
_ACRTIMP int __cdecl _chmod(const char*,int);
|
|
||||||
_ACRTIMP int __cdecl _chsize(int,__msvcrt_long);
|
|
||||||
_ACRTIMP int __cdecl _chsize_s(int,__int64);
|
|
||||||
_ACRTIMP int __cdecl _close(int);
|
|
||||||
_ACRTIMP int __cdecl _creat(const char*,int);
|
|
||||||
_ACRTIMP int __cdecl _dup(int);
|
|
||||||
_ACRTIMP int __cdecl _dup2(int,int);
|
|
||||||
_ACRTIMP int __cdecl _eof(int);
|
|
||||||
_ACRTIMP __int64 __cdecl _filelengthi64(int);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _filelength(int);
|
|
||||||
_ACRTIMP int __cdecl _findclose(intptr_t);
|
|
||||||
#ifdef _UCRT
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst32(const char*,struct _finddata32_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst32i64(const char*, struct _finddata32i64_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst64(const char*,struct _finddata64_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst64i32(const char*, struct _finddata64i32_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext32(intptr_t,struct _finddata32_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext32i64(intptr_t,struct _finddata32i64_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext64(intptr_t,struct _finddata64_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext64i32(intptr_t,struct _finddata64i32_t*);
|
|
||||||
#else
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst(const char*,struct _finddata_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirsti64(const char*, struct _finddatai64_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _findfirst64(const char*, struct _finddata64_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext(intptr_t,struct _finddata_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnexti64(intptr_t, struct _finddatai64_t*);
|
|
||||||
_ACRTIMP int __cdecl _findnext64(intptr_t, struct _finddata64_t*);
|
|
||||||
#endif
|
|
||||||
_ACRTIMP intptr_t __cdecl _get_osfhandle(int);
|
|
||||||
_ACRTIMP int __cdecl _isatty(int);
|
|
||||||
_ACRTIMP int __cdecl _locking(int,int,__msvcrt_long);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _lseek(int,__msvcrt_long,int);
|
|
||||||
_ACRTIMP __int64 __cdecl _lseeki64(int,__int64,int);
|
|
||||||
_ACRTIMP char* __cdecl _mktemp(char*);
|
|
||||||
_ACRTIMP int __cdecl _mktemp_s(char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _open(const char*,int,...);
|
|
||||||
_ACRTIMP int __cdecl _open_osfhandle(intptr_t,int);
|
|
||||||
_ACRTIMP int __cdecl _pipe(int*,unsigned int,int);
|
|
||||||
_ACRTIMP int __cdecl _read(int,void*,unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _setmode(int,int);
|
|
||||||
_ACRTIMP int __cdecl _sopen(const char*,int,int,...);
|
|
||||||
_ACRTIMP errno_t __cdecl _sopen_dispatch(const char*,int,int,int,int*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _sopen_s(int*,const char*,int,int,int);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _tell(int);
|
|
||||||
_ACRTIMP __int64 __cdecl _telli64(int);
|
|
||||||
_ACRTIMP int __cdecl _umask(int);
|
|
||||||
_ACRTIMP int __cdecl _unlink(const char*);
|
|
||||||
_ACRTIMP int __cdecl _write(int,const void*,unsigned int);
|
|
||||||
_ACRTIMP int __cdecl remove(const char*);
|
|
||||||
_ACRTIMP int __cdecl rename(const char*,const char*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* _IO_DEFINED */
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* Heap definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_CORECRT_MALLOC_H
|
|
||||||
#define __WINE_CORECRT_MALLOC_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP void* __cdecl calloc(size_t,size_t);
|
|
||||||
_ACRTIMP void __cdecl free(void*);
|
|
||||||
_ACRTIMP void* __cdecl malloc(size_t);
|
|
||||||
_ACRTIMP void* __cdecl realloc(void*,size_t);
|
|
||||||
_ACRTIMP void* __cdecl _recalloc(void*,size_t,size_t) __WINE_ALLOC_SIZE(2,3) __WINE_DEALLOC(free);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _callnewh(size_t);
|
|
||||||
_ACRTIMP void* __cdecl _expand(void*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _msize(void*);
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl _aligned_free(void*);
|
|
||||||
_ACRTIMP void* __cdecl _aligned_malloc(size_t,size_t) __WINE_ALLOC_SIZE(1) __WINE_DEALLOC(_aligned_free) __WINE_MALLOC;
|
|
||||||
_ACRTIMP size_t __cdecl _aligned_msize(void*,size_t,size_t);
|
|
||||||
_ACRTIMP void* __cdecl _aligned_offset_malloc(size_t,size_t,size_t) __WINE_ALLOC_SIZE(1) __WINE_DEALLOC(_aligned_free) __WINE_MALLOC;
|
|
||||||
_ACRTIMP void* __cdecl _aligned_realloc(void*,size_t,size_t) __WINE_ALLOC_SIZE(2) __WINE_DEALLOC(_aligned_free);
|
|
||||||
_ACRTIMP void* __cdecl _aligned_offset_realloc(void*,size_t,size_t,size_t) __WINE_ALLOC_SIZE(2) __WINE_DEALLOC(_aligned_free);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_CORECRT_MALLOC_H */
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INC_CORECRT_STARTUP
|
|
||||||
#define _INC_CORECRT_STARTUP
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
typedef enum _crt_argv_mode
|
|
||||||
{
|
|
||||||
_crt_argv_no_arguments,
|
|
||||||
_crt_argv_unexpanded_arguments,
|
|
||||||
_crt_argv_expanded_arguments
|
|
||||||
} _crt_argv_mode;
|
|
||||||
|
|
||||||
typedef enum _crt_app_type
|
|
||||||
{
|
|
||||||
_crt_unknown_app,
|
|
||||||
_crt_console_app,
|
|
||||||
_crt_gui_app
|
|
||||||
} _crt_app_type;
|
|
||||||
|
|
||||||
typedef void (__cdecl *_PVFV)(void);
|
|
||||||
typedef int (__cdecl *_PIFV)(void);
|
|
||||||
typedef void (__cdecl *_PVFI)(int);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _initterm_e(_PIFV *, _PIFV *);
|
|
||||||
|
|
||||||
typedef struct _onexit_table_t {
|
|
||||||
_PVFV *_first;
|
|
||||||
_PVFV *_last;
|
|
||||||
_PVFV *_end;
|
|
||||||
} _onexit_table_t;
|
|
||||||
|
|
||||||
#ifndef _CRT_ONEXIT_T_DEFINED
|
|
||||||
#define _CRT_ONEXIT_T_DEFINED
|
|
||||||
typedef int (__cdecl *_onexit_t)(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _exception;
|
|
||||||
typedef int (__cdecl *_UserMathErrorFunctionPointer)(struct _exception *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _UCRT
|
|
||||||
_ACRTIMP void __cdecl __getmainargs(int *, char ***, char ***, int, int *);
|
|
||||||
_ACRTIMP void __cdecl __wgetmainargs(int *, wchar_t ***, wchar_t ***, int, int *);
|
|
||||||
#define _set_app_type __set_app_type
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl __setusermatherr(_UserMathErrorFunctionPointer);
|
|
||||||
_ACRTIMP errno_t __cdecl _configure_narrow_argv(_crt_argv_mode);
|
|
||||||
_ACRTIMP errno_t __cdecl _configure_wide_argv(_crt_argv_mode);
|
|
||||||
_ACRTIMP int __cdecl _crt_at_quick_exit(_PVFV);
|
|
||||||
_ACRTIMP int __cdecl _crt_atexit(_PVFV);
|
|
||||||
_ACRTIMP int __cdecl _execute_onexit_table(_onexit_table_t*);
|
|
||||||
_ACRTIMP char **__cdecl _get_initial_narrow_environment(void);
|
|
||||||
_ACRTIMP wchar_t **__cdecl _get_initial_wide_environment(void);
|
|
||||||
_ACRTIMP char* __cdecl _get_narrow_winmain_command_line(void);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _get_wide_winmain_command_line(void);
|
|
||||||
_ACRTIMP int __cdecl _initialize_narrow_environment(void);
|
|
||||||
_ACRTIMP int __cdecl _initialize_onexit_table(_onexit_table_t*);
|
|
||||||
_ACRTIMP int __cdecl _initialize_wide_environment(void);
|
|
||||||
_ACRTIMP int __cdecl _register_onexit_function(_onexit_table_t*,_onexit_t);
|
|
||||||
_ACRTIMP void __cdecl _set_app_type(_crt_app_type);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _INC_CORECRT_STARTUP */
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _STDIO_CONFIG_DEFINED
|
|
||||||
#define _STDIO_CONFIG_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#define _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION 0x0001ULL
|
|
||||||
#define _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR 0x0002ULL
|
|
||||||
#define _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS 0x0004ULL
|
|
||||||
#define _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY 0x0008ULL
|
|
||||||
#define _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS 0x0010ULL
|
|
||||||
#define _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING 0x0020ULL
|
|
||||||
|
|
||||||
#define _CRT_INTERNAL_SCANF_SECURECRT 0x0001ULL
|
|
||||||
#define _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS 0x0002ULL
|
|
||||||
#define _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY 0x0004ULL
|
|
||||||
|
|
||||||
#ifndef _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS
|
|
||||||
#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _CRT_INTERNAL_LOCAL_SCANF_OPTIONS
|
|
||||||
#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _STDIO_CONFIG_DEFINED */
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WCTYPE_DEFINED
|
|
||||||
#define _WCTYPE_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* ASCII char classification table - binary compatible */
|
|
||||||
#define _UPPER 0x0001 /* C1_UPPER */
|
|
||||||
#define _LOWER 0x0002 /* C1_LOWER */
|
|
||||||
#define _DIGIT 0x0004 /* C1_DIGIT */
|
|
||||||
#define _SPACE 0x0008 /* C1_SPACE */
|
|
||||||
#define _PUNCT 0x0010 /* C1_PUNCT */
|
|
||||||
#define _CONTROL 0x0020 /* C1_CNTRL */
|
|
||||||
#define _BLANK 0x0040 /* C1_BLANK */
|
|
||||||
#define _HEX 0x0080 /* C1_XDIGIT */
|
|
||||||
#define _LEADBYTE 0x8000
|
|
||||||
#define _ALPHA (0x0100|_UPPER|_LOWER) /* (C1_ALPHA|_UPPER|_LOWER) */
|
|
||||||
|
|
||||||
_ACRTIMP const unsigned short* __cdecl __pctype_func(void);
|
|
||||||
_ACRTIMP int __cdecl _isleadbyte_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswalnum_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswalpha_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswblank_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswcntrl_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswctype_l(wint_t,wctype_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswdigit_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswgraph_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswlower_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswprint_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswpunct_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswspace_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswupper_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _iswxdigit_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP wint_t __cdecl _towlower_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP wint_t __cdecl _towupper_l(wint_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl is_wctype(wint_t,wctype_t);
|
|
||||||
_ACRTIMP int __cdecl isleadbyte(int);
|
|
||||||
_ACRTIMP int __cdecl iswalnum(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswalpha(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswascii(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswblank(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswcntrl(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswctype(wint_t,wctype_t);
|
|
||||||
_ACRTIMP int __cdecl iswdigit(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswgraph(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswlower(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswprint(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswpunct(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswspace(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswupper(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswxdigit(wint_t);
|
|
||||||
_ACRTIMP wint_t __cdecl towlower(wint_t);
|
|
||||||
_ACRTIMP wint_t __cdecl towupper(wint_t);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WCTYPE_DEFINED */
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WDIRECT_DEFINED
|
|
||||||
#define _WDIRECT_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _wchdir(const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wgetcwd(wchar_t*,int);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wgetdcwd(int,wchar_t*,int);
|
|
||||||
_ACRTIMP int __cdecl _wmkdir(const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wrmdir(const wchar_t*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WDIRECT_DEFINED */
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WIO_DEFINED
|
|
||||||
#define _WIO_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
typedef __msvcrt_ulong _fsize_t;
|
|
||||||
|
|
||||||
#if defined(_USE_32BIT_TIME_T)
|
|
||||||
# define _wfinddata_t _wfinddata32_t
|
|
||||||
# define _wfinddatai64_t _wfinddata32i64_t
|
|
||||||
#else
|
|
||||||
# define _wfinddata_t _wfinddata64i32_t
|
|
||||||
# define _wfinddatai64_t _wfinddata64_t
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _wfinddata32_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time32_t time_create;
|
|
||||||
__time32_t time_access;
|
|
||||||
__time32_t time_write;
|
|
||||||
_fsize_t size;
|
|
||||||
wchar_t name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _wfinddata32i64_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time32_t time_create;
|
|
||||||
__time32_t time_access;
|
|
||||||
__time32_t time_write;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) size;
|
|
||||||
wchar_t name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _wfinddata64i32_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time64_t time_create;
|
|
||||||
__time64_t time_access;
|
|
||||||
__time64_t time_write;
|
|
||||||
_fsize_t size;
|
|
||||||
wchar_t name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _wfinddata64_t {
|
|
||||||
unsigned attrib;
|
|
||||||
__time64_t time_create;
|
|
||||||
__time64_t time_access;
|
|
||||||
__time64_t time_write;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) size;
|
|
||||||
wchar_t name[260];
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _wfindfirst _wfindfirst32
|
|
||||||
# define _wfindfirsti64 _wfindfirst32i64
|
|
||||||
# define _wfindnext _wfindnext32
|
|
||||||
# define _wfindnexti64 _wfindnext32i64
|
|
||||||
# else
|
|
||||||
# define _wfindfirst _wfindfirst64i32
|
|
||||||
# define _wfindfirsti64 _wfindfirst64
|
|
||||||
# define _wfindnext _wfindnext64i32
|
|
||||||
# define _wfindnexti64 _wfindnext64
|
|
||||||
# endif
|
|
||||||
#else /* _UCRT */
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _wfindfirst32 _wfindfirst
|
|
||||||
# define _wfindfirst32i64 _wfindfirsti64
|
|
||||||
# define _wfindnext32 _wfindnext
|
|
||||||
# define _wfindnext32i64 _wfindnexti64
|
|
||||||
# else
|
|
||||||
# define _wfindfirst64i32 _wfindfirst
|
|
||||||
# define _wfindfirst64 _wfindfirsti64
|
|
||||||
# define _wfindnext64i32 _wfindnext
|
|
||||||
# define _wfindnext64 _wfindnexti64
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _waccess(const wchar_t*,int);
|
|
||||||
_ACRTIMP int __cdecl _wchmod(const wchar_t*,int);
|
|
||||||
_ACRTIMP int __cdecl _wcreat(const wchar_t*,int);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t*,struct _wfinddata32_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t*, struct _wfinddata32i64_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t*,struct _wfinddata64_t*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wfindfirst64i32(const wchar_t*, struct _wfinddata64i32_t*);
|
|
||||||
_ACRTIMP int __cdecl _wfindnext32(intptr_t,struct _wfinddata32_t*);
|
|
||||||
_ACRTIMP int __cdecl _wfindnext32i64(intptr_t,struct _wfinddata32i64_t*);
|
|
||||||
_ACRTIMP int __cdecl _wfindnext64(intptr_t,struct _wfinddata64_t*);
|
|
||||||
_ACRTIMP int __cdecl _wfindnext64i32(intptr_t,struct _wfinddata64i32_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wmktemp(wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wopen(const wchar_t*,int,...);
|
|
||||||
_ACRTIMP int __cdecl _wrename(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wsopen(const wchar_t*,int,int,...);
|
|
||||||
_ACRTIMP errno_t __cdecl _wsopen_s(int*,const wchar_t*,int,int,int);
|
|
||||||
_ACRTIMP int __cdecl _wunlink(const wchar_t*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* _WIO_DEFINED */
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WPROCESS_DEFINED
|
|
||||||
#define _WPROCESS_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecl(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecle(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexeclp(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexeclpe(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecv(const wchar_t*,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecve(const wchar_t*,const wchar_t* const *,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecvp(const wchar_t*,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wexecvpe(const wchar_t*,const wchar_t* const *,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnl(int,const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnle(int,const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnlp(int,const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnlpe(int,const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnv(int,const wchar_t*,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnve(int,const wchar_t*,const wchar_t* const *,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnvp(int,const wchar_t*,const wchar_t* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _wspawnvpe(int,const wchar_t*,const wchar_t* const *,const wchar_t* const *);
|
|
||||||
_ACRTIMP int __cdecl _wsystem(const wchar_t*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WPROCESS_DEFINED */
|
|
||||||
@@ -1,417 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WSTDIO_DEFINED
|
|
||||||
#define _WSTDIO_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <corecrt_stdio_config.h>
|
|
||||||
|
|
||||||
#ifndef RC_INVOKED
|
|
||||||
#include <stdarg.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _FILE_DEFINED
|
|
||||||
#define _FILE_DEFINED
|
|
||||||
#pragma pack(push,8)
|
|
||||||
typedef struct _iobuf
|
|
||||||
{
|
|
||||||
#ifdef _UCRT
|
|
||||||
void *_Placeholder;
|
|
||||||
#else
|
|
||||||
char* _ptr;
|
|
||||||
int _cnt;
|
|
||||||
char* _base;
|
|
||||||
int _flag;
|
|
||||||
int _file;
|
|
||||||
int _charbuf;
|
|
||||||
int _bufsiz;
|
|
||||||
char* _tmpfname;
|
|
||||||
#endif
|
|
||||||
} FILE;
|
|
||||||
#pragma pack(pop)
|
|
||||||
#endif /* _FILE_DEFINED */
|
|
||||||
|
|
||||||
#ifndef WEOF
|
|
||||||
#define WEOF (wint_t)(0xFFFF)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP FILE *__cdecl __acrt_iob_func(unsigned index);
|
|
||||||
|
|
||||||
#define stdin (__acrt_iob_func(0))
|
|
||||||
#define stdout (__acrt_iob_func(1))
|
|
||||||
#define stderr (__acrt_iob_func(2))
|
|
||||||
|
|
||||||
_ACRTIMP wint_t __cdecl _fgetwc_nolock(FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl _fgetwchar(void);
|
|
||||||
_ACRTIMP wint_t __cdecl _fputwc_nolock(wint_t,FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl _fputwchar(wint_t);
|
|
||||||
_ACRTIMP wint_t __cdecl _getwc_nolock(FILE*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _getws(wchar_t*);
|
|
||||||
_ACRTIMP wint_t __cdecl _putwc_nolock(wint_t,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _putws(const wchar_t*);
|
|
||||||
_ACRTIMP wint_t __cdecl _ungetwc_nolock(wint_t,FILE*);
|
|
||||||
_ACRTIMP FILE* __cdecl _wfdopen(int,const wchar_t*);
|
|
||||||
_ACRTIMP FILE* __cdecl _wfopen(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wfopen_s(FILE**,const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP FILE* __cdecl _wfreopen(const wchar_t*,const wchar_t*,FILE*);
|
|
||||||
_ACRTIMP FILE* __cdecl _wfsopen(const wchar_t*,const wchar_t*,int);
|
|
||||||
_ACRTIMP void __cdecl _wperror(const wchar_t*);
|
|
||||||
_ACRTIMP FILE* __cdecl _wpopen(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wremove(const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wtempnam(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wtmpnam(wchar_t*);
|
|
||||||
|
|
||||||
_ACRTIMP wint_t __cdecl fgetwc(FILE*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl fgetws(wchar_t*,int,FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl fputwc(wint_t,FILE*);
|
|
||||||
_ACRTIMP int __cdecl fputws(const wchar_t*,FILE*);
|
|
||||||
_ACRTIMP int __cdecl fputws(const wchar_t*,FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl getwc(FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl getwchar(void);
|
|
||||||
_ACRTIMP wchar_t* __cdecl getws(wchar_t*);
|
|
||||||
_ACRTIMP wint_t __cdecl putwc(wint_t,FILE*);
|
|
||||||
_ACRTIMP wint_t __cdecl putwchar(wint_t);
|
|
||||||
_ACRTIMP int __cdecl putws(const wchar_t*);
|
|
||||||
_ACRTIMP wint_t __cdecl ungetwc(wint_t,FILE*);
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfwprintf(unsigned __int64,FILE*,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfwprintf_s(unsigned __int64,FILE*,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsnwprintf_s(unsigned __int64,wchar_t*,size_t,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vswprintf(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vswprintf_p(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vswprintf_s(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfwscanf(unsigned __int64,FILE*,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vswscanf(unsigned __int64,const wchar_t*,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
#if defined(_UCRT) && !defined(_NO_CRT_STDIO_INLINE)
|
|
||||||
|
|
||||||
static inline int __cdecl _vsnwprintf(wchar_t *buffer, size_t size, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _snwprintf(wchar_t *buffer, size_t size, const wchar_t* format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vsnwprintf_s(wchar_t *buffer, size_t size, size_t count, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsnwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, count, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _snwprintf_s(wchar_t *buffer, size_t size, size_t count, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsnwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, count, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vswprintf(wchar_t *buffer, size_t size, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl swprintf(wchar_t *buffer, size_t size, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vswprintf(wchar_t *buffer, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, -1, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _swprintf(wchar_t *buffer, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, -1, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vswprintf_s(wchar_t *buffer, size_t size, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl swprintf_s(wchar_t *buffer, size_t size, const wchar_t* format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _swprintf_l(wchar_t *buffer, size_t size, const wchar_t* format, _locale_t locale, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, locale);
|
|
||||||
ret = __stdio_common_vswprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, locale, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vscwprintf(const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
NULL, 0, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vswprintf_p_l(wchar_t *buffer, size_t size, const wchar_t *format, _locale_t locale, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, locale, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vscwprintf_p_l(const wchar_t *format, _locale_t locale, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
NULL, 0, format, locale, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _scwprintf(const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
NULL, 0, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vfwprintf(FILE *file, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fwprintf(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vfwprintf_s(FILE *file, const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fwprintf_s(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = vfwprintf_s(file, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vwprintf(const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl wprintf(const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vwprintf_s(const wchar_t *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl wprintf_s(const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = vfwprintf_s(stdout, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl swscanf(const wchar_t *buffer, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, buffer, -1, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl swscanf_s(const wchar_t *buffer, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, buffer, -1, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fwscanf(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fwscanf_s(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl wscanf(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl wscanf_s(FILE *file, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, stdin, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* _UCRT && !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _scwprintf(const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl _snwprintf(wchar_t*,size_t,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl _snwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl _vscwprintf(const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl _vscwprintf_p_l(const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl _vsnwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl _vswprintf_p_l(wchar_t*,size_t,const wchar_t*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl fwprintf(FILE*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl fwprintf_s(FILE*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl swprintf_s(wchar_t*,size_t,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl vfwprintf(FILE*,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl vfwprintf_s(FILE*,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl vswprintf_s(wchar_t*,size_t,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl vwprintf(const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl vwprintf_s(const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl wprintf(const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl wprintf_s(const wchar_t*,...);
|
|
||||||
|
|
||||||
#ifdef _CRT_NON_CONFORMING_SWPRINTFS
|
|
||||||
_ACRTIMP int __cdecl swprintf(wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl vswprintf(wchar_t*,const wchar_t*,va_list);
|
|
||||||
#elif !defined(_NO_CRT_STDIO_INLINE)
|
|
||||||
static inline int __cdecl vswprintf(wchar_t *buffer, size_t size, const wchar_t *format, va_list args) { return _vsnwprintf(buffer,size,format,args); }
|
|
||||||
static inline int __cdecl swprintf(wchar_t *buffer, size_t size, const wchar_t *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = _vsnwprintf(buffer, size, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
_ACRTIMP int __cdecl vswprintf(wchar_t*,size_t,const wchar_t*,va_list);
|
|
||||||
_ACRTIMP int __cdecl swprintf(wchar_t*,size_t,const wchar_t*,...);
|
|
||||||
#endif /* _CRT_NON_CONFORMING_SWPRINTFS */
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl fwscanf(FILE*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl fwscanf_s(FILE*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl swscanf(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl swscanf_s(const wchar_t*,const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl wscanf(const wchar_t*,...);
|
|
||||||
_ACRTIMP int __cdecl wscanf_s(const wchar_t*,...);
|
|
||||||
|
|
||||||
#endif /* _UCRT && !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* _WSTDIO_DEFINED */
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WSTDLIB_DEFINED
|
|
||||||
#define _WSTDLIB_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP wchar_t* __cdecl _itow(int,wchar_t*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _itow_s(int,wchar_t*,size_t, int);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _i64tow(__int64,wchar_t*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _i64tow_s(__int64, wchar_t*, size_t, int);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _ltow(__msvcrt_long,wchar_t*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ltow_s(__msvcrt_long,wchar_t*,size_t,int);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _ui64tow(unsigned __int64,wchar_t*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64, wchar_t*, size_t, int);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _ultow(__msvcrt_ulong,wchar_t*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ultow_s(__msvcrt_ulong, wchar_t*, size_t, int);
|
|
||||||
_ACRTIMP errno_t __cdecl _wdupenv_s(wchar_t**,size_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wfullpath(wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wgetenv(const wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wgetenv_s(size_t *,wchar_t *,size_t,const wchar_t *);
|
|
||||||
_ACRTIMP void __cdecl _wmakepath(wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wmakepath_s(wchar_t*,size_t,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP void __cdecl _wperror(const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wputenv(const wchar_t*);
|
|
||||||
_ACRTIMP void __cdecl _wsearchenv(const wchar_t*,const wchar_t*,wchar_t*);
|
|
||||||
_ACRTIMP void __cdecl _wsplitpath(const wchar_t*,wchar_t*,wchar_t*,wchar_t*,wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wsplitpath_s(const wchar_t*,wchar_t*,size_t,wchar_t*,size_t,
|
|
||||||
wchar_t*,size_t,wchar_t*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _wsystem(const wchar_t*);
|
|
||||||
_ACRTIMP double __cdecl _wtof(const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wtoi(const wchar_t*);
|
|
||||||
_ACRTIMP __int64 __cdecl _wtoi64(const wchar_t*);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _wtol(const wchar_t*);
|
|
||||||
|
|
||||||
_ACRTIMP size_t __cdecl mbstowcs(wchar_t*,const char*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _mbstowcs_l(wchar_t*,const char*,size_t,_locale_t);
|
|
||||||
_ACRTIMP errno_t __cdecl mbstowcs_s(size_t*,wchar_t*,size_t,const char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbstowcs_s_l(size_t*,wchar_t*,size_t,const char*,size_t,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl mbtowc(wchar_t*,const char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbtowc_l(wchar_t*,const char*,size_t,_locale_t);
|
|
||||||
_ACRTIMP double __cdecl wcstod(const wchar_t*,wchar_t**);
|
|
||||||
_ACRTIMP double __cdecl _wcstod_l(const wchar_t*,wchar_t**,_locale_t);
|
|
||||||
_ACRTIMP float __cdecl wcstof(const wchar_t*,wchar_t**);
|
|
||||||
_ACRTIMP float __cdecl _wcstof_l(const wchar_t*,wchar_t**,_locale_t);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl wcstol(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _wcstol_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
_ACRTIMP size_t __cdecl wcstombs(char*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _wcstombs_l(char*,const wchar_t*,size_t,_locale_t);
|
|
||||||
_ACRTIMP errno_t __cdecl wcstombs_s(size_t*,char*,size_t,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl _wcstombs_s_l(size_t*,char*,size_t,const wchar_t*,size_t,_locale_t);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _wcstoul_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl wctomb(char*,wchar_t);
|
|
||||||
_ACRTIMP int __cdecl _wctomb_l(char*,wchar_t,_locale_t);
|
|
||||||
_ACRTIMP __int64 __cdecl _wcstoi64(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
_ACRTIMP __int64 __cdecl wcstoll(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP __int64 __cdecl _wcstoll_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl wcstoull(const wchar_t*,wchar_t**,int);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _wcstoull_l(const wchar_t*,wchar_t**,int,_locale_t);
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
_ACRTIMP double __cdecl _wcstold_l(const wchar_t*,wchar_t**,_locale_t);
|
|
||||||
static inline long double wcstold(const wchar_t *string, wchar_t **endptr) { return _wcstold_l(string, endptr, NULL); }
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C++" {
|
|
||||||
|
|
||||||
template <size_t size>
|
|
||||||
inline errno_t _wgetenv_s(size_t *ret, wchar_t (&buf)[size], const wchar_t *var)
|
|
||||||
{
|
|
||||||
return _wgetenv_s(ret, buf, size, var);
|
|
||||||
}
|
|
||||||
|
|
||||||
} /* extern "C++" */
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WSTDLIB_DEFINED */
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WSTRING_DEFINED
|
|
||||||
#define _WSTRING_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <corecrt_malloc.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _CRT_MEMORY_DEFINED
|
|
||||||
#define _CRT_MEMORY_DEFINED
|
|
||||||
_ACRTIMP void* __cdecl memchr(const void*,int,size_t);
|
|
||||||
_ACRTIMP int __cdecl memcmp(const void*,const void*,size_t);
|
|
||||||
_ACRTIMP void* __cdecl memcpy(void*,const void*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl memcpy_s(void*,size_t,const void*,size_t);
|
|
||||||
_ACRTIMP void* __cdecl memset(void*,int,size_t);
|
|
||||||
_ACRTIMP void* __cdecl _memccpy(void*,const void*,int,size_t);
|
|
||||||
_ACRTIMP int __cdecl _memicmp(const void*,const void*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _memicmp_l(const void*,const void*,size_t,_locale_t);
|
|
||||||
|
|
||||||
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
|
|
||||||
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
|
|
||||||
#endif /* _CRT_MEMORY_DEFINED */
|
|
||||||
|
|
||||||
_ACRTIMP void* __cdecl memmove(void*,const void*,size_t);
|
|
||||||
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcsdup(const wchar_t*) __WINE_DEALLOC(free) __WINE_MALLOC;
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcserror(int);
|
|
||||||
_ACRTIMP int __cdecl _wcsicmp(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wcsicmp_l(const wchar_t*,const wchar_t*, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsicoll(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl _wcsicoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcslwr(wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wcslwr_s(wchar_t*, size_t);
|
|
||||||
_ACRTIMP int __cdecl _wcscoll_l(const wchar_t*, const wchar_t*, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsncoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsnicmp(const wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsnicoll(const wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _wcsnicoll_l(const wchar_t*, const wchar_t*, size_t, _locale_t);
|
|
||||||
_ACRTIMP size_t __cdecl _wcsnlen(const wchar_t*,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcsnset(wchar_t*,wchar_t,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcsrev(wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcsset(wchar_t*,wchar_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wcsupr(wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wcsupr_s(wchar_t*, size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _wcsxfrm_l(wchar_t*,const wchar_t*,size_t,_locale_t);
|
|
||||||
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcscat(wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl wcscat_s(wchar_t*,size_t,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcschr(const wchar_t*,wchar_t);
|
|
||||||
_ACRTIMP int __cdecl wcscmp(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP int __cdecl wcscoll(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcscpy(wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl wcscpy_s(wchar_t*,size_t,const wchar_t*);
|
|
||||||
_ACRTIMP size_t __cdecl wcscspn(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP size_t __cdecl wcslen(const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcsncat(wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl wcsncat_s(wchar_t*,size_t,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP int __cdecl wcsncmp(const wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcsncpy(wchar_t*,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl wcsncpy_s(wchar_t*,size_t,const wchar_t*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl wcsnlen(const wchar_t*,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*,wchar_t wcFor);
|
|
||||||
_ACRTIMP size_t __cdecl wcsspn(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcsstr(const wchar_t*,const wchar_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcstok_s(wchar_t*,const wchar_t*,wchar_t**);
|
|
||||||
_ACRTIMP size_t __cdecl wcsxfrm(wchar_t*,const wchar_t*,size_t);
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*,wchar_t**);
|
|
||||||
static inline wchar_t* _wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
|
||||||
# ifdef __cplusplus
|
|
||||||
extern "C++" inline wchar_t* wcstok(wchar_t* str, const wchar_t *delim) { return wcstok(str, delim, NULL); }
|
|
||||||
# elif defined(_CRT_NON_CONFORMING_WCSTOK)
|
|
||||||
# define wcstok _wcstok
|
|
||||||
# endif
|
|
||||||
#else /* _UCRT */
|
|
||||||
_ACRTIMP wchar_t* __cdecl wcstok(wchar_t*,const wchar_t*);
|
|
||||||
# define _wcstok wcstok
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C++" {
|
|
||||||
template <size_t S> inline errno_t wcscat_s(wchar_t (&dst)[S], const wchar_t *arg) throw() { return wcscat_s(dst, S, arg); }
|
|
||||||
} /* extern "C++" */
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif /* _WSTRING_DEFINED */
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WTIME_DEFINED
|
|
||||||
#define _WTIME_DEFINED
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
struct tm {
|
|
||||||
int tm_sec;
|
|
||||||
int tm_min;
|
|
||||||
int tm_hour;
|
|
||||||
int tm_mday;
|
|
||||||
int tm_mon;
|
|
||||||
int tm_year;
|
|
||||||
int tm_wday;
|
|
||||||
int tm_yday;
|
|
||||||
int tm_isdst;
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(_USE_32BIT_TIME_T) && !defined(_UCRT)
|
|
||||||
#define _wctime32 _wctime
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wasctime(const struct tm*);
|
|
||||||
_ACRTIMP size_t __cdecl wcsftime(wchar_t*,size_t,const wchar_t*,const struct tm*);
|
|
||||||
_ACRTIMP size_t __cdecl _wcsftime_l(wchar_t*,size_t,const wchar_t*,const struct tm*,_locale_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wctime32(const __time32_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wctime64(const __time64_t*);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wstrdate(wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wstrdate_s(wchar_t*,size_t);
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wstrtime(wchar_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _wstrtime_s(wchar_t*,size_t);
|
|
||||||
|
|
||||||
#ifndef _USE_32BIT_TIME_T
|
|
||||||
static inline wchar_t* _wctime(const time_t *t) { return _wctime64(t); }
|
|
||||||
#elif defined(_UCRT)
|
|
||||||
static inline wchar_t* _wctime(const time_t *t) { return _wctime32(t); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WTIME_DEFINED */
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
/*
|
|
||||||
* Debug API
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_CRTDBG_H_
|
|
||||||
#define __WINE_CRTDBG_H_
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
/* The debug API is not implemented in Winelib.
|
|
||||||
* Redirect everything to the regular APIs.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define _CRT_WARN 0
|
|
||||||
#define _CRT_ERROR 1
|
|
||||||
#define _CRT_ASSERT 2
|
|
||||||
#define _CRT_ERRCNT 3
|
|
||||||
|
|
||||||
#define _FREE_BLOCK 0
|
|
||||||
#define _NORMAL_BLOCK 1
|
|
||||||
#define _CRT_BLOCK 2
|
|
||||||
#define _IGNORE_BLOCK 3
|
|
||||||
#define _CLIENT_BLOCK 4
|
|
||||||
#define _MAX_BLOCKS 5
|
|
||||||
|
|
||||||
#define _BLOCK_TYPE(block) (block & 0xFFFF)
|
|
||||||
#define _BLOCK_SUBTYPE(block) (block >> 16 & 0xFFFF)
|
|
||||||
|
|
||||||
typedef struct _CrtMemState
|
|
||||||
{
|
|
||||||
struct _CrtMemBlockHeader* pBlockHeader;
|
|
||||||
__msvcrt_ulong lCounts[_MAX_BLOCKS];
|
|
||||||
__msvcrt_ulong lSizes[_MAX_BLOCKS];
|
|
||||||
__msvcrt_ulong lHighWaterCount;
|
|
||||||
__msvcrt_ulong lTotalCount;
|
|
||||||
} _CrtMemState;
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _DEBUG
|
|
||||||
|
|
||||||
#define _ASSERT(expr) ((void)0)
|
|
||||||
#define _ASSERTE(expr) ((void)0)
|
|
||||||
#define _CrtDbgBreak() ((void)0)
|
|
||||||
|
|
||||||
#define _CrtCheckMemory() ((int)1)
|
|
||||||
#define _CrtDbgReport(...) ((int)0)
|
|
||||||
#define _CrtDumpMemoryLeaks() ((int)0)
|
|
||||||
#define _CrtSetBreakAlloc(a) ((__msvcrt_long)0)
|
|
||||||
#define _CrtSetDbgFlag(f) ((int)0)
|
|
||||||
#define _CrtSetDumpClient(f) ((void)0)
|
|
||||||
#define _CrtSetReportMode(t,m) ((int)0)
|
|
||||||
|
|
||||||
#else /* _DEBUG */
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#define _ASSERT(expr) assert(expr)
|
|
||||||
#define _ASSERTE(expr) assert(expr)
|
|
||||||
#if defined(_MSC_VER)
|
|
||||||
#define _CrtDbgBreak() __debugbreak()
|
|
||||||
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
|
||||||
#define _CrtDbgBreak() __asm__ ("\tint $0x3\n")
|
|
||||||
#else
|
|
||||||
#define _CrtDbgBreak() ((void)0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern int _crtAssertBusy;
|
|
||||||
extern int _crtBreakAlloc;
|
|
||||||
extern int _crtDbgFlag;
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _CrtCheckMemory(void);
|
|
||||||
_ACRTIMP int __cdecl _CrtDbgReport(int reportType, const char *filename, int linenumber,
|
|
||||||
const char *moduleName, const char *format, ...) __WINE_CRT_PRINTF_ATTR(5, 6);
|
|
||||||
_ACRTIMP int __cdecl _CrtDumpMemoryLeaks(void);
|
|
||||||
_ACRTIMP int __cdecl _CrtSetBreakAlloc(int);
|
|
||||||
_ACRTIMP int __cdecl _CrtSetDbgFlag(int);
|
|
||||||
_ACRTIMP void *__cdecl _CrtSetDumpClient(void *dumpClient);
|
|
||||||
_ACRTIMP int __cdecl _CrtSetReportMode(int reportType, int reportMode);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _DEBUG */
|
|
||||||
|
|
||||||
#define _CrtDoForAllClientObjects(f,c) ((void)0)
|
|
||||||
#define _CrtIsMemoryBlock(p,s,r,f,l) ((int)1)
|
|
||||||
#define _CrtIsValidHeapPointer(p) ((int)1)
|
|
||||||
#define _CrtIsValidPointer(p,s,a) ((int)1)
|
|
||||||
#define _CrtMemCheckpoint(s) ((void)0)
|
|
||||||
#define _CrtMemDifference(s1,s2,s3) ((int)0)
|
|
||||||
#define _CrtMemDumpAllObjectsSince(s) ((void)0)
|
|
||||||
#define _CrtMemDumpStatistics(s) ((void)0)
|
|
||||||
#define _CrtSetAllocHook(f) ((void)0)
|
|
||||||
|
|
||||||
#define _RPT0(t,m)
|
|
||||||
#define _RPT1(t,m,p1)
|
|
||||||
#define _RPT2(t,m,p1,p2)
|
|
||||||
#define _RPT3(t,m,p1,p2,p3)
|
|
||||||
#define _RPT4(t,m,p1,p2,p3,p4)
|
|
||||||
#define _RPTF0(t,m)
|
|
||||||
#define _RPTF1(t,m,p1)
|
|
||||||
#define _RPTF2(t,m,p1,p2)
|
|
||||||
#define _RPTF3(t,m,p1,p2,p3)
|
|
||||||
#define _RPTF4(t,m,p1,p2,p3,p4)
|
|
||||||
|
|
||||||
|
|
||||||
#define _malloc_dbg(s,t,f,l) malloc(s)
|
|
||||||
#define _calloc_dbg(c,s,t,f,l) calloc(c,s)
|
|
||||||
#define _expand_dbg(p,s,t,f,l) _expand(p,s)
|
|
||||||
#define _free_dbg(p,t) free(p)
|
|
||||||
#define _realloc_dbg(p,s,t,f,l) realloc(p,s)
|
|
||||||
|
|
||||||
#endif /* __WINE_CRTDBG_H */
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* CRT definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_CRTDEFS_H
|
|
||||||
#define __WINE_CRTDEFS_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#endif /* __WINE_CRTDEFS_H */
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
/*
|
|
||||||
* Character type definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_CTYPE_H
|
|
||||||
#define __WINE_CTYPE_H
|
|
||||||
|
|
||||||
#include <corecrt_wctype.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WEOF
|
|
||||||
#define WEOF (wint_t)(0xFFFF)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl __isascii(int);
|
|
||||||
_ACRTIMP int __cdecl __iscsym(int);
|
|
||||||
_ACRTIMP int __cdecl __iscsymf(int);
|
|
||||||
_ACRTIMP int __cdecl __toascii(int);
|
|
||||||
_ACRTIMP int __cdecl _isblank_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _isctype(int,int);
|
|
||||||
_ACRTIMP int __cdecl _isctype_l(int,int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _islower_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _isupper_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _isdigit_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _isxdigit_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _tolower(int);
|
|
||||||
_ACRTIMP int __cdecl _tolower_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _toupper(int);
|
|
||||||
_ACRTIMP int __cdecl _toupper_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl isalnum(int);
|
|
||||||
_ACRTIMP int __cdecl isalpha(int);
|
|
||||||
_ACRTIMP int __cdecl isblank(int);
|
|
||||||
_ACRTIMP int __cdecl iscntrl(int);
|
|
||||||
_ACRTIMP int __cdecl isdigit(int);
|
|
||||||
_ACRTIMP int __cdecl isgraph(int);
|
|
||||||
_ACRTIMP int __cdecl islower(int);
|
|
||||||
_ACRTIMP int __cdecl isprint(int);
|
|
||||||
_ACRTIMP int __cdecl _isprint_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl ispunct(int);
|
|
||||||
_ACRTIMP int __cdecl isspace(int);
|
|
||||||
_ACRTIMP int __cdecl _isspace_l(int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl isupper(int);
|
|
||||||
_ACRTIMP int __cdecl isxdigit(int);
|
|
||||||
_ACRTIMP int __cdecl tolower(int);
|
|
||||||
_ACRTIMP int __cdecl toupper(int);
|
|
||||||
|
|
||||||
#ifndef MB_CUR_MAX
|
|
||||||
_ACRTIMP int __cdecl ___mb_cur_max_func(void);
|
|
||||||
_ACRTIMP int __cdecl ___mb_cur_max_l_func(_locale_t);
|
|
||||||
#define __mb_cur_max ___mb_cur_max_func()
|
|
||||||
#define MB_CUR_MAX ___mb_cur_max_func()
|
|
||||||
#endif /* MB_CUR_MAX */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline int isascii(int c) { return __isascii(c); }
|
|
||||||
static inline int iscsym(int c) { return __iscsym(c); }
|
|
||||||
static inline int iscsymf(int c) { return __iscsymf(c); }
|
|
||||||
static inline int toascii(int c) { return __toascii(c); }
|
|
||||||
|
|
||||||
#endif /* __WINE_CTYPE_H */
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* Path and directory definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_DIRECT_H
|
|
||||||
#define __WINE_DIRECT_H
|
|
||||||
|
|
||||||
#include <corecrt_wdirect.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _DISKFREE_T_DEFINED
|
|
||||||
#define _DISKFREE_T_DEFINED
|
|
||||||
struct _diskfree_t {
|
|
||||||
unsigned int total_clusters;
|
|
||||||
unsigned int avail_clusters;
|
|
||||||
unsigned int sectors_per_cluster;
|
|
||||||
unsigned int bytes_per_sector;
|
|
||||||
};
|
|
||||||
#endif /* _DISKFREE_T_DEFINED */
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _chdir(const char*);
|
|
||||||
_ACRTIMP int __cdecl _chdrive(int);
|
|
||||||
_ACRTIMP char* __cdecl _getcwd(char*,int);
|
|
||||||
_ACRTIMP char* __cdecl _getdcwd(int,char*,int);
|
|
||||||
_ACRTIMP int __cdecl _getdrive(void);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _getdrives(void);
|
|
||||||
_ACRTIMP int __cdecl _mkdir(const char*);
|
|
||||||
_ACRTIMP int __cdecl _rmdir(const char*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline int chdir(const char* newdir) { return _chdir(newdir); }
|
|
||||||
static inline char* getcwd(char * buf, int size) { return _getcwd(buf, size); }
|
|
||||||
static inline int mkdir(const char* newdir) { return _mkdir(newdir); }
|
|
||||||
static inline int rmdir(const char* dir) { return _rmdir(dir); }
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_DIRECT_H */
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
#include <direct.h>
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* DOS definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_DOS_H
|
|
||||||
#define __WINE_DOS_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
/* The following are also defined in io.h */
|
|
||||||
#define _A_NORMAL 0x00000000
|
|
||||||
#define _A_RDONLY 0x00000001
|
|
||||||
#define _A_HIDDEN 0x00000002
|
|
||||||
#define _A_SYSTEM 0x00000004
|
|
||||||
#define _A_VOLID 0x00000008
|
|
||||||
#define _A_SUBDIR 0x00000010
|
|
||||||
#define _A_ARCH 0x00000020
|
|
||||||
|
|
||||||
#ifndef _DISKFREE_T_DEFINED
|
|
||||||
#define _DISKFREE_T_DEFINED
|
|
||||||
struct _diskfree_t {
|
|
||||||
unsigned int total_clusters;
|
|
||||||
unsigned int avail_clusters;
|
|
||||||
unsigned int sectors_per_cluster;
|
|
||||||
unsigned int bytes_per_sector;
|
|
||||||
};
|
|
||||||
#endif /* _DISKFREE_T_DEFINED */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP unsigned int __cdecl _getdiskfree(unsigned int, struct _diskfree_t *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define diskfree_t _diskfree_t
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_DOS_H */
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* C++ exception handling facility
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_EH_H
|
|
||||||
#define __WINE_EH_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
#error "eh.h is meant only for C++ applications"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
struct _EXCEPTION_POINTERS;
|
|
||||||
|
|
||||||
typedef void (__cdecl *terminate_handler)(void);
|
|
||||||
typedef void (__cdecl *terminate_function)(void);
|
|
||||||
typedef void (__cdecl *unexpected_handler)(void);
|
|
||||||
typedef void (__cdecl *unexpected_function)(void);
|
|
||||||
typedef void (__cdecl *_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info);
|
|
||||||
|
|
||||||
_ACRTIMP terminate_function __cdecl set_terminate(terminate_function func);
|
|
||||||
_ACRTIMP unexpected_function __cdecl set_unexpected(unexpected_function func);
|
|
||||||
_ACRTIMP _se_translator_function __cdecl set_se_translator(_se_translator_function func);
|
|
||||||
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl terminate(void);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl unexpected(void);
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_EH_H */
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2001 Jon Griffiths
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_ERRNO_H
|
|
||||||
#define __WINE_ERRNO_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
# define EPERM 1
|
|
||||||
# define ENOENT 2
|
|
||||||
# define ESRCH 3
|
|
||||||
# define EINTR 4
|
|
||||||
# define EIO 5
|
|
||||||
# define ENXIO 6
|
|
||||||
# define E2BIG 7
|
|
||||||
# define ENOEXEC 8
|
|
||||||
# define EBADF 9
|
|
||||||
# define ECHILD 10
|
|
||||||
# define EAGAIN 11
|
|
||||||
# define ENOMEM 12
|
|
||||||
# define EACCES 13
|
|
||||||
# define EFAULT 14
|
|
||||||
# define EBUSY 16
|
|
||||||
# define EEXIST 17
|
|
||||||
# define EXDEV 18
|
|
||||||
# define ENODEV 19
|
|
||||||
# define ENOTDIR 20
|
|
||||||
# define EISDIR 21
|
|
||||||
# define EINVAL 22
|
|
||||||
# define ENFILE 23
|
|
||||||
# define EMFILE 24
|
|
||||||
# define ENOTTY 25
|
|
||||||
# define EFBIG 27
|
|
||||||
# define ENOSPC 28
|
|
||||||
# define ESPIPE 29
|
|
||||||
# define EROFS 30
|
|
||||||
# define EMLINK 31
|
|
||||||
# define EPIPE 32
|
|
||||||
# define EDOM 33
|
|
||||||
# define ERANGE 34
|
|
||||||
# define EDEADLK 36
|
|
||||||
# define EDEADLOCK EDEADLK
|
|
||||||
# define ENAMETOOLONG 38
|
|
||||||
# define ENOLCK 39
|
|
||||||
# define ENOSYS 40
|
|
||||||
# define ENOTEMPTY 41
|
|
||||||
# define EILSEQ 42
|
|
||||||
|
|
||||||
# define STRUNCATE 80
|
|
||||||
|
|
||||||
#ifndef _CRT_NO_POSIX_ERROR_CODES
|
|
||||||
# define EADDRINUSE 100
|
|
||||||
# define EADDRNOTAVAIL 101
|
|
||||||
# define EAFNOSUPPORT 102
|
|
||||||
# define EALREADY 103
|
|
||||||
# define EBADMSG 104
|
|
||||||
# define ECANCELED 105
|
|
||||||
# define ECONNABORTED 106
|
|
||||||
# define ECONNREFUSED 107
|
|
||||||
# define ECONNRESET 108
|
|
||||||
# define EDESTADDRREQ 109
|
|
||||||
# define EHOSTUNREACH 110
|
|
||||||
# define EIDRM 111
|
|
||||||
# define EINPROGRESS 112
|
|
||||||
# define EISCONN 113
|
|
||||||
# define ELOOP 114
|
|
||||||
# define EMSGSIZE 115
|
|
||||||
# define ENETDOWN 116
|
|
||||||
# define ENETRESET 117
|
|
||||||
# define ENETUNREACH 118
|
|
||||||
# define ENOBUFS 119
|
|
||||||
# define ENODATA 120
|
|
||||||
# define ENOLINK 121
|
|
||||||
# define ENOMSG 122
|
|
||||||
# define ENOPROTOOPT 123
|
|
||||||
# define ENOSR 124
|
|
||||||
# define ENOSTR 125
|
|
||||||
# define ENOTCONN 126
|
|
||||||
# define ENOTRECOVERABLE 127
|
|
||||||
# define ENOTSOCK 128
|
|
||||||
# define ENOTSUP 129
|
|
||||||
# define EOPNOTSUPP 130
|
|
||||||
# define EOTHER 131
|
|
||||||
# define EOVERFLOW 132
|
|
||||||
# define EOWNERDEAD 133
|
|
||||||
# define EPROTO 134
|
|
||||||
# define EPROTONOSUPPORT 135
|
|
||||||
# define EPROTOTYPE 136
|
|
||||||
# define ETIME 137
|
|
||||||
# define ETIMEDOUT 138
|
|
||||||
# define ETXTBSY 139
|
|
||||||
# define EWOULDBLOCK 140
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int* __cdecl _errno(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define errno (*_errno())
|
|
||||||
|
|
||||||
#endif /* __WINE_ERRNO_H */
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* File definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_FCNTL_H
|
|
||||||
#define __WINE_FCNTL_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#define _O_RDONLY 0
|
|
||||||
#define _O_WRONLY 1
|
|
||||||
#define _O_RDWR 2
|
|
||||||
#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR)
|
|
||||||
#define _O_APPEND 0x0008
|
|
||||||
#define _O_RANDOM 0x0010
|
|
||||||
#define _O_SEQUENTIAL 0x0020
|
|
||||||
#define _O_TEMPORARY 0x0040
|
|
||||||
#define _O_NOINHERIT 0x0080
|
|
||||||
#define _O_CREAT 0x0100
|
|
||||||
#define _O_TRUNC 0x0200
|
|
||||||
#define _O_EXCL 0x0400
|
|
||||||
#define _O_SHORT_LIVED 0x1000
|
|
||||||
#define _O_TEXT 0x4000
|
|
||||||
#define _O_BINARY 0x8000
|
|
||||||
#define _O_RAW _O_BINARY
|
|
||||||
|
|
||||||
#define _O_WTEXT 0x10000
|
|
||||||
#define _O_U16TEXT 0x20000
|
|
||||||
#define _O_U8TEXT 0x40000
|
|
||||||
|
|
||||||
#define O_RDONLY _O_RDONLY
|
|
||||||
#define O_WRONLY _O_WRONLY
|
|
||||||
#define O_RDWR _O_RDWR
|
|
||||||
#define O_ACCMODE _O_ACCMODE
|
|
||||||
#define O_APPEND _O_APPEND
|
|
||||||
#define O_RANDOM _O_RANDOM
|
|
||||||
#define O_SEQUENTIAL _O_SEQUENTIAL
|
|
||||||
#define O_TEMPORARY _O_TEMPORARY
|
|
||||||
#define O_NOINHERIT _O_NOINHERIT
|
|
||||||
#define O_CREAT _O_CREAT
|
|
||||||
#define O_TRUNC _O_TRUNC
|
|
||||||
#define O_EXCL _O_EXCL
|
|
||||||
#define O_TEXT _O_TEXT
|
|
||||||
#define O_BINARY _O_BINARY
|
|
||||||
#define O_RAW _O_BINARY
|
|
||||||
|
|
||||||
#endif /* __WINE_FCNTL_H */
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INC_FENV
|
|
||||||
#define _INC_FENV
|
|
||||||
|
|
||||||
#include <float.h>
|
|
||||||
|
|
||||||
#define FE_TONEAREST _RC_NEAR
|
|
||||||
#define FE_UPWARD _RC_UP
|
|
||||||
#define FE_DOWNWARD _RC_DOWN
|
|
||||||
#define FE_TOWARDZERO _RC_CHOP
|
|
||||||
|
|
||||||
#define FE_INEXACT _SW_INEXACT
|
|
||||||
#define FE_UNDERFLOW _SW_UNDERFLOW
|
|
||||||
#define FE_OVERFLOW _SW_OVERFLOW
|
|
||||||
#define FE_DIVBYZERO _SW_ZERODIVIDE
|
|
||||||
#define FE_INVALID _SW_INVALID
|
|
||||||
#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
__msvcrt_ulong _Fe_ctl;
|
|
||||||
__msvcrt_ulong _Fe_stat;
|
|
||||||
} fenv_t;
|
|
||||||
|
|
||||||
typedef __msvcrt_ulong fexcept_t;
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl fegetenv(fenv_t*);
|
|
||||||
_ACRTIMP int __cdecl fesetenv(const fenv_t*);
|
|
||||||
_ACRTIMP int __cdecl fegetexceptflag(fexcept_t*, int);
|
|
||||||
_ACRTIMP int __cdecl fegetround(void);
|
|
||||||
_ACRTIMP int __cdecl feholdexcept(fenv_t*);
|
|
||||||
_ACRTIMP int __cdecl fesetround(int);
|
|
||||||
_ACRTIMP int __cdecl fesetexceptflag(const fexcept_t*, int);
|
|
||||||
_ACRTIMP int __cdecl feclearexcept(int);
|
|
||||||
_ACRTIMP int __cdecl fetestexcept(int);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl feupdateenv(const fenv_t*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _INC_FENV */
|
|
||||||
@@ -1,166 +0,0 @@
|
|||||||
/*
|
|
||||||
* Floating point arithmetic.
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Hans Leidekker.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_FLOAT_H
|
|
||||||
#define __WINE_FLOAT_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DBL_DIG 15
|
|
||||||
#define DBL_EPSILON 2.2204460492503131e-016
|
|
||||||
#define DBL_MANT_DIG 53
|
|
||||||
#define DBL_MAX 1.7976931348623158e+308
|
|
||||||
#define DBL_MAX_10_EXP 308
|
|
||||||
#define DBL_MAX_EXP 1024
|
|
||||||
#define DBL_MIN 2.2250738585072014e-308
|
|
||||||
#define DBL_MIN_10_EXP (-307)
|
|
||||||
#define DBL_MIN_EXP (-1021)
|
|
||||||
|
|
||||||
#define _DBL_RADIX 2
|
|
||||||
#define _DBL_ROUNDS 1
|
|
||||||
|
|
||||||
#define DBL_RADIX _DBL_RADIX
|
|
||||||
#define DBL_ROUNDS _DBL_ROUNDS
|
|
||||||
|
|
||||||
#define FLT_DIG 6
|
|
||||||
#define FLT_EPSILON 1.192092896e-07F
|
|
||||||
#define FLT_MANT_DIG 24
|
|
||||||
#define FLT_MAX 3.402823466e+38F
|
|
||||||
#define FLT_MAX_10_EXP 38
|
|
||||||
#define FLT_MAX_EXP 128
|
|
||||||
#define FLT_MIN 1.175494351e-38F
|
|
||||||
#define FLT_MIN_10_EXP (-37)
|
|
||||||
#define FLT_MIN_EXP (-125)
|
|
||||||
|
|
||||||
#define FLT_RADIX 2
|
|
||||||
#define FLT_ROUNDS 1
|
|
||||||
|
|
||||||
#define LDBL_DIG DBL_DIG
|
|
||||||
#define LDBL_EPSILON DBL_EPSILON
|
|
||||||
#define LDBL_MANT_DIG DBL_MANT_DIG
|
|
||||||
#define LDBL_MAX DBL_MAX
|
|
||||||
#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
|
|
||||||
#define LDBL_MAX_EXP DBL_MAX_EXP
|
|
||||||
#define LDBL_MIN DBL_MIN
|
|
||||||
#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
|
|
||||||
#define LDBL_MIN_EXP DBL_MIN_EXP
|
|
||||||
|
|
||||||
#define _LDBL_RADIX _DBL_RADIX
|
|
||||||
#define _LDBL_ROUNDS _DBL_ROUNDS
|
|
||||||
|
|
||||||
#define LDBL_RADIX _LDBL_RADIX
|
|
||||||
#define LDBL_ROUNDS _LDBL_ROUNDS
|
|
||||||
|
|
||||||
/* Control word masks for unMask */
|
|
||||||
#define _MCW_EM 0x0008001f
|
|
||||||
#define _MCW_IC 0x00040000
|
|
||||||
#define _MCW_RC 0x00000300
|
|
||||||
#define _MCW_PC 0x00030000
|
|
||||||
#define _MCW_DN 0x03000000
|
|
||||||
|
|
||||||
/* Control word values for unNew (use with related unMask above) */
|
|
||||||
#define _EM_INVALID 0x00000010
|
|
||||||
#define _EM_DENORMAL 0x00080000
|
|
||||||
#define _EM_ZERODIVIDE 0x00000008
|
|
||||||
#define _EM_OVERFLOW 0x00000004
|
|
||||||
#define _EM_UNDERFLOW 0x00000002
|
|
||||||
#define _EM_INEXACT 0x00000001
|
|
||||||
#define _IC_AFFINE 0x00040000
|
|
||||||
#define _IC_PROJECTIVE 0x00000000
|
|
||||||
#define _RC_CHOP 0x00000300
|
|
||||||
#define _RC_UP 0x00000200
|
|
||||||
#define _RC_DOWN 0x00000100
|
|
||||||
#define _RC_NEAR 0x00000000
|
|
||||||
#define _PC_24 0x00020000
|
|
||||||
#define _PC_53 0x00010000
|
|
||||||
#define _PC_64 0x00000000
|
|
||||||
#define _DN_SAVE 0x00000000
|
|
||||||
#define _DN_FLUSH 0x01000000
|
|
||||||
#define _DN_FLUSH_OPERANDS_SAVE_RESULTS 0x02000000
|
|
||||||
#define _DN_SAVE_OPERANDS_FLUSH_RESULTS 0x03000000
|
|
||||||
#define _EM_AMBIGUOUS 0x80000000
|
|
||||||
|
|
||||||
/* _statusfp bit flags */
|
|
||||||
#define _SW_INEXACT 0x00000001 /* inexact (precision) */
|
|
||||||
#define _SW_UNDERFLOW 0x00000002 /* underflow */
|
|
||||||
#define _SW_OVERFLOW 0x00000004 /* overflow */
|
|
||||||
#define _SW_ZERODIVIDE 0x00000008 /* zero divide */
|
|
||||||
#define _SW_INVALID 0x00000010 /* invalid */
|
|
||||||
|
|
||||||
#define _SW_UNEMULATED 0x00000040 /* unemulated instruction */
|
|
||||||
#define _SW_SQRTNEG 0x00000080 /* square root of a neg number */
|
|
||||||
#define _SW_STACKOVERFLOW 0x00000200 /* FP stack overflow */
|
|
||||||
#define _SW_STACKUNDERFLOW 0x00000400 /* FP stack underflow */
|
|
||||||
|
|
||||||
#define _SW_DENORMAL 0x00080000 /* denormal status bit */
|
|
||||||
|
|
||||||
/* fpclass constants */
|
|
||||||
#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
|
|
||||||
#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
|
|
||||||
#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
|
|
||||||
#define _FPCLASS_NN 0x0008 /* Negative Normal */
|
|
||||||
#define _FPCLASS_ND 0x0010 /* Negative Denormal */
|
|
||||||
#define _FPCLASS_NZ 0x0020 /* Negative Zero */
|
|
||||||
#define _FPCLASS_PZ 0x0040 /* Positive Zero */
|
|
||||||
#define _FPCLASS_PD 0x0080 /* Positive Denormal */
|
|
||||||
#define _FPCLASS_PN 0x0100 /* Positive Normal */
|
|
||||||
#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
|
|
||||||
|
|
||||||
/* floating point error signals */
|
|
||||||
#define _FPE_INVALID 0x81
|
|
||||||
#define _FPE_DENORMAL 0x82
|
|
||||||
#define _FPE_ZERODIVIDE 0x83
|
|
||||||
#define _FPE_OVERFLOW 0x84
|
|
||||||
#define _FPE_UNDERFLOW 0x85
|
|
||||||
#define _FPE_INEXACT 0x86
|
|
||||||
#define _FPE_UNEMULATED 0x87
|
|
||||||
#define _FPE_SQRTNEG 0x88
|
|
||||||
#define _FPE_STACKOVERFLOW 0x8a
|
|
||||||
#define _FPE_STACKUNDERFLOW 0x8b
|
|
||||||
#define _FPE_EXPLICITGEN 0x8c
|
|
||||||
|
|
||||||
#if defined(__i386__)
|
|
||||||
#define _CW_DEFAULT (_RC_NEAR + _PC_53 + _EM_INVALID + _EM_ZERODIVIDE + _EM_OVERFLOW + _EM_UNDERFLOW + _EM_INEXACT + _EM_DENORMAL)
|
|
||||||
#elif defined(__x86_64__)
|
|
||||||
#define _CW_DEFAULT (_RC_NEAR + _PC_64 + _EM_INVALID + _EM_ZERODIVIDE + _EM_OVERFLOW + _EM_UNDERFLOW + _EM_INEXACT + _EM_DENORMAL)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP unsigned int __cdecl _clearfp(void);
|
|
||||||
_ACRTIMP void __cdecl _fpreset(void);
|
|
||||||
_ACRTIMP unsigned int __cdecl _statusfp(void);
|
|
||||||
_ACRTIMP int __cdecl __fpe_flt_rounds(void);
|
|
||||||
_ACRTIMP unsigned int __cdecl _control87(unsigned int, unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _controlfp(unsigned int, unsigned int);
|
|
||||||
_ACRTIMP errno_t __cdecl _controlfp_s(unsigned int *, unsigned int, unsigned int);
|
|
||||||
#ifdef __i386__
|
|
||||||
_ACRTIMP int __cdecl __control87_2(unsigned int, unsigned int, unsigned int *, unsigned int *);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl _copysign (double, double);
|
|
||||||
_ACRTIMP double __cdecl _chgsign (double);
|
|
||||||
_ACRTIMP double __cdecl _scalb(double, __msvcrt_long);
|
|
||||||
_ACRTIMP double __cdecl _logb(double);
|
|
||||||
_ACRTIMP double __cdecl _nextafter(double, double);
|
|
||||||
_ACRTIMP int __cdecl _finite(double);
|
|
||||||
_ACRTIMP int __cdecl _isnan(double);
|
|
||||||
_ACRTIMP int __cdecl _fpclass(double);
|
|
||||||
_ACRTIMP int * __cdecl __fpecode(void);
|
|
||||||
|
|
||||||
#ifdef __x86_64__
|
|
||||||
_ACRTIMP float __cdecl _scalbf(float, __msvcrt_long);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_FLOAT_H */
|
|
||||||
@@ -1,239 +0,0 @@
|
|||||||
/**
|
|
||||||
* Derived from mingw-w64 header.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_FPIEEE_H
|
|
||||||
#define __WINE_FPIEEE_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
_FpCompareEqual,
|
|
||||||
_FpCompareGreater,
|
|
||||||
_FpCompareLess,
|
|
||||||
_FpCompareUnordered
|
|
||||||
} _FPIEEE_COMPARE_RESULT;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
_FpFormatFp32,
|
|
||||||
_FpFormatFp64,
|
|
||||||
_FpFormatFp80,
|
|
||||||
_FpFormatFp128,
|
|
||||||
_FpFormatI16,
|
|
||||||
_FpFormatI32,
|
|
||||||
_FpFormatI64,
|
|
||||||
_FpFormatU16,
|
|
||||||
_FpFormatU32,
|
|
||||||
_FpFormatU64,
|
|
||||||
_FpFormatBcd80,
|
|
||||||
_FpFormatCompare,
|
|
||||||
_FpFormatString,
|
|
||||||
} _FPIEEE_FORMAT;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
_FpCodeUnspecified,
|
|
||||||
_FpCodeAdd,
|
|
||||||
_FpCodeSubtract,
|
|
||||||
_FpCodeMultiply,
|
|
||||||
_FpCodeDivide,
|
|
||||||
_FpCodeSquareRoot,
|
|
||||||
_FpCodeRemainder,
|
|
||||||
_FpCodeCompare,
|
|
||||||
_FpCodeConvert,
|
|
||||||
_FpCodeRound,
|
|
||||||
_FpCodeTruncate,
|
|
||||||
_FpCodeFloor,
|
|
||||||
_FpCodeCeil,
|
|
||||||
_FpCodeAcos,
|
|
||||||
_FpCodeAsin,
|
|
||||||
_FpCodeAtan,
|
|
||||||
_FpCodeAtan2,
|
|
||||||
_FpCodeCabs,
|
|
||||||
_FpCodeCos,
|
|
||||||
_FpCodeCosh,
|
|
||||||
_FpCodeExp,
|
|
||||||
_FpCodeFabs,
|
|
||||||
_FpCodeFmod,
|
|
||||||
_FpCodeFrexp,
|
|
||||||
_FpCodeHypot,
|
|
||||||
_FpCodeLdexp,
|
|
||||||
_FpCodeLog,
|
|
||||||
_FpCodeLog10,
|
|
||||||
_FpCodeModf,
|
|
||||||
_FpCodePow,
|
|
||||||
_FpCodeSin,
|
|
||||||
_FpCodeSinh,
|
|
||||||
_FpCodeTan,
|
|
||||||
_FpCodeTanh,
|
|
||||||
_FpCodeY0,
|
|
||||||
_FpCodeY1,
|
|
||||||
_FpCodeYn,
|
|
||||||
_FpCodeLogb,
|
|
||||||
_FpCodeNextafter,
|
|
||||||
_FpCodeNegate,
|
|
||||||
_FpCodeFmin,
|
|
||||||
_FpCodeFmax,
|
|
||||||
_FpCodeConvertTrunc,
|
|
||||||
_XMMIAddps,
|
|
||||||
_XMMIAddss,
|
|
||||||
_XMMISubps,
|
|
||||||
_XMMISubss,
|
|
||||||
_XMMIMulps,
|
|
||||||
_XMMIMulss,
|
|
||||||
_XMMIDivps,
|
|
||||||
_XMMIDivss,
|
|
||||||
_XMMISqrtps,
|
|
||||||
_XMMISqrtss,
|
|
||||||
_XMMIMaxps,
|
|
||||||
_XMMIMaxss,
|
|
||||||
_XMMIMinps,
|
|
||||||
_XMMIMinss,
|
|
||||||
_XMMICmpps,
|
|
||||||
_XMMICmpss,
|
|
||||||
_XMMIComiss,
|
|
||||||
_XMMIUComiss,
|
|
||||||
_XMMICvtpi2ps,
|
|
||||||
_XMMICvtsi2ss,
|
|
||||||
_XMMICvtps2pi,
|
|
||||||
_XMMICvtss2si,
|
|
||||||
_XMMICvttps2pi,
|
|
||||||
_XMMICvttss2si,
|
|
||||||
_XMMIAddsubps,
|
|
||||||
_XMMIHaddps,
|
|
||||||
_XMMIHsubps,
|
|
||||||
_XMMI2Addpd,
|
|
||||||
_XMMI2Addsd,
|
|
||||||
_XMMI2Subpd,
|
|
||||||
_XMMI2Subsd,
|
|
||||||
_XMMI2Mulpd,
|
|
||||||
_XMMI2Mulsd,
|
|
||||||
_XMMI2Divpd,
|
|
||||||
_XMMI2Divsd,
|
|
||||||
_XMMI2Sqrtpd,
|
|
||||||
_XMMI2Sqrtsd,
|
|
||||||
_XMMI2Maxpd,
|
|
||||||
_XMMI2Maxsd,
|
|
||||||
_XMMI2Minpd,
|
|
||||||
_XMMI2Minsd,
|
|
||||||
_XMMI2Cmppd,
|
|
||||||
_XMMI2Cmpsd,
|
|
||||||
_XMMI2Comisd,
|
|
||||||
_XMMI2UComisd,
|
|
||||||
_XMMI2Cvtpd2pi,
|
|
||||||
_XMMI2Cvtsd2si,
|
|
||||||
_XMMI2Cvttpd2pi,
|
|
||||||
_XMMI2Cvttsd2si,
|
|
||||||
_XMMI2Cvtps2pd,
|
|
||||||
_XMMI2Cvtss2sd,
|
|
||||||
_XMMI2Cvtpd2ps,
|
|
||||||
_XMMI2Cvtsd2ss,
|
|
||||||
_XMMI2Cvtdq2ps,
|
|
||||||
_XMMI2Cvttps2dq,
|
|
||||||
_XMMI2Cvtps2dq,
|
|
||||||
_XMMI2Cvttpd2dq,
|
|
||||||
_XMMI2Cvtpd2dq,
|
|
||||||
_XMMI2Addsubpd,
|
|
||||||
_XMMI2Haddpd,
|
|
||||||
_XMMI2Hsubpd,
|
|
||||||
} _FP_OPERATION_CODE;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
_FpRoundNearest,
|
|
||||||
_FpRoundMinusInfinity,
|
|
||||||
_FpRoundPlusInfinity,
|
|
||||||
_FpRoundChopped
|
|
||||||
} _FPIEEE_ROUNDING_MODE;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
_FpPrecisionFull,
|
|
||||||
_FpPrecision53,
|
|
||||||
_FpPrecision24,
|
|
||||||
} _FPIEEE_PRECISION;
|
|
||||||
|
|
||||||
typedef float _FP32;
|
|
||||||
typedef double _FP64;
|
|
||||||
typedef short _I16;
|
|
||||||
typedef int _I32;
|
|
||||||
typedef unsigned short _U16;
|
|
||||||
typedef unsigned int _U32;
|
|
||||||
typedef __int64 _Q64;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned short W[5];
|
|
||||||
} _FP80;
|
|
||||||
|
|
||||||
typedef struct DECLSPEC_ALIGN(16) {
|
|
||||||
__msvcrt_ulong W[4];
|
|
||||||
} _FP128;
|
|
||||||
|
|
||||||
typedef struct DECLSPEC_ALIGN(8) {
|
|
||||||
__msvcrt_ulong W[2];
|
|
||||||
} _I64;
|
|
||||||
|
|
||||||
typedef struct DECLSPEC_ALIGN(8) {
|
|
||||||
__msvcrt_ulong W[2];
|
|
||||||
} _U64;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned short W[5];
|
|
||||||
} _BCD80;
|
|
||||||
|
|
||||||
typedef struct DECLSPEC_ALIGN(16) {
|
|
||||||
_Q64 W[2];
|
|
||||||
} _FPQ64;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
union {
|
|
||||||
_FP32 Fp32Value;
|
|
||||||
_FP64 Fp64Value;
|
|
||||||
_FP80 Fp80Value;
|
|
||||||
_FP128 Fp128Value;
|
|
||||||
_I16 I16Value;
|
|
||||||
_I32 I32Value;
|
|
||||||
_I64 I64Value;
|
|
||||||
_U16 U16Value;
|
|
||||||
_U32 U32Value;
|
|
||||||
_U64 U64Value;
|
|
||||||
_BCD80 Bcd80Value;
|
|
||||||
char *StringValue;
|
|
||||||
int CompareValue;
|
|
||||||
_Q64 Q64Value;
|
|
||||||
_FPQ64 Fpq64Value;
|
|
||||||
} Value;
|
|
||||||
unsigned int OperandValid : 1;
|
|
||||||
unsigned int Format : 4;
|
|
||||||
} _FPIEEE_VALUE;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned int Inexact : 1;
|
|
||||||
unsigned int Underflow : 1;
|
|
||||||
unsigned int Overflow : 1;
|
|
||||||
unsigned int ZeroDivide : 1;
|
|
||||||
unsigned int InvalidOperation : 1;
|
|
||||||
} _FPIEEE_EXCEPTION_FLAGS;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned int RoundingMode : 2;
|
|
||||||
unsigned int Precision : 3;
|
|
||||||
unsigned int Operation :12;
|
|
||||||
_FPIEEE_EXCEPTION_FLAGS Cause;
|
|
||||||
_FPIEEE_EXCEPTION_FLAGS Enable;
|
|
||||||
_FPIEEE_EXCEPTION_FLAGS Status;
|
|
||||||
_FPIEEE_VALUE Operand1;
|
|
||||||
_FPIEEE_VALUE Operand2;
|
|
||||||
_FPIEEE_VALUE Result;
|
|
||||||
} _FPIEEE_RECORD,*_PFPIEEE_RECORD;
|
|
||||||
|
|
||||||
struct _EXCEPTION_POINTERS;
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _fpieee_flt(__msvcrt_ulong _ExceptionCode,struct _EXCEPTION_POINTERS *_PtExceptionPtr,int (__cdecl *_Handler)(_FPIEEE_RECORD *));
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the Wine project.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INC_INTRIN
|
|
||||||
#define _INC_INTRIN
|
|
||||||
|
|
||||||
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
||||||
# include <x86intrin.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __has_builtin
|
|
||||||
# define __has_builtin(x) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
|
|
||||||
|
|
||||||
#if __has_builtin(__cpuidex) || (defined(_MSC_VER) && !defined(__clang__))
|
|
||||||
void __cpuidex(int info[4], int ax, int cx);
|
|
||||||
#pragma intrinsic(__cpuidex)
|
|
||||||
#else
|
|
||||||
static inline void __cpuidex(int info[4], int ax, int cx)
|
|
||||||
{
|
|
||||||
__asm__ ("cpuid" : "=a"(info[0]), "=b" (info[1]), "=c"(info[2]), "=d"(info[3]) : "a"(ax), "c"(cx));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __has_builtin(__cpuid) || (defined(_MSC_VER) && !defined(__clang__))
|
|
||||||
void __cpuid(int info[4], int ax);
|
|
||||||
#pragma intrinsic(__cpuid)
|
|
||||||
#else
|
|
||||||
static inline void __cpuid(int info[4], int ax)
|
|
||||||
{
|
|
||||||
return __cpuidex(info, ax, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__aarch64__) || defined(__arm64ec__)
|
|
||||||
typedef enum _tag_ARM64INTR_BARRIER_TYPE
|
|
||||||
{
|
|
||||||
_ARM64_BARRIER_OSHLD = 0x1,
|
|
||||||
_ARM64_BARRIER_OSHST = 0x2,
|
|
||||||
_ARM64_BARRIER_OSH = 0x3,
|
|
||||||
_ARM64_BARRIER_NSHLD = 0x5,
|
|
||||||
_ARM64_BARRIER_NSHST = 0x6,
|
|
||||||
_ARM64_BARRIER_NSH = 0x7,
|
|
||||||
_ARM64_BARRIER_ISHLD = 0x9,
|
|
||||||
_ARM64_BARRIER_ISHST = 0xa,
|
|
||||||
_ARM64_BARRIER_ISH = 0xb,
|
|
||||||
_ARM64_BARRIER_LD = 0xd,
|
|
||||||
_ARM64_BARRIER_ST = 0xe,
|
|
||||||
_ARM64_BARRIER_SY = 0xf
|
|
||||||
} _ARM64INTR_BARRIER_TYPE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __arm__
|
|
||||||
typedef enum _tag_ARMINTR_BARRIER_TYPE
|
|
||||||
{
|
|
||||||
_ARM_BARRIER_OSHST = 0x2,
|
|
||||||
_ARM_BARRIER_OSH = 0x3,
|
|
||||||
_ARM_BARRIER_NSHST = 0x6,
|
|
||||||
_ARM_BARRIER_NSH = 0x7,
|
|
||||||
_ARM_BARRIER_ISHST = 0xa,
|
|
||||||
_ARM_BARRIER_ISH = 0xb,
|
|
||||||
_ARM_BARRIER_ST = 0xe,
|
|
||||||
_ARM_BARRIER_SY = 0xf
|
|
||||||
} _ARMINTR_BARRIER_TYPE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && (defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__))
|
|
||||||
|
|
||||||
void __dmb(unsigned int);
|
|
||||||
|
|
||||||
#pragma intrinsic(__dmb)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && (defined(__aarch64__) || defined(__arm64ec__))
|
|
||||||
|
|
||||||
unsigned __int64 __getReg(int);
|
|
||||||
#pragma intrinsic(__getReg)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
|
||||||
unsigned char _BitScanForward(unsigned long*,unsigned long);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && (defined(__x86_64__) || defined(__aarch64__))
|
|
||||||
unsigned char _BitScanForward64(unsigned long*,unsigned __int64);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && defined(__x86_64__)
|
|
||||||
unsigned __int64 __shiftright128(unsigned __int64, unsigned __int64, unsigned char);
|
|
||||||
unsigned __int64 _umul128(unsigned __int64, unsigned __int64, unsigned __int64*);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _INC_INTRIN */
|
|
||||||
@@ -1,246 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the mingw-w64 runtime package.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
/* 7.8 Format conversion of integer types <inttypes.h> */
|
|
||||||
|
|
||||||
#ifndef _INTTYPES_H_
|
|
||||||
#define _INTTYPES_H_
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
intmax_t quot;
|
|
||||||
intmax_t rem;
|
|
||||||
} imaxdiv_t;
|
|
||||||
|
|
||||||
/* 7.8.1 Macros for format specifiers */
|
|
||||||
#define PRId64 "lld"
|
|
||||||
#define PRIi64 "lli"
|
|
||||||
#define PRIo64 "llo"
|
|
||||||
#define PRIu64 "llu"
|
|
||||||
#define PRIx64 "llx"
|
|
||||||
#define PRIX64 "llX"
|
|
||||||
|
|
||||||
/* fprintf macros for signed types */
|
|
||||||
#define PRId8 "d"
|
|
||||||
#define PRId16 "d"
|
|
||||||
#define PRId32 "d"
|
|
||||||
|
|
||||||
#define PRIdLEAST8 "d"
|
|
||||||
#define PRIdLEAST16 "d"
|
|
||||||
#define PRIdLEAST32 "d"
|
|
||||||
#define PRIdLEAST64 PRId64
|
|
||||||
|
|
||||||
#define PRIdFAST8 "d"
|
|
||||||
#define PRIdFAST16 "d"
|
|
||||||
#define PRIdFAST32 "d"
|
|
||||||
#define PRIdFAST64 PRId64
|
|
||||||
|
|
||||||
#define PRIdMAX PRId64
|
|
||||||
|
|
||||||
#define PRIi8 "i"
|
|
||||||
#define PRIi16 "i"
|
|
||||||
#define PRIi32 "i"
|
|
||||||
|
|
||||||
#define PRIiLEAST8 "i"
|
|
||||||
#define PRIiLEAST16 "i"
|
|
||||||
#define PRIiLEAST32 "i"
|
|
||||||
#define PRIiLEAST64 PRIi64
|
|
||||||
|
|
||||||
#define PRIiFAST8 "i"
|
|
||||||
#define PRIiFAST16 "i"
|
|
||||||
#define PRIiFAST32 "i"
|
|
||||||
#define PRIiFAST64 PRIi64
|
|
||||||
|
|
||||||
#define PRIiMAX PRIi64
|
|
||||||
|
|
||||||
#define PRIo8 "o"
|
|
||||||
#define PRIo16 "o"
|
|
||||||
#define PRIo32 "o"
|
|
||||||
|
|
||||||
#define PRIoLEAST8 "o"
|
|
||||||
#define PRIoLEAST16 "o"
|
|
||||||
#define PRIoLEAST32 "o"
|
|
||||||
#define PRIoLEAST64 PRIo64
|
|
||||||
|
|
||||||
#define PRIoFAST8 "o"
|
|
||||||
#define PRIoFAST16 "o"
|
|
||||||
#define PRIoFAST32 "o"
|
|
||||||
#define PRIoFAST64 PRIo64
|
|
||||||
|
|
||||||
#define PRIoMAX PRIo64
|
|
||||||
|
|
||||||
/* fprintf macros for unsigned types */
|
|
||||||
#define PRIu8 "u"
|
|
||||||
#define PRIu16 "u"
|
|
||||||
#define PRIu32 "u"
|
|
||||||
|
|
||||||
|
|
||||||
#define PRIuLEAST8 "u"
|
|
||||||
#define PRIuLEAST16 "u"
|
|
||||||
#define PRIuLEAST32 "u"
|
|
||||||
#define PRIuLEAST64 PRIu64
|
|
||||||
|
|
||||||
#define PRIuFAST8 "u"
|
|
||||||
#define PRIuFAST16 "u"
|
|
||||||
#define PRIuFAST32 "u"
|
|
||||||
#define PRIuFAST64 PRIu64
|
|
||||||
|
|
||||||
#define PRIuMAX PRIu64
|
|
||||||
|
|
||||||
#define PRIx8 "x"
|
|
||||||
#define PRIx16 "x"
|
|
||||||
#define PRIx32 "x"
|
|
||||||
|
|
||||||
#define PRIxLEAST8 "x"
|
|
||||||
#define PRIxLEAST16 "x"
|
|
||||||
#define PRIxLEAST32 "x"
|
|
||||||
#define PRIxLEAST64 PRIx64
|
|
||||||
|
|
||||||
#define PRIxFAST8 "x"
|
|
||||||
#define PRIxFAST16 "x"
|
|
||||||
#define PRIxFAST32 "x"
|
|
||||||
#define PRIxFAST64 PRIx64
|
|
||||||
|
|
||||||
#define PRIxMAX PRIx64
|
|
||||||
|
|
||||||
#define PRIX8 "X"
|
|
||||||
#define PRIX16 "X"
|
|
||||||
#define PRIX32 "X"
|
|
||||||
|
|
||||||
#define PRIXLEAST8 "X"
|
|
||||||
#define PRIXLEAST16 "X"
|
|
||||||
#define PRIXLEAST32 "X"
|
|
||||||
#define PRIXLEAST64 PRIX64
|
|
||||||
|
|
||||||
#define PRIXFAST8 "X"
|
|
||||||
#define PRIXFAST16 "X"
|
|
||||||
#define PRIXFAST32 "X"
|
|
||||||
#define PRIXFAST64 PRIX64
|
|
||||||
|
|
||||||
#define PRIXMAX PRIX64
|
|
||||||
|
|
||||||
/*
|
|
||||||
* fscanf macros for signed int types
|
|
||||||
* NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t
|
|
||||||
* (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have
|
|
||||||
* no length identifiers
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define SCNd16 "hd"
|
|
||||||
#define SCNd32 "d"
|
|
||||||
#define SCNd64 PRId64
|
|
||||||
|
|
||||||
#define SCNdLEAST16 "hd"
|
|
||||||
#define SCNdLEAST32 "d"
|
|
||||||
#define SCNdLEAST64 PRId64
|
|
||||||
|
|
||||||
#define SCNdFAST16 "hd"
|
|
||||||
#define SCNdFAST32 "d"
|
|
||||||
#define SCNdFAST64 PRId64
|
|
||||||
|
|
||||||
#define SCNdMAX PRId64
|
|
||||||
|
|
||||||
#define SCNi16 "hi"
|
|
||||||
#define SCNi32 "i"
|
|
||||||
#define SCNi64 PRIi64
|
|
||||||
|
|
||||||
#define SCNiLEAST16 "hi"
|
|
||||||
#define SCNiLEAST32 "i"
|
|
||||||
#define SCNiLEAST64 PRIi64
|
|
||||||
|
|
||||||
#define SCNiFAST16 "hi"
|
|
||||||
#define SCNiFAST32 "i"
|
|
||||||
#define SCNiFAST64 PRIi64
|
|
||||||
|
|
||||||
#define SCNiMAX PRIi64
|
|
||||||
|
|
||||||
#define SCNo16 "ho"
|
|
||||||
#define SCNo32 "o"
|
|
||||||
#define SCNo64 PRIo64
|
|
||||||
|
|
||||||
#define SCNoLEAST16 "ho"
|
|
||||||
#define SCNoLEAST32 "o"
|
|
||||||
#define SCNoLEAST64 PRIo64
|
|
||||||
|
|
||||||
#define SCNoFAST16 "ho"
|
|
||||||
#define SCNoFAST32 "o"
|
|
||||||
#define SCNoFAST64 PRIo64
|
|
||||||
|
|
||||||
#define SCNoMAX PRIo64
|
|
||||||
|
|
||||||
#define SCNx16 "hx"
|
|
||||||
#define SCNx32 "x"
|
|
||||||
#define SCNx64 PRIx64
|
|
||||||
|
|
||||||
#define SCNxLEAST16 "hx"
|
|
||||||
#define SCNxLEAST32 "x"
|
|
||||||
#define SCNxLEAST64 PRIx64
|
|
||||||
|
|
||||||
#define SCNxFAST16 "hx"
|
|
||||||
#define SCNxFAST32 "x"
|
|
||||||
#define SCNxFAST64 PRIx64
|
|
||||||
|
|
||||||
#define SCNxMAX PRIx64
|
|
||||||
|
|
||||||
/* fscanf macros for unsigned int types */
|
|
||||||
|
|
||||||
#define SCNu16 "hu"
|
|
||||||
#define SCNu32 "u"
|
|
||||||
#define SCNu64 PRIu64
|
|
||||||
|
|
||||||
#define SCNuLEAST16 "hu"
|
|
||||||
#define SCNuLEAST32 "u"
|
|
||||||
#define SCNuLEAST64 PRIu64
|
|
||||||
|
|
||||||
#define SCNuFAST16 "hu"
|
|
||||||
#define SCNuFAST32 "u"
|
|
||||||
#define SCNuFAST64 PRIu64
|
|
||||||
|
|
||||||
#define SCNuMAX PRIu64
|
|
||||||
|
|
||||||
#ifdef _WIN64
|
|
||||||
#define PRIdPTR PRId64
|
|
||||||
#define PRIiPTR PRIi64
|
|
||||||
#define PRIoPTR PRIo64
|
|
||||||
#define PRIuPTR PRIu64
|
|
||||||
#define PRIxPTR PRIx64
|
|
||||||
#define PRIXPTR PRIX64
|
|
||||||
#define SCNdPTR PRId64
|
|
||||||
#define SCNiPTR PRIi64
|
|
||||||
#define SCNoPTR PRIo64
|
|
||||||
#define SCNxPTR PRIx64
|
|
||||||
#define SCNuPTR PRIu64
|
|
||||||
#else
|
|
||||||
#define PRIdPTR "d"
|
|
||||||
#define PRIiPTR "i"
|
|
||||||
#define PRIoPTR "o"
|
|
||||||
#define PRIuPTR "u"
|
|
||||||
#define PRIxPTR "x"
|
|
||||||
#define PRIXPTR "X"
|
|
||||||
#define SCNdPTR "d"
|
|
||||||
#define SCNiPTR "i"
|
|
||||||
#define SCNoPTR "o"
|
|
||||||
#define SCNxPTR "x"
|
|
||||||
#define SCNuPTR "u"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP imaxdiv_t __cdecl imaxdiv(intmax_t, intmax_t);
|
|
||||||
_ACRTIMP __int64 __cdecl strtoimax(const char*,char**,int);
|
|
||||||
_ACRTIMP __int64 __cdecl strtoimax_l(const char*,char**,int,_locale_t);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl strtoumax(const char*,char**,int);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl strtoumax_l(const char*,char**,int,_locale_t);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef _INTTYPES_H */
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* System I/O definitions.
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_IO_H
|
|
||||||
#define __WINE_IO_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <corecrt_io.h>
|
|
||||||
|
|
||||||
static inline int access(const char* path, int mode) { return _access(path, mode); }
|
|
||||||
static inline int chmod(const char* path, int mode) { return _chmod(path, mode); }
|
|
||||||
static inline int chsize(int fd, __msvcrt_long size) { return _chsize(fd, size); }
|
|
||||||
static inline int close(int fd) { return _close(fd); }
|
|
||||||
static inline int creat(const char* path, int mode) { return _creat(path, mode); }
|
|
||||||
static inline int dup(int od) { return _dup(od); }
|
|
||||||
static inline int dup2(int od, int nd) { return _dup2(od, nd); }
|
|
||||||
static inline int eof(int fd) { return _eof(fd); }
|
|
||||||
static inline __msvcrt_long filelength(int fd) { return _filelength(fd); }
|
|
||||||
static inline int isatty(int fd) { return _isatty(fd); }
|
|
||||||
static inline int locking(int fd, int mode, __msvcrt_long size) { return _locking(fd, mode, size); }
|
|
||||||
static inline __msvcrt_long lseek(int fd, __msvcrt_long off, int where) { return _lseek(fd, off, where); }
|
|
||||||
static inline char* mktemp(char* pat) { return _mktemp(pat); }
|
|
||||||
static inline int read(int fd, void* buf, unsigned int size) { return _read(fd, buf, size); }
|
|
||||||
static inline int setmode(int fd, int mode) { return _setmode(fd, mode); }
|
|
||||||
static inline __msvcrt_long tell(int fd) { return _tell(fd); }
|
|
||||||
#ifndef _UMASK_DEFINED
|
|
||||||
static inline int umask(int fd) { return _umask(fd); }
|
|
||||||
#define _UMASK_DEFINED
|
|
||||||
#endif
|
|
||||||
#ifndef _UNLINK_DEFINED
|
|
||||||
static inline int unlink(const char* path) { return _unlink(path); }
|
|
||||||
#define _UNLINK_DEFINED
|
|
||||||
#endif
|
|
||||||
static inline int write(int fd, const void* buf, unsigned int size) { return _write(fd, buf, size); }
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ < 4)
|
|
||||||
_ACRTIMP int __cdecl open(const char*,int,...) __attribute__((alias("_open")));
|
|
||||||
_ACRTIMP int __cdecl sopen(const char*,int,int,...) __attribute__((alias("_sopen")));
|
|
||||||
#else
|
|
||||||
#define open _open
|
|
||||||
#define sopen _sopen
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#endif /* __WINE_IO_H */
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#ifndef __WINE_LIMITS_H
|
|
||||||
#define __WINE_LIMITS_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#define CHAR_BIT 8
|
|
||||||
#define MB_LEN_MAX 5
|
|
||||||
|
|
||||||
#define SCHAR_MIN (-0x80)
|
|
||||||
#define SCHAR_MAX 0x7f
|
|
||||||
#define UCHAR_MAX 0xff
|
|
||||||
|
|
||||||
#ifdef __CHAR_UNSIGNED__
|
|
||||||
# define CHAR_MIN 0
|
|
||||||
# define CHAR_MAX UCHAR_MAX
|
|
||||||
#else
|
|
||||||
# define CHAR_MIN SCHAR_MIN
|
|
||||||
# define CHAR_MAX SCHAR_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SHRT_MIN (-0x8000)
|
|
||||||
#define SHRT_MAX 0x7fff
|
|
||||||
#define USHRT_MAX 0xffff
|
|
||||||
|
|
||||||
#define INT_MIN (-0x7fffffff - 1)
|
|
||||||
#define INT_MAX 0x7fffffff
|
|
||||||
#define UINT_MAX 0xffffffffU
|
|
||||||
|
|
||||||
#define LONG_MIN (-0x7fffffffL - 1L)
|
|
||||||
#define LONG_MAX 0x7fffffffL
|
|
||||||
#define ULONG_MAX 0xffffffffUL
|
|
||||||
|
|
||||||
#define LLONG_MAX 0x7fffffffffffffffLL
|
|
||||||
#define LLONG_MIN (-LLONG_MAX-1)
|
|
||||||
#define ULLONG_MAX 0xffffffffffffffffULL
|
|
||||||
|
|
||||||
#define _I64_MAX 0x7fffffffffffffffLL
|
|
||||||
#define _I64_MIN (-_I64_MAX-1)
|
|
||||||
#define _UI64_MAX 0xffffffffffffffffULL
|
|
||||||
|
|
||||||
#define I64_MIN _I64_MIN
|
|
||||||
#define I64_MAX _I64_MAX
|
|
||||||
#define UI64_MAX _UI64_MAX
|
|
||||||
|
|
||||||
#ifndef SIZE_MAX
|
|
||||||
# ifdef _WIN64
|
|
||||||
# define SIZE_MAX UI64_MAX
|
|
||||||
# else
|
|
||||||
# define SIZE_MAX UINT_MAX
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_LIMITS_H */
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
/*
|
|
||||||
* Locale definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_LOCALE_H
|
|
||||||
#define __WINE_LOCALE_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#define LC_ALL 0
|
|
||||||
#define LC_COLLATE 1
|
|
||||||
#define LC_CTYPE 2
|
|
||||||
#define LC_MONETARY 3
|
|
||||||
#define LC_NUMERIC 4
|
|
||||||
#define LC_TIME 5
|
|
||||||
#define LC_MIN LC_ALL
|
|
||||||
#define LC_MAX LC_TIME
|
|
||||||
|
|
||||||
#ifndef _LCONV_DEFINED
|
|
||||||
#define _LCONV_DEFINED
|
|
||||||
struct lconv
|
|
||||||
{
|
|
||||||
char* decimal_point;
|
|
||||||
char* thousands_sep;
|
|
||||||
char* grouping;
|
|
||||||
char* int_curr_symbol;
|
|
||||||
char* currency_symbol;
|
|
||||||
char* mon_decimal_point;
|
|
||||||
char* mon_thousands_sep;
|
|
||||||
char* mon_grouping;
|
|
||||||
char* positive_sign;
|
|
||||||
char* negative_sign;
|
|
||||||
char int_frac_digits;
|
|
||||||
char frac_digits;
|
|
||||||
char p_cs_precedes;
|
|
||||||
char p_sep_by_space;
|
|
||||||
char n_cs_precedes;
|
|
||||||
char n_sep_by_space;
|
|
||||||
char p_sign_posn;
|
|
||||||
char n_sign_posn;
|
|
||||||
#if _MSVCR_VER >= 100
|
|
||||||
wchar_t* _W_decimal_point;
|
|
||||||
wchar_t* _W_thousands_sep;
|
|
||||||
wchar_t* _W_int_curr_symbol;
|
|
||||||
wchar_t* _W_currency_symbol;
|
|
||||||
wchar_t* _W_mon_decimal_point;
|
|
||||||
wchar_t* _W_mon_thousands_sep;
|
|
||||||
wchar_t* _W_positive_sign;
|
|
||||||
wchar_t* _W_negative_sign;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
#endif /* _LCONV_DEFINED */
|
|
||||||
|
|
||||||
struct tm;
|
|
||||||
|
|
||||||
#ifndef _CONFIG_LOCALE_SWT
|
|
||||||
#define _CONFIG_LOCALE_SWT
|
|
||||||
|
|
||||||
#define _ENABLE_PER_THREAD_LOCALE 0x1
|
|
||||||
#define _DISABLE_PER_THREAD_LOCALE 0x2
|
|
||||||
#define _ENABLE_PER_THREAD_LOCALE_GLOBAL 0x10
|
|
||||||
#define _DISABLE_PER_THREAD_LOCALE_GLOBAL 0x20
|
|
||||||
#define _ENABLE_PER_THREAD_LOCALE_NEW 0x100
|
|
||||||
#define _DISABLE_PER_THREAD_LOCALE_NEW 0x200
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP char* __cdecl setlocale(int,const char*);
|
|
||||||
_ACRTIMP struct lconv* __cdecl localeconv(void);
|
|
||||||
_ACRTIMP size_t __cdecl _Strftime(char*,size_t,const char*,const struct tm*,void*);
|
|
||||||
_ACRTIMP int __cdecl _configthreadlocale(int);
|
|
||||||
_ACRTIMP _locale_t __cdecl _get_current_locale(void);
|
|
||||||
_ACRTIMP _locale_t __cdecl _create_locale(int, const char*);
|
|
||||||
_ACRTIMP _locale_t __cdecl _wcreate_locale(int, const wchar_t*);
|
|
||||||
_ACRTIMP void __cdecl _free_locale(_locale_t);
|
|
||||||
|
|
||||||
_ACRTIMP unsigned int __cdecl ___lc_codepage_func(void);
|
|
||||||
_ACRTIMP wchar_t** __cdecl ___lc_locale_name_func(void);
|
|
||||||
|
|
||||||
_ACRTIMP void* __cdecl _Gettnames(void);
|
|
||||||
_ACRTIMP void* __cdecl _W_Gettnames(void);
|
|
||||||
|
|
||||||
#ifndef _WLOCALE_DEFINED
|
|
||||||
#define _WLOCALE_DEFINED
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wsetlocale(int,const wchar_t*);
|
|
||||||
#endif /* _WLOCALE_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_LOCALE_H */
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
/*
|
|
||||||
* Heap definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_MALLOC_H
|
|
||||||
#define __WINE_MALLOC_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <corecrt_malloc.h>
|
|
||||||
|
|
||||||
/* heap function constants */
|
|
||||||
#define _HEAPEMPTY -1
|
|
||||||
#define _HEAPOK -2
|
|
||||||
#define _HEAPBADBEGIN -3
|
|
||||||
#define _HEAPBADNODE -4
|
|
||||||
#define _HEAPEND -5
|
|
||||||
#define _HEAPBADPTR -6
|
|
||||||
|
|
||||||
#define _FREEENTRY 0
|
|
||||||
#define _USEDENTRY 1
|
|
||||||
|
|
||||||
#ifndef _HEAPINFO_DEFINED
|
|
||||||
#define _HEAPINFO_DEFINED
|
|
||||||
typedef struct _heapinfo
|
|
||||||
{
|
|
||||||
int* _pentry;
|
|
||||||
size_t _size;
|
|
||||||
int _useflag;
|
|
||||||
} _HEAPINFO;
|
|
||||||
#endif /* _HEAPINFO_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
_ACRTIMP unsigned int* __cdecl __p__amblksiz(void);
|
|
||||||
#define _amblksiz (*__p__amblksiz());
|
|
||||||
#else
|
|
||||||
extern unsigned int _amblksiz;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _heapadd(void*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _heapchk(void);
|
|
||||||
_ACRTIMP int __cdecl _heapmin(void);
|
|
||||||
_ACRTIMP int __cdecl _heapset(unsigned int);
|
|
||||||
_ACRTIMP size_t __cdecl _heapused(size_t*,size_t*);
|
|
||||||
_ACRTIMP int __cdecl _heapwalk(_HEAPINFO*);
|
|
||||||
|
|
||||||
_ACRTIMP intptr_t __cdecl _get_heap_handle(void);
|
|
||||||
_ACRTIMP size_t __cdecl _get_sbh_threshold(void);
|
|
||||||
_ACRTIMP int __cdecl _set_sbh_threshold(size_t size);
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
void *_alloca(size_t size);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# ifdef __GNUC__
|
|
||||||
# define _alloca(x) __builtin_alloca((x))
|
|
||||||
# define alloca(x) __builtin_alloca((x))
|
|
||||||
# elif defined(_MSC_VER)
|
|
||||||
# define alloca(x) _alloca((x))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#endif /* __WINE_MALLOC_H */
|
|
||||||
@@ -1,436 +0,0 @@
|
|||||||
/*
|
|
||||||
* Math functions.
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Hans Leidekker.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_MATH_H
|
|
||||||
#define __WINE_MATH_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _DOMAIN 1 /* domain error in argument */
|
|
||||||
#define _SING 2 /* singularity */
|
|
||||||
#define _OVERFLOW 3 /* range overflow */
|
|
||||||
#define _UNDERFLOW 4 /* range underflow */
|
|
||||||
#define _TLOSS 5 /* total loss of precision */
|
|
||||||
#define _PLOSS 6 /* partial loss of precision */
|
|
||||||
|
|
||||||
#ifndef _EXCEPTION_DEFINED
|
|
||||||
#define _EXCEPTION_DEFINED
|
|
||||||
struct _exception
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
char *name;
|
|
||||||
double arg1;
|
|
||||||
double arg2;
|
|
||||||
double retval;
|
|
||||||
};
|
|
||||||
#endif /* _EXCEPTION_DEFINED */
|
|
||||||
|
|
||||||
#ifndef _COMPLEX_DEFINED
|
|
||||||
#define _COMPLEX_DEFINED
|
|
||||||
struct _complex
|
|
||||||
{
|
|
||||||
double x; /* Real part */
|
|
||||||
double y; /* Imaginary part */
|
|
||||||
};
|
|
||||||
#endif /* _COMPLEX_DEFINED */
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl sin(double);
|
|
||||||
_ACRTIMP double __cdecl cos(double);
|
|
||||||
_ACRTIMP double __cdecl tan(double);
|
|
||||||
_ACRTIMP double __cdecl sinh(double);
|
|
||||||
_ACRTIMP double __cdecl cosh(double);
|
|
||||||
_ACRTIMP double __cdecl tanh(double);
|
|
||||||
_ACRTIMP double __cdecl asin(double);
|
|
||||||
_ACRTIMP double __cdecl acos(double);
|
|
||||||
_ACRTIMP double __cdecl atan(double);
|
|
||||||
_ACRTIMP double __cdecl atan2(double, double);
|
|
||||||
_ACRTIMP double __cdecl asinh(double);
|
|
||||||
_ACRTIMP double __cdecl acosh(double);
|
|
||||||
_ACRTIMP double __cdecl atanh(double);
|
|
||||||
_ACRTIMP double __cdecl exp(double);
|
|
||||||
_ACRTIMP double __cdecl log(double);
|
|
||||||
_ACRTIMP double __cdecl log10(double);
|
|
||||||
_ACRTIMP double __cdecl pow(double, double);
|
|
||||||
_ACRTIMP double __cdecl sqrt(double);
|
|
||||||
_ACRTIMP double __cdecl ceil(double);
|
|
||||||
_ACRTIMP double __cdecl floor(double);
|
|
||||||
_ACRTIMP double __cdecl fabs(double);
|
|
||||||
_ACRTIMP double __cdecl ldexp(double, int);
|
|
||||||
_ACRTIMP double __cdecl frexp(double, int*);
|
|
||||||
_ACRTIMP double __cdecl modf(double, double*);
|
|
||||||
_ACRTIMP double __cdecl fdim(double, double);
|
|
||||||
_ACRTIMP double __cdecl fmod(double, double);
|
|
||||||
_ACRTIMP double __cdecl fmin(double, double);
|
|
||||||
_ACRTIMP double __cdecl fmax(double, double);
|
|
||||||
_ACRTIMP double __cdecl erf(double);
|
|
||||||
_ACRTIMP double __cdecl remainder(double, double);
|
|
||||||
_ACRTIMP double __cdecl remquo(double, double, int*);
|
|
||||||
_ACRTIMP float __cdecl remquof(float, float, int*);
|
|
||||||
_ACRTIMP double __cdecl lgamma(double);
|
|
||||||
_ACRTIMP double __cdecl tgamma(double);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl _hypot(double, double);
|
|
||||||
_ACRTIMP double __cdecl _j0(double);
|
|
||||||
_ACRTIMP double __cdecl _j1(double);
|
|
||||||
_ACRTIMP double __cdecl _jn(int, double);
|
|
||||||
_ACRTIMP double __cdecl _y0(double);
|
|
||||||
_ACRTIMP double __cdecl _y1(double);
|
|
||||||
_ACRTIMP double __cdecl _yn(int, double);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl cbrt(double);
|
|
||||||
_ACRTIMP double __cdecl exp2(double);
|
|
||||||
_ACRTIMP double __cdecl expm1(double);
|
|
||||||
_ACRTIMP double __cdecl log1p(double);
|
|
||||||
_ACRTIMP double __cdecl log2(double);
|
|
||||||
_ACRTIMP double __cdecl logb(double);
|
|
||||||
_ACRTIMP double __cdecl rint(double);
|
|
||||||
_ACRTIMP double __cdecl round(double);
|
|
||||||
_ACRTIMP double __cdecl trunc(double);
|
|
||||||
|
|
||||||
_ACRTIMP float __cdecl cbrtf(float);
|
|
||||||
_ACRTIMP float __cdecl exp2f(float);
|
|
||||||
_ACRTIMP float __cdecl expm1f(float);
|
|
||||||
_ACRTIMP float __cdecl log1pf(float);
|
|
||||||
_ACRTIMP float __cdecl log2f(float);
|
|
||||||
_ACRTIMP float __cdecl logbf(float);
|
|
||||||
_ACRTIMP float __cdecl rintf(float);
|
|
||||||
_ACRTIMP float __cdecl roundf(float);
|
|
||||||
_ACRTIMP float __cdecl truncf(float);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl ilogb(double);
|
|
||||||
_ACRTIMP int __cdecl ilogbf(float);
|
|
||||||
|
|
||||||
_ACRTIMP float __cdecl fmaf(float x, float y, float z);
|
|
||||||
_ACRTIMP double __cdecl fma(double x, double y, double z);
|
|
||||||
|
|
||||||
_ACRTIMP __int64 __cdecl llrint(double);
|
|
||||||
_ACRTIMP __int64 __cdecl llrintf(float);
|
|
||||||
_ACRTIMP __int64 __cdecl llround(double);
|
|
||||||
_ACRTIMP __int64 __cdecl llroundf(float);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl lrint(double);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl lrintf(float);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl lround(double);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl lroundf(float);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl scalbn(double,int);
|
|
||||||
_ACRTIMP float __cdecl scalbnf(float,int);
|
|
||||||
_ACRTIMP double __cdecl scalbln(double,__msvcrt_long);
|
|
||||||
_ACRTIMP float __cdecl scalblnf(float,__msvcrt_long);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl _copysign (double, double);
|
|
||||||
_ACRTIMP double __cdecl _chgsign (double);
|
|
||||||
_ACRTIMP double __cdecl _scalb(double, __msvcrt_long);
|
|
||||||
_ACRTIMP double __cdecl _logb(double);
|
|
||||||
_ACRTIMP double __cdecl _nextafter(double, double);
|
|
||||||
_ACRTIMP int __cdecl _finite(double);
|
|
||||||
_ACRTIMP int __cdecl _isnan(double);
|
|
||||||
_ACRTIMP int __cdecl _fpclass(double);
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl nextafter(double, double);
|
|
||||||
|
|
||||||
#if !defined(__i386__) || defined(_NO_CRT_MATH_INLINE)
|
|
||||||
|
|
||||||
_ACRTIMP float __cdecl sinf(float);
|
|
||||||
_ACRTIMP float __cdecl cosf(float);
|
|
||||||
_ACRTIMP float __cdecl tanf(float);
|
|
||||||
_ACRTIMP float __cdecl sinhf(float);
|
|
||||||
_ACRTIMP float __cdecl coshf(float);
|
|
||||||
_ACRTIMP float __cdecl tanhf(float);
|
|
||||||
_ACRTIMP float __cdecl asinf(float);
|
|
||||||
_ACRTIMP float __cdecl acosf(float);
|
|
||||||
_ACRTIMP float __cdecl atanf(float);
|
|
||||||
_ACRTIMP float __cdecl atan2f(float, float);
|
|
||||||
_ACRTIMP float __cdecl atanhf(float);
|
|
||||||
_ACRTIMP float __cdecl expf(float);
|
|
||||||
_ACRTIMP float __cdecl logf(float);
|
|
||||||
_ACRTIMP float __cdecl log10f(float);
|
|
||||||
_ACRTIMP float __cdecl powf(float, float);
|
|
||||||
_ACRTIMP float __cdecl sqrtf(float);
|
|
||||||
_ACRTIMP float __cdecl ceilf(float);
|
|
||||||
_ACRTIMP float __cdecl floorf(float);
|
|
||||||
_ACRTIMP float __cdecl modff(float, float*);
|
|
||||||
_ACRTIMP float __cdecl fmodf(float, float);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _finitef(float);
|
|
||||||
_ACRTIMP int __cdecl _isnanf(float);
|
|
||||||
_ACRTIMP int __cdecl _fpclassf(float);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline float sinf(float x) { return sin(x); }
|
|
||||||
static inline float cosf(float x) { return cos(x); }
|
|
||||||
static inline float tanf(float x) { return tan(x); }
|
|
||||||
static inline float sinhf(float x) { return sinh(x); }
|
|
||||||
static inline float coshf(float x) { return cosh(x); }
|
|
||||||
static inline float tanhf(float x) { return tanh(x); }
|
|
||||||
static inline float asinf(float x) { return asin(x); }
|
|
||||||
static inline float acosf(float x) { return acos(x); }
|
|
||||||
static inline float atanf(float x) { return atan(x); }
|
|
||||||
static inline float atan2f(float x, float y) { return atan2(x, y); }
|
|
||||||
static inline float expf(float x) { return exp(x); }
|
|
||||||
static inline float logf(float x) { return log(x); }
|
|
||||||
static inline float log10f(float x) { return log10(x); }
|
|
||||||
static inline float powf(float x, float y) { return pow(x, y); }
|
|
||||||
static inline float sqrtf(float x) { return sqrt(x); }
|
|
||||||
static inline float ceilf(float x) { return ceil(x); }
|
|
||||||
static inline float floorf(float x) { return floor(x); }
|
|
||||||
static inline float modff(float x, float *y) { double yd, ret = modf(x, &yd); *y = yd; return ret; }
|
|
||||||
static inline float fmodf(float x, float y) { return fmod(x, y); }
|
|
||||||
|
|
||||||
static inline int _finitef(float x) { return _finite(x); }
|
|
||||||
static inline int _isnanf(float x) { return _isnan(x); }
|
|
||||||
|
|
||||||
static inline int _fpclassf(float x)
|
|
||||||
{
|
|
||||||
unsigned int ix = *(int*)&x;
|
|
||||||
double d = x;
|
|
||||||
|
|
||||||
/* construct denormal double */
|
|
||||||
if (!(ix >> 23 & 0xff) && (ix << 1))
|
|
||||||
{
|
|
||||||
unsigned __int64 id = (((unsigned __int64)ix >> 31) << 63) | 1;
|
|
||||||
d = *(double*)&id;
|
|
||||||
}
|
|
||||||
return _fpclass(d);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (defined(__x86_64__) && !defined(_UCRT)) || defined(_NO_CRT_MATH_INLINE)
|
|
||||||
_ACRTIMP float __cdecl frexpf(float, int*);
|
|
||||||
#else
|
|
||||||
static inline float frexpf(float x, int *y) { return frexp(x, y); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (!defined(__i386__) && !defined(__x86_64__) && (_MSVCR_VER == 0 || _MSVCR_VER >= 110)) || defined(_NO_CRT_MATH_INLINE)
|
|
||||||
_ACRTIMP float __cdecl fabsf(float);
|
|
||||||
#else
|
|
||||||
static inline float fabsf(float x) { return fabs(x); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(__i386__) || _MSVCR_VER>=120 || defined(_NO_CRT_MATH_INLINE)
|
|
||||||
|
|
||||||
_ACRTIMP float __cdecl _chgsignf(float);
|
|
||||||
_ACRTIMP float __cdecl _copysignf(float, float);
|
|
||||||
_ACRTIMP float __cdecl _logbf(float);
|
|
||||||
_ACRTIMP float __cdecl acoshf(float);
|
|
||||||
_ACRTIMP float __cdecl asinhf(float);
|
|
||||||
_ACRTIMP float __cdecl atanhf(float);
|
|
||||||
_ACRTIMP float __cdecl erff(float);
|
|
||||||
_ACRTIMP float __cdecl fdimf(float, float);
|
|
||||||
_ACRTIMP float __cdecl fmaxf(float, float);
|
|
||||||
_ACRTIMP float __cdecl fminf(float, float);
|
|
||||||
_ACRTIMP float __cdecl lgammaf(float);
|
|
||||||
_ACRTIMP float __cdecl nextafterf(float, float);
|
|
||||||
_ACRTIMP float __cdecl remainderf(float, float);
|
|
||||||
_ACRTIMP float __cdecl tgammaf(float);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline float _chgsignf(float x) { return _chgsign(x); }
|
|
||||||
static inline float _copysignf(float x, float y) { return _copysign(x, y); }
|
|
||||||
static inline float _logbf(float x) { return _logb(x); }
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline float ldexpf(float x, int y) { return ldexp(x, y); }
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
_ACRTIMP double __cdecl copysign(double, double);
|
|
||||||
_ACRTIMP float __cdecl copysignf(float, float);
|
|
||||||
#else
|
|
||||||
#define copysign(x,y) _copysign(x,y)
|
|
||||||
#define copysignf(x,y) _copysignf(x,y)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP double __cdecl nearbyint(double);
|
|
||||||
_ACRTIMP float __cdecl nearbyintf(float);
|
|
||||||
_ACRTIMP float __cdecl _hypotf(float, float);
|
|
||||||
_ACRTIMP int __cdecl _matherr(struct _exception*);
|
|
||||||
_ACRTIMP double __cdecl _cabs(struct _complex);
|
|
||||||
|
|
||||||
#if (defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))) || defined(__clang__)
|
|
||||||
# define INFINITY __builtin_inff()
|
|
||||||
# define NAN __builtin_nanf("")
|
|
||||||
# define HUGE_VAL __builtin_huge_val()
|
|
||||||
#else
|
|
||||||
static const union {
|
|
||||||
unsigned int __i;
|
|
||||||
float __f;
|
|
||||||
} __inff = { 0x7f800000 }, __nanf = { 0x7fc00000 };
|
|
||||||
# define INFINITY (__inff.__f)
|
|
||||||
# define NAN (__nanf.__f)
|
|
||||||
# define HUGE_VAL ((double)INFINITY)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FP_INFINITE 1
|
|
||||||
#define FP_NAN 2
|
|
||||||
#define FP_NORMAL -1
|
|
||||||
#define FP_SUBNORMAL -2
|
|
||||||
#define FP_ZERO 0
|
|
||||||
|
|
||||||
#define _C2 1
|
|
||||||
#define FP_ILOGB0 (-0x7fffffff - _C2)
|
|
||||||
#define FP_ILOGBNAN 0x7fffffff
|
|
||||||
|
|
||||||
_ACRTIMP short __cdecl _dtest(double*);
|
|
||||||
_ACRTIMP short __cdecl _ldtest(long double*);
|
|
||||||
_ACRTIMP short __cdecl _fdtest(float*);
|
|
||||||
_ACRTIMP int __cdecl _dsign(double);
|
|
||||||
_ACRTIMP int __cdecl _ldsign(long double);
|
|
||||||
_ACRTIMP int __cdecl _fdsign(float);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
|
|
||||||
extern "C++" {
|
|
||||||
inline int fpclassify(float x) throw() { return _fdtest(&x); }
|
|
||||||
inline int fpclassify(double x) throw() { return _dtest(&x); }
|
|
||||||
inline int fpclassify(long double x) throw() { return _ldtest(&x); }
|
|
||||||
inline bool signbit(float x) throw() { return _fdsign(x) != 0; }
|
|
||||||
inline bool signbit(double x) throw() { return _dsign(x) != 0; }
|
|
||||||
inline bool signbit(long double x) throw() { return _ldsign(x) != 0; }
|
|
||||||
template <class T> inline bool isfinite(T x) throw() { return fpclassify(x) <= 0; }
|
|
||||||
template <class T> inline bool isinf(T x) throw() { return fpclassify(x) == FP_INFINITE; }
|
|
||||||
template <class T> inline bool isnan(T x) throw() { return fpclassify(x) == FP_NAN; }
|
|
||||||
template <class T> inline bool isnormal(T x) throw() { return fpclassify(x) == FP_NORMAL; }
|
|
||||||
} /* extern "C++" */
|
|
||||||
|
|
||||||
#elif _MSVCR_VER >= 120
|
|
||||||
|
|
||||||
_ACRTIMP short __cdecl _dclass(double);
|
|
||||||
_ACRTIMP short __cdecl _fdclass(float);
|
|
||||||
|
|
||||||
#define fpclassify(x) (sizeof(x) == sizeof(float) ? _fdclass(x) : _dclass(x))
|
|
||||||
#define signbit(x) (sizeof(x) == sizeof(float) ? _fdsign(x) : _dsign(x))
|
|
||||||
#define isinf(x) (fpclassify(x) == FP_INFINITE)
|
|
||||||
#define isnan(x) (fpclassify(x) == FP_NAN)
|
|
||||||
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
|
|
||||||
#define isfinite(x) (fpclassify(x) <= 0)
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _dpcomp(double, double);
|
|
||||||
_ACRTIMP int __cdecl _fdpcomp(float, float);
|
|
||||||
|
|
||||||
#define _FP_LT 1
|
|
||||||
#define _FP_EQ 2
|
|
||||||
#define _FP_GT 4
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline int __isnanf(float x)
|
|
||||||
{
|
|
||||||
union { float x; unsigned int i; } u = { x };
|
|
||||||
return (u.i & 0x7fffffff) > 0x7f800000;
|
|
||||||
}
|
|
||||||
static inline int __isnan(double x)
|
|
||||||
{
|
|
||||||
union { double x; unsigned __int64 i; } u = { x };
|
|
||||||
return (u.i & ~0ull >> 1) > 0x7ffull << 52;
|
|
||||||
}
|
|
||||||
static inline int __isinff(float x)
|
|
||||||
{
|
|
||||||
union { float x; unsigned int i; } u = { x };
|
|
||||||
return (u.i & 0x7fffffff) == 0x7f800000;
|
|
||||||
}
|
|
||||||
static inline int __isinf(double x)
|
|
||||||
{
|
|
||||||
union { double x; unsigned __int64 i; } u = { x };
|
|
||||||
return (u.i & ~0ull >> 1) == 0x7ffull << 52;
|
|
||||||
}
|
|
||||||
static inline int __isnormalf(float x)
|
|
||||||
{
|
|
||||||
union { float x; unsigned int i; } u = { x };
|
|
||||||
return ((u.i + 0x00800000) & 0x7fffffff) >= 0x01000000;
|
|
||||||
}
|
|
||||||
static inline int __isnormal(double x)
|
|
||||||
{
|
|
||||||
union { double x; unsigned __int64 i; } u = { x };
|
|
||||||
return ((u.i + (1ull << 52)) & ~0ull >> 1) >= 1ull << 53;
|
|
||||||
}
|
|
||||||
static inline int __signbitf(float x)
|
|
||||||
{
|
|
||||||
union { float x; unsigned int i; } u = { x };
|
|
||||||
return (int)(u.i >> 31);
|
|
||||||
}
|
|
||||||
static inline int __signbit(double x)
|
|
||||||
{
|
|
||||||
union { double x; unsigned __int64 i; } u = { x };
|
|
||||||
return (int)(u.i >> 63);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define isinf(x) (sizeof(x) == sizeof(float) ? __isinff(x) : __isinf(x))
|
|
||||||
#define isnan(x) (sizeof(x) == sizeof(float) ? __isnanf(x) : __isnan(x))
|
|
||||||
#define isnormal(x) (sizeof(x) == sizeof(float) ? __isnormalf(x) : __isnormal(x))
|
|
||||||
#define signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : __signbit(x))
|
|
||||||
#define isfinite(x) (!isinf(x) && !isnan(x))
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
|
|
||||||
#if defined(__GNUC__) || defined(__clang__)
|
|
||||||
# define isgreater(x, y) __builtin_isgreater(x, y)
|
|
||||||
# define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
|
|
||||||
# define isless(x, y) __builtin_isless(x, y)
|
|
||||||
# define islessequal(x, y) __builtin_islessequal(x, y)
|
|
||||||
# define islessgreater(x, y) __builtin_islessgreater(x, y)
|
|
||||||
# define isunordered(x, y) __builtin_isunordered(x, y)
|
|
||||||
#else
|
|
||||||
# define __FP_COMPARE(x,y) (sizeof(x) == sizeof(float) && sizeof(y) == sizeof(float) ? _fdpcomp(x,y) : _dpcomp(x,y))
|
|
||||||
# define isgreater(x, y) ((__FP_COMPARE(x, y) & _FP_GT) != 0)
|
|
||||||
# define isgreaterequal(x, y) ((__FP_COMPARE(x, y) & (_FP_GT|_FP_EQ)) != 0)
|
|
||||||
# define isless(x, y) ((__FP_COMPARE(x, y) & _FP_LT) != 0)
|
|
||||||
# define islessequal(x, y) ((__FP_COMPARE(x, y) & (_FP_LT|_FP_EQ)) != 0)
|
|
||||||
# define islessgreater(x, y) ((__FP_COMPARE(x, y) & (_FP_LT|_FP_GT)) != 0)
|
|
||||||
# define isunordered(x, y) (!__FP_COMPARE(x, y))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#if !defined(__STRICT_ANSI__) || defined(_POSIX_C_SOURCE) || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_USE_MATH_DEFINES)
|
|
||||||
#ifndef _MATH_DEFINES_DEFINED
|
|
||||||
#define _MATH_DEFINES_DEFINED
|
|
||||||
#define M_E 2.71828182845904523536
|
|
||||||
#define M_LOG2E 1.44269504088896340736
|
|
||||||
#define M_LOG10E 0.434294481903251827651
|
|
||||||
#define M_LN2 0.693147180559945309417
|
|
||||||
#define M_LN10 2.30258509299404568402
|
|
||||||
#define M_PI 3.14159265358979323846
|
|
||||||
#define M_PI_2 1.57079632679489661923
|
|
||||||
#define M_PI_4 0.785398163397448309616
|
|
||||||
#define M_1_PI 0.318309886183790671538
|
|
||||||
#define M_2_PI 0.636619772367581343076
|
|
||||||
#define M_2_SQRTPI 1.12837916709551257390
|
|
||||||
#define M_SQRT2 1.41421356237309504880
|
|
||||||
#define M_SQRT1_2 0.707106781186547524401
|
|
||||||
#endif /* !_MATH_DEFINES_DEFINED */
|
|
||||||
#endif /* _USE_MATH_DEFINES */
|
|
||||||
|
|
||||||
static inline double hypot( double x, double y ) { return _hypot( x, y ); }
|
|
||||||
static inline double j0( double x ) { return _j0( x ); }
|
|
||||||
static inline double j1( double x ) { return _j1( x ); }
|
|
||||||
static inline double jn( int n, double x ) { return _jn( n, x ); }
|
|
||||||
static inline double y0( double x ) { return _y0( x ); }
|
|
||||||
static inline double y1( double x ) { return _y1( x ); }
|
|
||||||
static inline double yn( int n, double x ) { return _yn( n, x ); }
|
|
||||||
|
|
||||||
static inline float hypotf( float x, float y ) { return _hypotf( x, y ); }
|
|
||||||
static inline long double atan2l( long double x, long double y ) { return atan2( (double)y, (double)x ); }
|
|
||||||
|
|
||||||
#endif /* __WINE_MATH_H */
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
/*
|
|
||||||
* Multibyte char definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_MBCTYPE_H
|
|
||||||
#define __WINE_MBCTYPE_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
_ACRTIMP unsigned char* __cdecl __p__mbctype(void);
|
|
||||||
#define _mbctype (__p__mbctype())
|
|
||||||
#else
|
|
||||||
extern unsigned char MSVCRT_mbctype[];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _MS 0x01
|
|
||||||
#define _MP 0x02
|
|
||||||
#define _M1 0x04
|
|
||||||
#define _M2 0x08
|
|
||||||
|
|
||||||
#define _SBUP 0x10
|
|
||||||
#define _SBLOW 0x20
|
|
||||||
|
|
||||||
#define _MBC_SINGLE 0
|
|
||||||
#define _MBC_LEAD 1
|
|
||||||
#define _MBC_TRAIL 2
|
|
||||||
#define _MBC_ILLEGAL -1
|
|
||||||
|
|
||||||
#define _KANJI_CP 932
|
|
||||||
|
|
||||||
#define _MB_CP_SBCS 0
|
|
||||||
#define _MB_CP_OEM -2
|
|
||||||
#define _MB_CP_ANSI -3
|
|
||||||
#define _MB_CP_LOCALE -4
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _getmbcp(void);
|
|
||||||
_ACRTIMP int __cdecl _ismbbalnum(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbalpha(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbgraph(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbkalnum(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbkana(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbkprint(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbkpunct(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbprint(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbbpunct(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _setmbcp(int);
|
|
||||||
|
|
||||||
#ifndef _MBLEADTRAIL_DEFINED
|
|
||||||
#define _MBLEADTRAIL_DEFINED
|
|
||||||
_ACRTIMP int __cdecl _ismbblead(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbblead_l(unsigned int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _ismbbtrail(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbslead(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP int __cdecl _ismbstrail(const unsigned char*,const unsigned char*);
|
|
||||||
#endif /* _MBLEADTRAIL_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_MBCTYPE_H */
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
/*
|
|
||||||
* Multibyte string definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_MBSTRING_H
|
|
||||||
#define __WINE_MBSTRING_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _NLSCMP_DEFINED
|
|
||||||
#define _NLSCMPERROR ((unsigned int)0x7fffffff)
|
|
||||||
#define _NLSCMP_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _ismbcalnum(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcalpha(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcdigit(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcgraph(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbchira(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbckata(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcl0(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcl1(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcl2(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbclegal(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbclegal_l(unsigned int, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _ismbclower(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcprint(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcpunct(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcspace(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcsymbol(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbcupper(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbbtombc(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _mbbtype(unsigned char,int);
|
|
||||||
_ACRTIMP int __cdecl _mbbtype_l(unsigned char,int,_locale_t);
|
|
||||||
#define _mbccmp(_cpc1,_cpc2) _mbsncmp((_cpc1),(_cpc2),1)
|
|
||||||
_ACRTIMP void __cdecl _mbccpy(unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbcjistojms(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbcjmstojis(unsigned int);
|
|
||||||
_ACRTIMP size_t __cdecl _mbclen(const unsigned char*);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbctohira(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbctokata(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbctolower(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbctombb(unsigned int);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbctoupper(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _mbsbtype(const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbscat(unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbschr(const unsigned char*,unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _mbscmp(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP int __cdecl _mbscmp_l(const unsigned char*,const unsigned char*,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _mbscoll(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbscpy(unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP size_t __cdecl _mbscspn(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsdec(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsdup(const unsigned char*);
|
|
||||||
_ACRTIMP int __cdecl _mbsicmp(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP int __cdecl _mbsicoll(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsinc(const unsigned char*);
|
|
||||||
_ACRTIMP size_t __cdecl _mbslen(const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbslwr(unsigned char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbslwr_s(unsigned char*, size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsnbcat(unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbsnbcat_s(unsigned char*,size_t,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnbcmp(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnbcoll(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _mbsnbcnt(const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsnbcpy(unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnbicmp(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnbicoll(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsnbset(unsigned char*,unsigned int,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsncat(unsigned char*,const unsigned char*, size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _mbsnccnt(const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsncmp(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsncoll(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsncpy(unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbsncpy_s(unsigned char*,size_t,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbsncpy_s_l(unsigned char*,size_t,const unsigned char*,size_t,_locale_t);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbsnextc(const unsigned char*);
|
|
||||||
_ACRTIMP unsigned int __cdecl _mbsnextc_l(const unsigned char*,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnicmp(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _mbsnicoll(const unsigned char*,const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsninc(const unsigned char*,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsnset(unsigned char*,unsigned int,size_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbspbrk(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsrchr(const unsigned char*,unsigned int);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsrev(unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsset(unsigned char*,unsigned int);
|
|
||||||
_ACRTIMP size_t __cdecl _mbsspn(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsspnp(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsstr(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbstok(unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbstok_l(unsigned char*,const unsigned char*,_locale_t);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbstok_s(unsigned char*,const unsigned char*,unsigned char**);
|
|
||||||
_ACRTIMP unsigned char* __cdecl _mbsupr(unsigned char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _mbsupr_s(unsigned char*, size_t);
|
|
||||||
|
|
||||||
#ifndef _MBLEADTRAIL_DEFINED
|
|
||||||
#define _MBLEADTRAIL_DEFINED
|
|
||||||
_ACRTIMP int __cdecl _ismbblead(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbblead_l(unsigned int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _ismbbtrail(unsigned int);
|
|
||||||
_ACRTIMP int __cdecl _ismbslead(const unsigned char*,const unsigned char*);
|
|
||||||
_ACRTIMP int __cdecl _ismbstrail(const unsigned char*,const unsigned char*);
|
|
||||||
#endif /* _MBLEADTRAIL_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_MBSTRING_H */
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* Memory definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_MEMORY_H
|
|
||||||
#define __WINE_MEMORY_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _CRT_MEMORY_DEFINED
|
|
||||||
#define _CRT_MEMORY_DEFINED
|
|
||||||
|
|
||||||
_ACRTIMP void* __cdecl memchr(const void*,int,size_t);
|
|
||||||
_ACRTIMP int __cdecl memcmp(const void*,const void*,size_t);
|
|
||||||
_ACRTIMP void* __cdecl memcpy(void*,const void*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl memcpy_s(void*,size_t,const void*,size_t);
|
|
||||||
_ACRTIMP void* __cdecl memset(void*,int,size_t);
|
|
||||||
_ACRTIMP void* __cdecl _memccpy(void*,const void*,int,size_t);
|
|
||||||
_ACRTIMP int __cdecl _memicmp(const void*,const void*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _memicmp_l(const void*,const void*,size_t,_locale_t);
|
|
||||||
|
|
||||||
static inline int memicmp(const void* s1, const void* s2, size_t len) { return _memicmp(s1, s2, len); }
|
|
||||||
static inline void* memccpy(void *s1, const void *s2, int c, size_t n) { return _memccpy(s1, s2, c, n); }
|
|
||||||
|
|
||||||
#endif /* _CRT_MEMORY_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_MEMORY_H */
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
/*
|
|
||||||
* Process definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_PROCESS_H
|
|
||||||
#define __WINE_PROCESS_H
|
|
||||||
|
|
||||||
#include <corecrt_startup.h>
|
|
||||||
#include <corecrt_wprocess.h>
|
|
||||||
|
|
||||||
/* Process creation flags */
|
|
||||||
#define _P_WAIT 0
|
|
||||||
#define _P_NOWAIT 1
|
|
||||||
#define _P_OVERLAY 2
|
|
||||||
#define _P_NOWAITO 3
|
|
||||||
#define _P_DETACH 4
|
|
||||||
|
|
||||||
#define _WAIT_CHILD 0
|
|
||||||
#define _WAIT_GRANDCHILD 1
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef void (__cdecl *_beginthread_start_routine_t)(void *);
|
|
||||||
typedef unsigned int (__stdcall *_beginthreadex_start_routine_t)(void *);
|
|
||||||
|
|
||||||
_ACRTIMP uintptr_t __cdecl _beginthread(_beginthread_start_routine_t,unsigned int,void*);
|
|
||||||
_ACRTIMP uintptr_t __cdecl _beginthreadex(void*,unsigned int,_beginthreadex_start_routine_t,void*,unsigned int,unsigned int*);
|
|
||||||
_ACRTIMP intptr_t __cdecl _cwait(int*,intptr_t,int);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _endthread(void);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _endthreadex(unsigned int);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execl(const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execle(const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execlp(const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execlpe(const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execv(const char*,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execve(const char*,const char* const *,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execvp(const char*,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _execvpe(const char*,const char* const *,const char* const *);
|
|
||||||
_ACRTIMP int __cdecl _getpid(void);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnl(int,const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnle(int,const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnlp(int,const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnlpe(int,const char*,const char*,...);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnv(int,const char*,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnve(int,const char*,const char* const *,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnvp(int,const char*,const char* const *);
|
|
||||||
_ACRTIMP intptr_t __cdecl _spawnvpe(int,const char*,const char* const *,const char* const *);
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl _c_exit(void);
|
|
||||||
_ACRTIMP void __cdecl _cexit(void);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _exit(int);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl abort(void);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl exit(int);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl quick_exit(int);
|
|
||||||
_ACRTIMP int __cdecl system(const char*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define P_WAIT _P_WAIT
|
|
||||||
#define P_NOWAIT _P_NOWAIT
|
|
||||||
#define P_OVERLAY _P_OVERLAY
|
|
||||||
#define P_NOWAITO _P_NOWAITO
|
|
||||||
#define P_DETACH _P_DETACH
|
|
||||||
|
|
||||||
#define WAIT_CHILD _WAIT_CHILD
|
|
||||||
#define WAIT_GRANDCHILD _WAIT_GRANDCHILD
|
|
||||||
|
|
||||||
static inline intptr_t cwait(int *status, intptr_t pid, int action) { return _cwait(status, pid, action); }
|
|
||||||
static inline int getpid(void) { return _getpid(); }
|
|
||||||
static inline intptr_t spawnv(int flags, const char* name, const char* const* argv) { return _spawnv(flags, name, argv); }
|
|
||||||
static inline intptr_t spawnve(int flags, const char* name, const char* const* argv, const char* const* envv) { return _spawnve(flags, name, argv, envv); }
|
|
||||||
static inline intptr_t spawnvp(int flags, const char* name, const char* const* argv) { return _spawnvp(flags, name, argv); }
|
|
||||||
static inline intptr_t spawnvpe(int flags, const char* name, const char* const* argv, const char* const* envv) { return _spawnvpe(flags, name, argv, envv); }
|
|
||||||
#define execv _execv
|
|
||||||
#define execve _execve
|
|
||||||
#define execvp _execvp
|
|
||||||
#define execvpe _execvpe
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ < 4)
|
|
||||||
_ACRTIMP intptr_t __cdecl execl(const char*,const char*,...) __attribute__((alias("_execl")));
|
|
||||||
_ACRTIMP intptr_t __cdecl execle(const char*,const char*,...) __attribute__((alias("_execle")));
|
|
||||||
_ACRTIMP intptr_t __cdecl execlp(const char*,const char*,...) __attribute__((alias("_execlp")));
|
|
||||||
_ACRTIMP intptr_t __cdecl execlpe(const char*,const char*,...) __attribute__((alias("_execlpe")));
|
|
||||||
_ACRTIMP intptr_t __cdecl spawnl(int,const char*,const char*,...) __attribute__((alias("_spawnl")));
|
|
||||||
_ACRTIMP intptr_t __cdecl spawnle(int,const char*,const char*,...) __attribute__((alias("_spawnle")));
|
|
||||||
_ACRTIMP intptr_t __cdecl spawnlp(int,const char*,const char*,...) __attribute__((alias("_spawnlp")));
|
|
||||||
_ACRTIMP intptr_t __cdecl spawnlpe(int,const char*,const char*,...) __attribute__((alias("_spawnlpe")));
|
|
||||||
#else
|
|
||||||
#define execl _execl
|
|
||||||
#define execle _execle
|
|
||||||
#define execlp _execlp
|
|
||||||
#define execlpe _execlpe
|
|
||||||
#define spawnl _spawnl
|
|
||||||
#define spawnle _spawnle
|
|
||||||
#define spawnlp _spawnlp
|
|
||||||
#define spawnlpe _spawnlpe
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#endif /* __WINE_PROCESS_H */
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* Heap definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SEARCH_H
|
|
||||||
#define __WINE_SEARCH_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP void* __cdecl _lfind(const void*,const void*,unsigned int*,unsigned int,int (__cdecl *)(const void*,const void*));
|
|
||||||
_ACRTIMP void* __cdecl _lsearch(const void*,void*,unsigned int*,unsigned int,int (__cdecl *)(const void*,const void*));
|
|
||||||
_ACRTIMP void* __cdecl bsearch(const void*,const void*,size_t,size_t,int (__cdecl *)(const void*,const void*));
|
|
||||||
_ACRTIMP void* __cdecl bsearch_s(const void*,const void*,rsize_t,rsize_t,int (__cdecl *)(void*,const void*,const void*),void*);
|
|
||||||
_ACRTIMP void __cdecl qsort(void*,size_t,size_t,int (__cdecl *)(const void*,const void*));
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline void* lfind(const void* match, const void* start, unsigned int* array_size, unsigned int elem_size, int (__cdecl *cf)(const void*,const void*))
|
|
||||||
{ return _lfind(match, start, array_size, elem_size, cf); }
|
|
||||||
static inline void* lsearch(const void* match, void* start, unsigned int* array_size, unsigned int elem_size, int (__cdecl *cf)(const void*,const void*) )
|
|
||||||
{ return _lsearch(match, start, array_size, elem_size, cf); }
|
|
||||||
|
|
||||||
#endif /* __WINE_SEARCH_H */
|
|
||||||
@@ -1,185 +0,0 @@
|
|||||||
/*
|
|
||||||
* Setjmp/Longjmp definitions
|
|
||||||
*
|
|
||||||
* Copyright 2001 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SETJMP_H
|
|
||||||
#define __WINE_SETJMP_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
|
|
||||||
typedef struct __JUMP_BUFFER
|
|
||||||
{
|
|
||||||
unsigned long Ebp;
|
|
||||||
unsigned long Ebx;
|
|
||||||
unsigned long Edi;
|
|
||||||
unsigned long Esi;
|
|
||||||
unsigned long Esp;
|
|
||||||
unsigned long Eip;
|
|
||||||
unsigned long Registration;
|
|
||||||
unsigned long TryLevel;
|
|
||||||
/* Start of new struct members */
|
|
||||||
unsigned long Cookie;
|
|
||||||
unsigned long UnwindFunc;
|
|
||||||
unsigned long UnwindData[6];
|
|
||||||
} _JUMP_BUFFER;
|
|
||||||
|
|
||||||
#define _JBLEN 16
|
|
||||||
#define _JBTYPE int
|
|
||||||
|
|
||||||
#elif defined(__x86_64__)
|
|
||||||
|
|
||||||
typedef DECLSPEC_ALIGN(16) struct _SETJMP_FLOAT128
|
|
||||||
{
|
|
||||||
unsigned __int64 Part[2];
|
|
||||||
} SETJMP_FLOAT128;
|
|
||||||
|
|
||||||
typedef DECLSPEC_ALIGN(16) struct _JUMP_BUFFER
|
|
||||||
{
|
|
||||||
unsigned __int64 Frame;
|
|
||||||
unsigned __int64 Rbx;
|
|
||||||
unsigned __int64 Rsp;
|
|
||||||
unsigned __int64 Rbp;
|
|
||||||
unsigned __int64 Rsi;
|
|
||||||
unsigned __int64 Rdi;
|
|
||||||
unsigned __int64 R12;
|
|
||||||
unsigned __int64 R13;
|
|
||||||
unsigned __int64 R14;
|
|
||||||
unsigned __int64 R15;
|
|
||||||
unsigned __int64 Rip;
|
|
||||||
unsigned long MxCsr;
|
|
||||||
unsigned short FpCsr;
|
|
||||||
unsigned short Spare;
|
|
||||||
SETJMP_FLOAT128 Xmm6;
|
|
||||||
SETJMP_FLOAT128 Xmm7;
|
|
||||||
SETJMP_FLOAT128 Xmm8;
|
|
||||||
SETJMP_FLOAT128 Xmm9;
|
|
||||||
SETJMP_FLOAT128 Xmm10;
|
|
||||||
SETJMP_FLOAT128 Xmm11;
|
|
||||||
SETJMP_FLOAT128 Xmm12;
|
|
||||||
SETJMP_FLOAT128 Xmm13;
|
|
||||||
SETJMP_FLOAT128 Xmm14;
|
|
||||||
SETJMP_FLOAT128 Xmm15;
|
|
||||||
} _JUMP_BUFFER;
|
|
||||||
|
|
||||||
#define _JBLEN 16
|
|
||||||
typedef SETJMP_FLOAT128 _JBTYPE;
|
|
||||||
|
|
||||||
#elif defined(__arm__)
|
|
||||||
|
|
||||||
typedef struct _JUMP_BUFFER
|
|
||||||
{
|
|
||||||
unsigned long Frame;
|
|
||||||
unsigned long R4;
|
|
||||||
unsigned long R5;
|
|
||||||
unsigned long R6;
|
|
||||||
unsigned long R7;
|
|
||||||
unsigned long R8;
|
|
||||||
unsigned long R9;
|
|
||||||
unsigned long R10;
|
|
||||||
unsigned long R11;
|
|
||||||
unsigned long Sp;
|
|
||||||
unsigned long Pc;
|
|
||||||
unsigned long Fpscr;
|
|
||||||
unsigned long long D[8];
|
|
||||||
} _JUMP_BUFFER;
|
|
||||||
|
|
||||||
#define _JBLEN 28
|
|
||||||
#define _JBTYPE int
|
|
||||||
|
|
||||||
#elif defined(__aarch64__)
|
|
||||||
|
|
||||||
typedef struct _JUMP_BUFFER
|
|
||||||
{
|
|
||||||
unsigned __int64 Frame;
|
|
||||||
unsigned __int64 Reserved;
|
|
||||||
unsigned __int64 X19;
|
|
||||||
unsigned __int64 X20;
|
|
||||||
unsigned __int64 X21;
|
|
||||||
unsigned __int64 X22;
|
|
||||||
unsigned __int64 X23;
|
|
||||||
unsigned __int64 X24;
|
|
||||||
unsigned __int64 X25;
|
|
||||||
unsigned __int64 X26;
|
|
||||||
unsigned __int64 X27;
|
|
||||||
unsigned __int64 X28;
|
|
||||||
unsigned __int64 Fp;
|
|
||||||
unsigned __int64 Lr;
|
|
||||||
unsigned __int64 Sp;
|
|
||||||
unsigned long Fpcr;
|
|
||||||
unsigned long Fpsr;
|
|
||||||
double D[8];
|
|
||||||
} _JUMP_BUFFER;
|
|
||||||
|
|
||||||
#define _JBLEN 24
|
|
||||||
#define _JBTYPE unsigned __int64
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define _JBLEN 1
|
|
||||||
#define _JBTYPE int
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef _JBTYPE jmp_buf[_JBLEN];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl longjmp(jmp_buf,int);
|
|
||||||
|
|
||||||
#ifndef __has_builtin
|
|
||||||
# define __has_builtin(x) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
# ifdef __i386__
|
|
||||||
# define _setjmp __intrinsic_setjmp
|
|
||||||
# else
|
|
||||||
# define _setjmpex __intrinsic_setjmpex
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
_ACRTIMP int __cdecl __attribute__((__nothrow__,__returns_twice__)) _setjmp(jmp_buf);
|
|
||||||
# define setjmp(buf) _setjmp((buf))
|
|
||||||
#elif !defined(_setjmpex) && __has_builtin(_setjmpex)
|
|
||||||
_ACRTIMP int __cdecl __attribute__((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf);
|
|
||||||
# define setjmp(buf) _setjmpex(buf)
|
|
||||||
#else
|
|
||||||
_ACRTIMP int __cdecl __attribute__((__nothrow__,__returns_twice__)) _setjmpex(jmp_buf,void*);
|
|
||||||
# if __has_builtin(__builtin_sponentry)
|
|
||||||
# define setjmp(buf) _setjmpex((buf), __builtin_sponentry())
|
|
||||||
# elif __has_builtin(__builtin_frame_address)
|
|
||||||
# define setjmp(buf) _setjmpex((buf), __builtin_frame_address(0))
|
|
||||||
# else
|
|
||||||
# define setjmp(buf) _setjmpex((buf), NULL)
|
|
||||||
# endif
|
|
||||||
#endif /* __i386__ */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_SETJMP_H */
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
/*
|
|
||||||
* share.h
|
|
||||||
*
|
|
||||||
* Constants for file sharing functions.
|
|
||||||
*
|
|
||||||
* Derived from the Mingw32 header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Bill Medland
|
|
||||||
* This file is in the public domain.
|
|
||||||
*
|
|
||||||
* Original header contained the following
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
||||||
*
|
|
||||||
* This source code is offered for use in the public domain. You may
|
|
||||||
* use, modify or distribute it freely.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful but
|
|
||||||
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
||||||
* DISCLAIMED. This includes but is not limited to warranties of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_SHARE_H
|
|
||||||
#define __WINE_SHARE_H
|
|
||||||
#ifndef __WINE_USE_MSVCRT
|
|
||||||
#define __WINE_USE_MSVCRT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SH_COMPAT 0x00 /* Compatibility */
|
|
||||||
#define SH_DENYRW 0x10 /* Deny read/write */
|
|
||||||
#define SH_DENYWR 0x20 /* Deny write */
|
|
||||||
#define SH_DENYRD 0x30 /* Deny read */
|
|
||||||
#define SH_DENYNO 0x40 /* Deny nothing */
|
|
||||||
#define SH_SECURE 0x80 /* Share read access if read-only */
|
|
||||||
|
|
||||||
#define _SH_COMPAT SH_COMPAT
|
|
||||||
#define _SH_DENYRW SH_DENYRW
|
|
||||||
#define _SH_DENYWR SH_DENYWR
|
|
||||||
#define _SH_DENYRD SH_DENYRD
|
|
||||||
#define _SH_DENYNO SH_DENYNO
|
|
||||||
#define _SH_SECURE SH_SECURE
|
|
||||||
|
|
||||||
#endif /* __WINE_SHARE_H_ */
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
/*
|
|
||||||
* Signal definitions
|
|
||||||
*
|
|
||||||
* Copyright 2005 Juan Lang
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef _WINE_SIGNAL_H
|
|
||||||
#define _WINE_SIGNAL_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#define SIGINT 2
|
|
||||||
#define SIGILL 4
|
|
||||||
#define SIGFPE 8
|
|
||||||
#define SIGSEGV 11
|
|
||||||
#define SIGTERM 15
|
|
||||||
#define SIGBREAK 21
|
|
||||||
#define SIGABRT 22
|
|
||||||
|
|
||||||
#define NSIG (SIGABRT + 1)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef void (__cdecl *__sighandler_t)(int);
|
|
||||||
|
|
||||||
#define SIG_DFL ((__sighandler_t)0)
|
|
||||||
#define SIG_IGN ((__sighandler_t)1)
|
|
||||||
#define SIG_ERR ((__sighandler_t)-1)
|
|
||||||
|
|
||||||
_ACRTIMP void** __cdecl __pxcptinfoptrs(void);
|
|
||||||
_ACRTIMP __sighandler_t __cdecl signal(int sig, __sighandler_t func);
|
|
||||||
_ACRTIMP int __cdecl raise(int sig);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _WINE_SIGNAL_H */
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* Variable argument definitions
|
|
||||||
*
|
|
||||||
* Copyright 2022 Jacek Caban
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INC_STDARG
|
|
||||||
#define _INC_STDARG
|
|
||||||
|
|
||||||
#include <vadefs.h>
|
|
||||||
|
|
||||||
#define va_start(v,l) _crt_va_start(v,l)
|
|
||||||
#define va_arg(v,l) _crt_va_arg(v,l)
|
|
||||||
#define va_end(v) _crt_va_end(v)
|
|
||||||
#define va_copy(d,s) _crt_va_copy(d,s)
|
|
||||||
|
|
||||||
#endif /* _INC_STDARG */
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2020 Brendan Shanks for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_STDBOOL_H
|
|
||||||
#define __WINE_STDBOOL_H
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
|
|
||||||
#define bool _Bool
|
|
||||||
#define true 1
|
|
||||||
#define false 0
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define __bool_true_false_are_defined 1
|
|
||||||
|
|
||||||
#endif /* __WINE_STDBOOL_H */
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_STDDEF_H
|
|
||||||
#define __WINE_STDDEF_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#if defined(__GNUC__) || defined(__clang__)
|
|
||||||
#define offsetof(s,m) __builtin_offsetof(s,m)
|
|
||||||
#elif defined(_WIN64)
|
|
||||||
#define offsetof(s,m) (size_t)((ptrdiff_t)&(((s*)NULL)->m))
|
|
||||||
#else
|
|
||||||
#define offsetof(s,m) (size_t)&(((s*)NULL)->m)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef double max_align_t;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl __threadid(void);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl __threadhandle(void);
|
|
||||||
#define _threadid (__threadid())
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_STDDEF_H */
|
|
||||||
@@ -1,208 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the mingw-w64 runtime package.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
/* ISO C9x 7.18 Integer types <stdint.h>
|
|
||||||
* Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
||||||
*
|
|
||||||
* Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
|
|
||||||
*
|
|
||||||
* This source code is offered for use in the public domain. You may
|
|
||||||
* use, modify or distribute it freely.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful but
|
|
||||||
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
||||||
* DISCLAIMED. This includes but is not limited to warranties of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
*
|
|
||||||
* Date: 2000-12-02
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _STDINT_H
|
|
||||||
#define _STDINT_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
/* 7.18.1.1 Exact-width integer types */
|
|
||||||
typedef signed char int8_t;
|
|
||||||
typedef unsigned char uint8_t;
|
|
||||||
typedef short int16_t;
|
|
||||||
typedef unsigned short uint16_t;
|
|
||||||
typedef int int32_t;
|
|
||||||
typedef unsigned uint32_t;
|
|
||||||
typedef long long int64_t;
|
|
||||||
typedef unsigned long long uint64_t;
|
|
||||||
|
|
||||||
/* 7.18.1.2 Minimum-width integer types */
|
|
||||||
typedef signed char int_least8_t;
|
|
||||||
typedef unsigned char uint_least8_t;
|
|
||||||
typedef short int_least16_t;
|
|
||||||
typedef unsigned short uint_least16_t;
|
|
||||||
typedef int int_least32_t;
|
|
||||||
typedef unsigned uint_least32_t;
|
|
||||||
typedef long long int_least64_t;
|
|
||||||
typedef unsigned long long uint_least64_t;
|
|
||||||
|
|
||||||
/* 7.18.1.3 Fastest minimum-width integer types
|
|
||||||
* Not actually guaranteed to be fastest for all purposes
|
|
||||||
* Here we use the exact-width types for 8 and 16-bit ints.
|
|
||||||
*/
|
|
||||||
typedef signed char int_fast8_t;
|
|
||||||
typedef unsigned char uint_fast8_t;
|
|
||||||
typedef short int_fast16_t;
|
|
||||||
typedef unsigned short uint_fast16_t;
|
|
||||||
typedef int int_fast32_t;
|
|
||||||
typedef unsigned int uint_fast32_t;
|
|
||||||
typedef long long int_fast64_t;
|
|
||||||
typedef unsigned long long uint_fast64_t;
|
|
||||||
|
|
||||||
/* 7.18.1.5 Greatest-width integer types */
|
|
||||||
typedef long long intmax_t;
|
|
||||||
typedef unsigned long long uintmax_t;
|
|
||||||
|
|
||||||
/* 7.18.2 Limits of specified-width integer types */
|
|
||||||
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) || \
|
|
||||||
defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
|
|
||||||
|
|
||||||
/* 7.18.2.1 Limits of exact-width integer types */
|
|
||||||
#define INT8_MIN (-128)
|
|
||||||
#define INT16_MIN (-32768)
|
|
||||||
#define INT32_MIN (-2147483647 - 1)
|
|
||||||
#define INT64_MIN (-9223372036854775807LL - 1)
|
|
||||||
|
|
||||||
#define INT8_MAX 127
|
|
||||||
#define INT16_MAX 32767
|
|
||||||
#define INT32_MAX 2147483647
|
|
||||||
#define INT64_MAX 9223372036854775807LL
|
|
||||||
|
|
||||||
#define UINT8_MAX 255
|
|
||||||
#define UINT16_MAX 65535
|
|
||||||
#define UINT32_MAX 0xffffffffU /* 4294967295U */
|
|
||||||
#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
|
|
||||||
|
|
||||||
/* 7.18.2.2 Limits of minimum-width integer types */
|
|
||||||
#define INT_LEAST8_MIN INT8_MIN
|
|
||||||
#define INT_LEAST16_MIN INT16_MIN
|
|
||||||
#define INT_LEAST32_MIN INT32_MIN
|
|
||||||
#define INT_LEAST64_MIN INT64_MIN
|
|
||||||
|
|
||||||
#define INT_LEAST8_MAX INT8_MAX
|
|
||||||
#define INT_LEAST16_MAX INT16_MAX
|
|
||||||
#define INT_LEAST32_MAX INT32_MAX
|
|
||||||
#define INT_LEAST64_MAX INT64_MAX
|
|
||||||
|
|
||||||
#define UINT_LEAST8_MAX UINT8_MAX
|
|
||||||
#define UINT_LEAST16_MAX UINT16_MAX
|
|
||||||
#define UINT_LEAST32_MAX UINT32_MAX
|
|
||||||
#define UINT_LEAST64_MAX UINT64_MAX
|
|
||||||
|
|
||||||
/* 7.18.2.3 Limits of fastest minimum-width integer types */
|
|
||||||
#define INT_FAST8_MIN INT8_MIN
|
|
||||||
#define INT_FAST16_MIN INT16_MIN
|
|
||||||
#define INT_FAST32_MIN INT32_MIN
|
|
||||||
#define INT_FAST64_MIN INT64_MIN
|
|
||||||
|
|
||||||
#define INT_FAST8_MAX INT8_MAX
|
|
||||||
#define INT_FAST16_MAX INT16_MAX
|
|
||||||
#define INT_FAST32_MAX INT32_MAX
|
|
||||||
#define INT_FAST64_MAX INT64_MAX
|
|
||||||
|
|
||||||
#define UINT_FAST8_MAX UINT8_MAX
|
|
||||||
#define UINT_FAST16_MAX UINT16_MAX
|
|
||||||
#define UINT_FAST32_MAX UINT32_MAX
|
|
||||||
#define UINT_FAST64_MAX UINT64_MAX
|
|
||||||
|
|
||||||
/* 7.18.2.4 Limits of integer types capable of holding
|
|
||||||
object pointers */
|
|
||||||
#ifdef _WIN64
|
|
||||||
#define INTPTR_MIN INT64_MIN
|
|
||||||
#define INTPTR_MAX INT64_MAX
|
|
||||||
#define UINTPTR_MAX UINT64_MAX
|
|
||||||
#else
|
|
||||||
#define INTPTR_MIN INT32_MIN
|
|
||||||
#define INTPTR_MAX INT32_MAX
|
|
||||||
#define UINTPTR_MAX UINT32_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 7.18.2.5 Limits of greatest-width integer types */
|
|
||||||
#define INTMAX_MIN INT64_MIN
|
|
||||||
#define INTMAX_MAX INT64_MAX
|
|
||||||
#define UINTMAX_MAX UINT64_MAX
|
|
||||||
|
|
||||||
/* 7.18.3 Limits of other integer types */
|
|
||||||
#ifdef _WIN64
|
|
||||||
#define PTRDIFF_MIN INT64_MIN
|
|
||||||
#define PTRDIFF_MAX INT64_MAX
|
|
||||||
#else
|
|
||||||
#define PTRDIFF_MIN INT32_MIN
|
|
||||||
#define PTRDIFF_MAX INT32_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SIG_ATOMIC_MIN INT32_MIN
|
|
||||||
#define SIG_ATOMIC_MAX INT32_MAX
|
|
||||||
|
|
||||||
#ifndef SIZE_MAX
|
|
||||||
#ifdef _WIN64
|
|
||||||
#define SIZE_MAX UINT64_MAX
|
|
||||||
#else
|
|
||||||
#define SIZE_MAX UINT32_MAX
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WCHAR_MIN /* also in wchar.h */
|
|
||||||
#define WCHAR_MIN 0U
|
|
||||||
#define WCHAR_MAX 0xffffU
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* wint_t is unsigned short for compatibility with MS runtime
|
|
||||||
*/
|
|
||||||
#define WINT_MIN 0U
|
|
||||||
#define WINT_MAX 0xffffU
|
|
||||||
|
|
||||||
#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
|
|
||||||
|
|
||||||
|
|
||||||
/* 7.18.4 Macros for integer constants */
|
|
||||||
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) || \
|
|
||||||
defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
|
|
||||||
|
|
||||||
/* 7.18.4.1 Macros for minimum-width integer constants
|
|
||||||
|
|
||||||
According to Douglas Gwyn <gwyn@arl.mil>:
|
|
||||||
"This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
|
|
||||||
9899:1999 as initially published, the expansion was required
|
|
||||||
to be an integer constant of precisely matching type, which
|
|
||||||
is impossible to accomplish for the shorter types on most
|
|
||||||
platforms, because C99 provides no standard way to designate
|
|
||||||
an integer constant with width less than that of type int.
|
|
||||||
TC1 changed this to require just an integer constant
|
|
||||||
*expression* with *promoted* type."
|
|
||||||
|
|
||||||
The trick used here is from Clive D W Feather.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define INT8_C(val) (INT_LEAST8_MAX-INT_LEAST8_MAX+(val))
|
|
||||||
#define INT16_C(val) (INT_LEAST16_MAX-INT_LEAST16_MAX+(val))
|
|
||||||
#define INT32_C(val) (INT_LEAST32_MAX-INT_LEAST32_MAX+(val))
|
|
||||||
/* The 'trick' doesn't work in C89 for long long because, without
|
|
||||||
suffix, (val) will be evaluated as int, not intmax_t */
|
|
||||||
#define INT64_C(val) val##LL
|
|
||||||
|
|
||||||
#define UINT8_C(val) (val)
|
|
||||||
#define UINT16_C(val) (val)
|
|
||||||
#define UINT32_C(val) (val##U)
|
|
||||||
#define UINT64_C(val) val##ULL
|
|
||||||
|
|
||||||
/* 7.18.4.2 Macros for greatest-width integer constants */
|
|
||||||
#define INTMAX_C(val) val##LL
|
|
||||||
#define UINTMAX_C(val) val##ULL
|
|
||||||
|
|
||||||
#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
|
|
||||||
|
|
||||||
#endif /* _STDINT_H */
|
|
||||||
@@ -1,547 +0,0 @@
|
|||||||
/*
|
|
||||||
* Standard I/O definitions.
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_STDIO_H
|
|
||||||
#define __WINE_STDIO_H
|
|
||||||
|
|
||||||
#include <corecrt_wstdio.h>
|
|
||||||
|
|
||||||
/* file._flag flags */
|
|
||||||
#ifndef _UCRT
|
|
||||||
#define _IOREAD 0x0001
|
|
||||||
#define _IOWRT 0x0002
|
|
||||||
#define _IOMYBUF 0x0008
|
|
||||||
#define _IOEOF 0x0010
|
|
||||||
#define _IOERR 0x0020
|
|
||||||
#define _IOSTRG 0x0040
|
|
||||||
#define _IORW 0x0080
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define STDIN_FILENO 0
|
|
||||||
#define STDOUT_FILENO 1
|
|
||||||
#define STDERR_FILENO 2
|
|
||||||
|
|
||||||
/* more file._flag flags, but these conflict with Unix */
|
|
||||||
#define _IOFBF 0x0000
|
|
||||||
#define _IONBF 0x0004
|
|
||||||
#define _IOLBF 0x0040
|
|
||||||
|
|
||||||
#define EOF (-1)
|
|
||||||
#define FILENAME_MAX 260
|
|
||||||
#define TMP_MAX 0x7fff
|
|
||||||
#define TMP_MAX_S 0x7fffffff
|
|
||||||
#define FOPEN_MAX 20
|
|
||||||
#define L_tmpnam 260
|
|
||||||
|
|
||||||
#define BUFSIZ 512
|
|
||||||
|
|
||||||
#ifndef SEEK_SET
|
|
||||||
#define SEEK_SET 0
|
|
||||||
#define SEEK_CUR 1
|
|
||||||
#define SEEK_END 2
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _FPOS_T_DEFINED
|
|
||||||
typedef __int64 DECLSPEC_ALIGN(8) fpos_t;
|
|
||||||
#define _FPOS_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _STDIO_DEFINED
|
|
||||||
# ifdef __i386__
|
|
||||||
_ACRTIMP FILE* __cdecl __p__iob(void);
|
|
||||||
# define _iob (__p__iob())
|
|
||||||
# else
|
|
||||||
_ACRTIMP FILE* __cdecl __iob_func(void);
|
|
||||||
# define _iob (__iob_func())
|
|
||||||
# endif
|
|
||||||
#endif /* _STDIO_DEFINED */
|
|
||||||
|
|
||||||
/* return value for _get_output_format */
|
|
||||||
#define _TWO_DIGIT_EXPONENT 0x1
|
|
||||||
|
|
||||||
#ifndef _STDIO_DEFINED
|
|
||||||
#define _STDIO_DEFINED
|
|
||||||
_ACRTIMP int __cdecl _fcloseall(void);
|
|
||||||
_ACRTIMP FILE* __cdecl _fdopen(int,const char*);
|
|
||||||
_ACRTIMP int __cdecl _fgetchar(void);
|
|
||||||
_ACRTIMP int __cdecl _filbuf(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fileno(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _flsbuf(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _flushall(void);
|
|
||||||
_ACRTIMP int __cdecl _fputchar(int);
|
|
||||||
_ACRTIMP FILE* __cdecl _fsopen(const char*,const char*,int);
|
|
||||||
_ACRTIMP int __cdecl _get_printf_count_output(void);
|
|
||||||
_ACRTIMP int __cdecl _getmaxstdio(void);
|
|
||||||
_ACRTIMP int __cdecl _getw(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _pclose(FILE*);
|
|
||||||
_ACRTIMP FILE* __cdecl _popen(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _putw(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _rmtmp(void);
|
|
||||||
_ACRTIMP int __cdecl _set_printf_count_output(int);
|
|
||||||
_ACRTIMP int __cdecl _setmaxstdio(int);
|
|
||||||
_ACRTIMP char* __cdecl _tempnam(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _unlink(const char*);
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl _lock_file(FILE*);
|
|
||||||
_ACRTIMP void __cdecl _unlock_file(FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl _fread_nolock(void*,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl _fread_nolock_s(void*,size_t,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl _fwrite_nolock(const void*,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fclose_nolock(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fflush_nolock(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fgetc_nolock(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fputc_nolock(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _fseek_nolock(FILE*,__msvcrt_long,int);
|
|
||||||
_ACRTIMP int __cdecl _fseeki64_nolock(FILE*,__int64,int);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl _ftell_nolock(FILE*);
|
|
||||||
_ACRTIMP __int64 __cdecl _ftelli64_nolock(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _getc_nolock(FILE*);
|
|
||||||
_ACRTIMP int __cdecl _putc_nolock(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl _ungetc_nolock(int,FILE*);
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl clearerr(FILE*);
|
|
||||||
_ACRTIMP errno_t __cdecl clearerr_s(FILE*);
|
|
||||||
_ACRTIMP int __cdecl fclose(FILE*);
|
|
||||||
_ACRTIMP int __cdecl feof(FILE*);
|
|
||||||
_ACRTIMP int __cdecl ferror(FILE*);
|
|
||||||
_ACRTIMP int __cdecl fflush(FILE*);
|
|
||||||
_ACRTIMP int __cdecl fgetc(FILE*);
|
|
||||||
_ACRTIMP int __cdecl fgetpos(FILE*,fpos_t*);
|
|
||||||
_ACRTIMP char* __cdecl fgets(char*,int,FILE*);
|
|
||||||
_ACRTIMP FILE* __cdecl fopen(const char*,const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl fopen_s(FILE**,const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl fputc(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl fputs(const char*,FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl fread(void*,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl fread_s(void*,size_t,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP FILE* __cdecl freopen(const char*,const char*,FILE*);
|
|
||||||
_ACRTIMP errno_t __cdecl freopen_s(FILE**,const char*,const char*,FILE*);
|
|
||||||
_ACRTIMP int __cdecl fseek(FILE*,__msvcrt_long,int);
|
|
||||||
_ACRTIMP int __cdecl _fseeki64(FILE*,__int64,int);
|
|
||||||
_ACRTIMP int __cdecl fsetpos(FILE*,fpos_t*);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl ftell(FILE*);
|
|
||||||
_ACRTIMP __int64 __cdecl _ftelli64(FILE*);
|
|
||||||
_ACRTIMP size_t __cdecl fwrite(const void*,size_t,size_t,FILE*);
|
|
||||||
_ACRTIMP int __cdecl getc(FILE*);
|
|
||||||
_ACRTIMP int __cdecl getchar(void);
|
|
||||||
_ACRTIMP char* __cdecl gets(char*);
|
|
||||||
_ACRTIMP void __cdecl perror(const char*);
|
|
||||||
_ACRTIMP int __cdecl putc(int,FILE*);
|
|
||||||
_ACRTIMP int __cdecl putchar(int);
|
|
||||||
_ACRTIMP int __cdecl puts(const char*);
|
|
||||||
_ACRTIMP int __cdecl remove(const char*);
|
|
||||||
_ACRTIMP int __cdecl rename(const char*,const char*);
|
|
||||||
_ACRTIMP void __cdecl rewind(FILE*);
|
|
||||||
_ACRTIMP void __cdecl setbuf(FILE*,char*);
|
|
||||||
_ACRTIMP int __cdecl setvbuf(FILE*,char*,int,size_t);
|
|
||||||
_ACRTIMP FILE* __cdecl tmpfile(void);
|
|
||||||
_ACRTIMP errno_t __cdecl tmpfile_s(FILE**);
|
|
||||||
_ACRTIMP char* __cdecl tmpnam(char*);
|
|
||||||
_ACRTIMP int __cdecl ungetc(int,FILE*);
|
|
||||||
_ACRTIMP unsigned int __cdecl _get_output_format(void);
|
|
||||||
_ACRTIMP unsigned int __cdecl _set_output_format(unsigned int);
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfprintf(unsigned __int64,FILE*,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfprintf_s(unsigned __int64,FILE*,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsprintf(unsigned __int64,char*,size_t,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsprintf_p(unsigned __int64,char*,size_t,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsprintf_s(unsigned __int64,char*,size_t,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsnprintf_s(unsigned __int64,char*,size_t,size_t,const char*,_locale_t,va_list);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vfscanf(unsigned __int64,FILE*,const char*,_locale_t,va_list);
|
|
||||||
_ACRTIMP int __cdecl __stdio_common_vsscanf(unsigned __int64,char const*,size_t,const char*,_locale_t,va_list);
|
|
||||||
|
|
||||||
#endif /* _UCRT */
|
|
||||||
|
|
||||||
#if defined(_UCRT) && !defined(_NO_CRT_STDIO_INLINE)
|
|
||||||
|
|
||||||
static inline int __cdecl vsnprintf(char *buffer, size_t size, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int __cdecl vsnprintf(char *buffer, size_t size, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vsnprintf(char *buffer, size_t size, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int __cdecl _vsnprintf(char *buffer, size_t size, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
|
||||||
buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vsnprintf_s(char *buffer, size_t size, size_t count, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(4, 0);
|
|
||||||
static inline int __cdecl _vsnprintf_s(char *buffer, size_t size, size_t count, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsnprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, count, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _snprintf_s(char *buffer, size_t size, size_t count, const char *format, ...) __WINE_CRT_PRINTF_ATTR(4, 5);
|
|
||||||
static inline int __cdecl _snprintf_s(char *buffer, size_t size, size_t count, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsnprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, count, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vscprintf(const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
static inline int __cdecl _vscprintf(const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
NULL, 0, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _scprintf(const char *format, ...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
static inline int __cdecl _scprintf(const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
|
||||||
NULL, 0, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vsprintf(char *buffer, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
static inline int __cdecl vsprintf(char *buffer, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
|
||||||
buffer, -1, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vsprintf_s(char *buffer, size_t size, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int __cdecl vsprintf_s(char *buffer, size_t size, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl sprintf_s(char *buffer, size_t size, const char *format, ...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
static inline int __cdecl sprintf_s(char *buffer, size_t size, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _vsprintf_p_l(char *buffer, size_t size, const char *format, _locale_t locale, va_list args) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int __cdecl _vsprintf_p_l(char *buffer, size_t size, const char *format, _locale_t locale, va_list args)
|
|
||||||
{
|
|
||||||
int ret = __stdio_common_vsprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, locale, args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vfprintf(FILE *file, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
static inline int __cdecl vfprintf(FILE *file, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fprintf(FILE *file, const char *format, ...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl fprintf(FILE *file, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl vfprintf_s(FILE *file, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
static inline int __cdecl vfprintf_s(FILE *file, const char *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fprintf_s(FILE *file, const char *format, ...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl fprintf_s(FILE *file, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int vprintf(const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
static inline int vprintf(const char *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl printf(const char *format, ...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
static inline int __cdecl printf(const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int vprintf_s(const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
static inline int vprintf_s(const char *format, va_list args)
|
|
||||||
{
|
|
||||||
return __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl printf_s(const char *format, ...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
static inline int __cdecl printf_s(const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, stdout, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _sprintf_l(char *buffer, const char *format, _locale_t locale, ...) __WINE_CRT_PRINTF_ATTR(2, 4);
|
|
||||||
static inline int __cdecl _sprintf_l(char *buffer, const char *format, _locale_t locale, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, locale);
|
|
||||||
ret = __stdio_common_vsprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
|
||||||
buffer, -1, format, locale, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret < 0 ? -1 : ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl sscanf(const char *buffer, const char *format, ...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl sscanf(const char *buffer, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, buffer, -1, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl sscanf_s(const char *buffer, const char *format, ...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl sscanf_s(const char *buffer, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, buffer, -1, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _snscanf_l(const char *buffer, size_t size, const char *format, _locale_t locale, ...) __WINE_CRT_SCANF_ATTR(3, 5);
|
|
||||||
static inline int __cdecl _snscanf_l(const char *buffer, size_t size, const char *format, _locale_t locale, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, locale);
|
|
||||||
ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, buffer, size, format, locale, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _sscanf_l(const char *buffer, const char *format, _locale_t locale, ...) __WINE_CRT_SCANF_ATTR(2, 4);
|
|
||||||
static inline int __cdecl _sscanf_l(const char *buffer, const char *format, _locale_t locale, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, locale);
|
|
||||||
ret = __stdio_common_vsscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, buffer, -1, format, locale, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fscanf(FILE *file, const char *format, ...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl fscanf(FILE *file, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl fscanf_s(FILE *file, const char *format, ...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl fscanf_s(FILE *file, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, file, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl scanf(const char *format, ...) __WINE_CRT_SCANF_ATTR(1, 2);
|
|
||||||
static inline int __cdecl scanf(const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, stdin, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl scanf_s(const char *format, ...) __WINE_CRT_SCANF_ATTR(1, 2);
|
|
||||||
static inline int __cdecl scanf_s(const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = __stdio_common_vfscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS | _CRT_INTERNAL_SCANF_SECURECRT, stdin, format, NULL, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* _UCRT && !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _scprintf(const char *,...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
_ACRTIMP int __cdecl _snprintf_s(char*,size_t,size_t,const char*,...) __WINE_CRT_PRINTF_ATTR(4, 5);
|
|
||||||
_ACRTIMP int __cdecl _vscprintf(const char*,va_list) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
_ACRTIMP int __cdecl _vsnprintf_s(char*,size_t,size_t,const char*,va_list) __WINE_CRT_PRINTF_ATTR(4, 0);
|
|
||||||
_ACRTIMP int __cdecl _vsprintf_p_l(char*,size_t,const char*,_locale_t,va_list) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
_ACRTIMP int __cdecl fprintf(FILE*,const char*,...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl fprintf_s(FILE*,const char*,...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl printf(const char*,...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
_ACRTIMP int __cdecl printf_s(const char*,...) __WINE_CRT_PRINTF_ATTR(1, 2);
|
|
||||||
_ACRTIMP int __cdecl sprintf_s(char*,size_t,const char*,...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
_ACRTIMP int __cdecl vfprintf(FILE*,const char*,va_list) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
_ACRTIMP int __cdecl vfprintf_s(FILE*,const char*,va_list) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
_ACRTIMP int __cdecl vprintf(const char*,va_list) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
_ACRTIMP int __cdecl vprintf_s(const char*,va_list) __WINE_CRT_PRINTF_ATTR(1, 0);
|
|
||||||
_ACRTIMP int __cdecl vsprintf(char*,const char*,va_list) __WINE_CRT_PRINTF_ATTR(2, 0);
|
|
||||||
_ACRTIMP int __cdecl vsprintf_s(char*,size_t,const char*,va_list) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _vsnprintf(char*,size_t,const char*,va_list) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int vsnprintf(char *buffer, size_t size, const char *format, va_list args) __WINE_CRT_PRINTF_ATTR(3, 0);
|
|
||||||
static inline int vsnprintf(char *buffer, size_t size, const char *format, va_list args)
|
|
||||||
{ return _vsnprintf(buffer,size,format,args); }
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _snscanf_l(const char*,size_t,const char*,_locale_t,...) __WINE_CRT_SCANF_ATTR(3, 5);
|
|
||||||
_ACRTIMP int __cdecl _sscanf_l(const char *,const char*,_locale_t,...) __WINE_CRT_SCANF_ATTR(2, 4);
|
|
||||||
_ACRTIMP int __cdecl fscanf(FILE*,const char*,...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl fscanf_s(FILE*,const char*,...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl scanf(const char*,...) __WINE_CRT_SCANF_ATTR(1, 2);
|
|
||||||
_ACRTIMP int __cdecl scanf_s(const char*,...) __WINE_CRT_SCANF_ATTR(1, 2);
|
|
||||||
_ACRTIMP int __cdecl sscanf(const char*,const char*,...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl sscanf_s(const char*,const char*,...) __WINE_CRT_SCANF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl vsscanf(const char*, const char*, va_list) __WINE_CRT_SCANF_ATTR(2, 0);
|
|
||||||
|
|
||||||
#endif /* _UCRT && !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
#endif /* _STDIO_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline FILE* fdopen(int fd, const char *mode) { return _fdopen(fd, mode); }
|
|
||||||
static inline int fgetchar(void) { return _fgetchar(); }
|
|
||||||
static inline int fileno(FILE* file) { return _fileno(file); }
|
|
||||||
static inline int fputchar(int c) { return _fputchar(c); }
|
|
||||||
static inline int pclose(FILE* file) { return _pclose(file); }
|
|
||||||
static inline FILE* popen(const char* command, const char* mode) { return _popen(command, mode); }
|
|
||||||
static inline char* tempnam(const char *dir, const char *prefix) { return _tempnam(dir, prefix); }
|
|
||||||
#ifndef _UNLINK_DEFINED
|
|
||||||
static inline int unlink(const char* path) { return _unlink(path); }
|
|
||||||
#define _UNLINK_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(_NO_CRT_STDIO_INLINE)
|
|
||||||
|
|
||||||
static inline int __cdecl snprintf(char *buffer, size_t size, const char *format, ...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
static inline int __cdecl snprintf(char *buffer, size_t size, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = vsnprintf(buffer, size, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl _snprintf(char *buffer, size_t size, const char *format, ...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
static inline int __cdecl _snprintf(char *buffer, size_t size, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = _vsnprintf(buffer, size, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int __cdecl sprintf(char *buffer, const char *format, ...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
static inline int __cdecl sprintf(char *buffer, const char *format, ...)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, format);
|
|
||||||
ret = _vsnprintf(buffer, (size_t)_CRT_INT_MAX, format, args);
|
|
||||||
va_end(args);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl snprintf(char*,size_t,const char*,...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
_ACRTIMP int __cdecl _snprintf(char*,size_t,const char*,...) __WINE_CRT_PRINTF_ATTR(3, 4);
|
|
||||||
_ACRTIMP int __cdecl sprintf(char*,const char*,...) __WINE_CRT_PRINTF_ATTR(2, 3);
|
|
||||||
_ACRTIMP int __cdecl _sprintf_l(char*,const char*,_locale_t,...) __WINE_CRT_PRINTF_ATTR(2, 4);
|
|
||||||
|
|
||||||
#endif /* !_NO_CRT_STDIO_INLINE */
|
|
||||||
|
|
||||||
static inline wint_t fgetwchar(void) { return _fgetwchar(); }
|
|
||||||
static inline wint_t fputwchar(wint_t wc) { return _fputwchar(wc); }
|
|
||||||
static inline int getw(FILE* file) { return _getw(file); }
|
|
||||||
static inline int putw(int val, FILE* file) { return _putw(val, file); }
|
|
||||||
static inline FILE* wpopen(const wchar_t* command,const wchar_t* mode) { return _wpopen(command, mode); }
|
|
||||||
|
|
||||||
#endif /* __WINE_STDIO_H */
|
|
||||||
@@ -1,326 +0,0 @@
|
|||||||
/*
|
|
||||||
* Standard library definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_STDLIB_H
|
|
||||||
#define __WINE_STDLIB_H
|
|
||||||
|
|
||||||
#include <corecrt_malloc.h>
|
|
||||||
#include <corecrt_wstdlib.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
float f;
|
|
||||||
} _CRT_FLOAT;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
double x;
|
|
||||||
} _CRT_DOUBLE;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
unsigned char ld[10];
|
|
||||||
} _LDOUBLE;
|
|
||||||
|
|
||||||
#define EXIT_SUCCESS 0
|
|
||||||
#define EXIT_FAILURE -1
|
|
||||||
#define RAND_MAX 0x7FFF
|
|
||||||
|
|
||||||
#ifndef _MAX_PATH
|
|
||||||
#define _MAX_DRIVE 3
|
|
||||||
#define _MAX_FNAME 256
|
|
||||||
#define _MAX_DIR _MAX_FNAME
|
|
||||||
#define _MAX_EXT _MAX_FNAME
|
|
||||||
#define _MAX_PATH 260
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Make the secure string functions (names end in "_s") truncate their output */
|
|
||||||
#define _TRUNCATE ((size_t)-1)
|
|
||||||
|
|
||||||
typedef struct _div_t {
|
|
||||||
int quot;
|
|
||||||
int rem;
|
|
||||||
} div_t;
|
|
||||||
|
|
||||||
typedef struct _ldiv_t {
|
|
||||||
__msvcrt_long quot;
|
|
||||||
__msvcrt_long rem;
|
|
||||||
} ldiv_t;
|
|
||||||
|
|
||||||
typedef struct _lldiv_t {
|
|
||||||
__int64 quot;
|
|
||||||
__int64 rem;
|
|
||||||
} lldiv_t;
|
|
||||||
|
|
||||||
|
|
||||||
#define _countof(x) (sizeof(x)/sizeof((x)[0]))
|
|
||||||
|
|
||||||
#define __max(a,b) (((a) > (b)) ? (a) : (b))
|
|
||||||
#define __min(a,b) (((a) < (b)) ? (a) : (b))
|
|
||||||
#ifndef __cplusplus
|
|
||||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
|
||||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* _set_error_mode() constants */
|
|
||||||
#define _OUT_TO_DEFAULT 0
|
|
||||||
#define _OUT_TO_STDERR 1
|
|
||||||
#define _OUT_TO_MSGBOX 2
|
|
||||||
#define _REPORT_ERRMODE 3
|
|
||||||
|
|
||||||
/* _set_abort_behavior codes */
|
|
||||||
#define _WRITE_ABORT_MSG 1
|
|
||||||
#define _CALL_REPORTFAULT 2
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__i386__) || defined(_UCRT)
|
|
||||||
|
|
||||||
_ACRTIMP unsigned int* __cdecl __p__osver(void);
|
|
||||||
_ACRTIMP unsigned int* __cdecl __p__winver(void);
|
|
||||||
_ACRTIMP unsigned int* __cdecl __p__winmajor(void);
|
|
||||||
_ACRTIMP unsigned int* __cdecl __p__winminor(void);
|
|
||||||
_ACRTIMP int* __cdecl __p___argc(void);
|
|
||||||
_ACRTIMP char*** __cdecl __p___argv(void);
|
|
||||||
_ACRTIMP wchar_t*** __cdecl __p___wargv(void);
|
|
||||||
_ACRTIMP char*** __cdecl __p__environ(void);
|
|
||||||
_ACRTIMP wchar_t*** __cdecl __p__wenviron(void);
|
|
||||||
_ACRTIMP int* __cdecl __p__fmode(void);
|
|
||||||
#define _osver (*__p__osver())
|
|
||||||
#define _winver (*__p__winver())
|
|
||||||
#define _winmajor (*__p__winmajor())
|
|
||||||
#define _winminor (*__p__winminor())
|
|
||||||
#define __argc (*__p___argc())
|
|
||||||
#define __argv (*__p___argv())
|
|
||||||
#define __wargv (*__p___wargv())
|
|
||||||
#define _environ (*__p__environ())
|
|
||||||
#define _wenviron (*__p__wenviron())
|
|
||||||
#define _fmode (*__p__fmode())
|
|
||||||
|
|
||||||
#else /* __i386__ */
|
|
||||||
|
|
||||||
extern unsigned int _osver;
|
|
||||||
extern unsigned int _winver;
|
|
||||||
extern unsigned int _winmajor;
|
|
||||||
extern unsigned int _winminor;
|
|
||||||
extern int __argc;
|
|
||||||
extern char **__argv;
|
|
||||||
extern wchar_t **__wargv;
|
|
||||||
extern char **_environ;
|
|
||||||
extern wchar_t **_wenviron;
|
|
||||||
extern unsigned int _fmode;
|
|
||||||
|
|
||||||
#endif /* __i386__ */
|
|
||||||
|
|
||||||
#ifndef MB_CUR_MAX
|
|
||||||
_ACRTIMP int __cdecl ___mb_cur_max_func(void);
|
|
||||||
_ACRTIMP int __cdecl ___mb_cur_max_l_func(_locale_t);
|
|
||||||
#define __mb_cur_max ___mb_cur_max_func()
|
|
||||||
#define MB_CUR_MAX ___mb_cur_max_func()
|
|
||||||
#endif /* MB_CUR_MAX */
|
|
||||||
|
|
||||||
_ACRTIMP __msvcrt_ulong* __cdecl __doserrno(void);
|
|
||||||
#define _doserrno (*__doserrno())
|
|
||||||
_ACRTIMP int* __cdecl _errno(void);
|
|
||||||
#define errno (*_errno())
|
|
||||||
_ACRTIMP int* __cdecl __sys_nerr(void);
|
|
||||||
#define _sys_nerr (*__sys_nerr())
|
|
||||||
_ACRTIMP char** __cdecl __sys_errlist(void);
|
|
||||||
#define _sys_errlist (__sys_errlist())
|
|
||||||
|
|
||||||
_ACRTIMP errno_t __cdecl _get_doserrno(int*);
|
|
||||||
_ACRTIMP errno_t __cdecl _get_errno(int*);
|
|
||||||
_ACRTIMP errno_t __cdecl _set_doserrno(int);
|
|
||||||
_ACRTIMP errno_t __cdecl _set_errno(int);
|
|
||||||
|
|
||||||
_ACRTIMP errno_t __cdecl _set_fmode(int);
|
|
||||||
_ACRTIMP errno_t __cdecl _get_fmode(int*);
|
|
||||||
|
|
||||||
#ifndef _CRT_ONEXIT_T_DEFINED
|
|
||||||
#define _CRT_ONEXIT_T_DEFINED
|
|
||||||
typedef int (__cdecl *_onexit_t)(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _atodbl(_CRT_DOUBLE*,char*);
|
|
||||||
_ACRTIMP int __cdecl _atodbl_l(_CRT_DOUBLE*,char*,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl _atoflt(_CRT_FLOAT*,char*);
|
|
||||||
_ACRTIMP int __cdecl _atoflt_l(_CRT_FLOAT*,char*,_locale_t);
|
|
||||||
_ACRTIMP __int64 __cdecl _atoi64(const char*);
|
|
||||||
_ACRTIMP int __cdecl _atoldbl(_LDOUBLE*,char*);
|
|
||||||
_ACRTIMP void __cdecl _beep(unsigned int,unsigned int);
|
|
||||||
_ACRTIMP unsigned short __cdecl _byteswap_ushort(unsigned short);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _byteswap_ulong(__msvcrt_ulong);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64);
|
|
||||||
_ACRTIMP errno_t __cdecl _dupenv_s(char**,size_t*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl _ecvt(double,int,int*,int*);
|
|
||||||
_ACRTIMP char* __cdecl _fcvt(double,int,int*,int*);
|
|
||||||
_ACRTIMP char* __cdecl _fullpath(char*,const char*,size_t);
|
|
||||||
_ACRTIMP char* __cdecl _gcvt(double,int,char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _gcvt_s(char*, size_t, double, int);
|
|
||||||
_ACRTIMP char* __cdecl _i64toa(__int64,char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _i64toa_s(__int64, char*, size_t, int);
|
|
||||||
_ACRTIMP char* __cdecl _itoa(int,char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _itoa_s(int,char*,size_t,int);
|
|
||||||
_ACRTIMP char* __cdecl _ltoa(__msvcrt_long,char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ltoa_s(__msvcrt_long, char*, size_t, int);
|
|
||||||
#ifndef _lrotl
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _lrotl(__msvcrt_ulong,int);
|
|
||||||
#endif
|
|
||||||
#ifndef _lrotr
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl _lrotr(__msvcrt_ulong,int);
|
|
||||||
#endif
|
|
||||||
_ACRTIMP void __cdecl _makepath(char*,const char*,const char*,const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _makepath_s(char*,size_t,const char*,const char*,const char*,const char*);
|
|
||||||
_ACRTIMP size_t __cdecl _mbstrlen(const char*);
|
|
||||||
_ACRTIMP _onexit_t __cdecl _onexit(_onexit_t);
|
|
||||||
_ACRTIMP int __cdecl _putenv(const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _putenv_s(const char*,const char*);
|
|
||||||
#ifndef _rotl
|
|
||||||
_ACRTIMP unsigned int __cdecl _rotl(unsigned int,int);
|
|
||||||
#endif
|
|
||||||
#ifndef _rotr
|
|
||||||
_ACRTIMP unsigned int __cdecl _rotr(unsigned int,int);
|
|
||||||
#endif
|
|
||||||
_ACRTIMP void __cdecl _searchenv(const char*,const char*,char*);
|
|
||||||
_ACRTIMP int __cdecl _set_error_mode(int);
|
|
||||||
_ACRTIMP void __cdecl _seterrormode(int);
|
|
||||||
_ACRTIMP void __cdecl _sleep(__msvcrt_ulong);
|
|
||||||
_ACRTIMP void __cdecl _splitpath(const char*,char*,char*,char*,char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _splitpath_s(const char*,char*,size_t,char*,size_t,char*,size_t,char*,size_t);
|
|
||||||
_ACRTIMP void __cdecl _swab(char*,char*,int);
|
|
||||||
_ACRTIMP char* __cdecl _ui64toa(unsigned __int64,char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ui64toa_s(unsigned __int64,char*,size_t,int);
|
|
||||||
_ACRTIMP char* __cdecl _ultoa(__msvcrt_ulong,char*,int);
|
|
||||||
_ACRTIMP errno_t __cdecl _ultoa_s(__msvcrt_ulong,char*,size_t,int);
|
|
||||||
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _Exit(int);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl _exit(int);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl abort(void);
|
|
||||||
_ACRTIMP int __cdecl abs(int);
|
|
||||||
extern int __cdecl atexit(void (__cdecl *)(void));
|
|
||||||
_ACRTIMP double __cdecl atof(const char*);
|
|
||||||
_ACRTIMP int __cdecl atoi(const char*);
|
|
||||||
_ACRTIMP int __cdecl _atoi_l(const char*,_locale_t);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl atol(const char*);
|
|
||||||
_ACRTIMP __int64 __cdecl atoll(const char*);
|
|
||||||
#ifndef __i386__
|
|
||||||
_ACRTIMP div_t __cdecl div(int,int);
|
|
||||||
_ACRTIMP ldiv_t __cdecl ldiv(__msvcrt_long,__msvcrt_long);
|
|
||||||
#endif
|
|
||||||
_ACRTIMP lldiv_t __cdecl lldiv(__int64,__int64);
|
|
||||||
_ACRTIMP DECLSPEC_NORETURN void __cdecl exit(int);
|
|
||||||
_ACRTIMP char* __cdecl getenv(const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl getenv_s(size_t*,char*,size_t,const char*);
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl labs(__msvcrt_long);
|
|
||||||
_ACRTIMP __int64 __cdecl llabs(__int64);
|
|
||||||
_ACRTIMP int __cdecl mblen(const char*,size_t);
|
|
||||||
_ACRTIMP void __cdecl perror(const char*);
|
|
||||||
_ACRTIMP int __cdecl rand(void);
|
|
||||||
_ACRTIMP errno_t __cdecl rand_s(unsigned int*);
|
|
||||||
_ACRTIMP void __cdecl srand(unsigned int);
|
|
||||||
_ACRTIMP float __cdecl strtof(const char*,char**);
|
|
||||||
_ACRTIMP float __cdecl _strtof_l(const char*,char**,_locale_t);
|
|
||||||
_ACRTIMP double __cdecl strtod(const char*,char**);
|
|
||||||
_ACRTIMP double __cdecl _strtod_l(const char*,char**,_locale_t);
|
|
||||||
#if defined(__GNUC__) || _MSVCR_VER < 120
|
|
||||||
static inline long double strtold(const char *string, char **endptr) { return strtod(string, endptr); }
|
|
||||||
static inline long double _strtold_l(const char *string, char **endptr, _locale_t locale) { return _strtod_l(string, endptr, locale); }
|
|
||||||
#else
|
|
||||||
_ACRTIMP long double __cdecl strtold(const char*,char**);
|
|
||||||
_ACRTIMP long double __cdecl _strtold_l(const char*,char**,_locale_t);
|
|
||||||
#endif
|
|
||||||
_ACRTIMP __msvcrt_long __cdecl strtol(const char*,char**,int);
|
|
||||||
_ACRTIMP __msvcrt_ulong __cdecl strtoul(const char*,char**,int);
|
|
||||||
_ACRTIMP __int64 __cdecl _strtoll_l(const char*,char**,int,_locale_t);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _strtoull_l(const char*,char**,int,_locale_t);
|
|
||||||
_ACRTIMP __int64 __cdecl _strtoi64(const char*,char**,int);
|
|
||||||
_ACRTIMP __int64 __cdecl _strtoi64_l(const char*,char**,int,_locale_t);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _strtoui64(const char*,char**,int);
|
|
||||||
_ACRTIMP unsigned __int64 __cdecl _strtoui64_l(const char*,char**,int,_locale_t);
|
|
||||||
_ACRTIMP int __cdecl system(const char*);
|
|
||||||
_ACRTIMP void* __cdecl bsearch(const void*,const void*,size_t,size_t,int (__cdecl *)(const void*,const void*));
|
|
||||||
_ACRTIMP void __cdecl qsort(void*,size_t,size_t,int (__cdecl *)(const void*,const void*));
|
|
||||||
_ACRTIMP void __cdecl qsort_s(void*,size_t,size_t,int (__cdecl *)(void*,const void*,const void*),void*);
|
|
||||||
_ACRTIMP unsigned int __cdecl _set_abort_behavior(unsigned int flags, unsigned int mask);
|
|
||||||
|
|
||||||
typedef void (__cdecl *_purecall_handler)(void);
|
|
||||||
_ACRTIMP _purecall_handler __cdecl _set_purecall_handler(_purecall_handler);
|
|
||||||
_ACRTIMP _purecall_handler __cdecl _get_purecall_handler(void);
|
|
||||||
|
|
||||||
typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t*, const wchar_t*, const wchar_t*, unsigned, uintptr_t);
|
|
||||||
_ACRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler);
|
|
||||||
_ACRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
|
|
||||||
_ACRTIMP _invalid_parameter_handler __cdecl _get_thread_local_invalid_parameter_handler(void);
|
|
||||||
_ACRTIMP _invalid_parameter_handler __cdecl _set_thread_local_invalid_parameter_handler(_invalid_parameter_handler);
|
|
||||||
void __cdecl _invalid_parameter(const wchar_t *expr, const wchar_t *func, const wchar_t *file,
|
|
||||||
unsigned int line, uintptr_t arg);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C++" {
|
|
||||||
|
|
||||||
template <size_t size>
|
|
||||||
inline errno_t getenv_s(size_t *ret, char (&buf)[size], const char *var)
|
|
||||||
{
|
|
||||||
return getenv_s(ret, buf, size, var);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline long abs(long const x) throw() { return labs(x); }
|
|
||||||
inline long long abs(long long const x) throw() { return llabs(x); }
|
|
||||||
|
|
||||||
} /* extern "C++" */
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define environ _environ
|
|
||||||
#define onexit_t _onexit_t
|
|
||||||
|
|
||||||
static inline char* ecvt(double value, int ndigit, int* decpt, int* sign) { return _ecvt(value, ndigit, decpt, sign); }
|
|
||||||
static inline char* fcvt(double value, int ndigit, int* decpt, int* sign) { return _fcvt(value, ndigit, decpt, sign); }
|
|
||||||
static inline char* gcvt(double value, int ndigit, char* buf) { return _gcvt(value, ndigit, buf); }
|
|
||||||
static inline char* itoa(int value, char* str, int radix) { return _itoa(value, str, radix); }
|
|
||||||
static inline char* ltoa(__msvcrt_long value, char* str, int radix) { return _ltoa(value, str, radix); }
|
|
||||||
static inline _onexit_t onexit(_onexit_t func) { return _onexit(func); }
|
|
||||||
static inline int putenv(const char* str) { return _putenv(str); }
|
|
||||||
static inline __int64 strtoll(const char *ptr, char **endptr, int base) { return _strtoi64(ptr, endptr, base); }
|
|
||||||
static inline unsigned __int64 __cdecl strtoull(const char *ptr, char **endptr, int base) { return _strtoui64(ptr, endptr, base); }
|
|
||||||
static inline void swab(char* src, char* dst, int len) { _swab(src, dst, len); }
|
|
||||||
static inline char* ultoa(__msvcrt_ulong value, char* str, int radix) { return _ultoa(value, str, radix); }
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
static inline div_t __wine_msvcrt_div(int num, int denom)
|
|
||||||
{
|
|
||||||
extern unsigned __int64 div(int,int);
|
|
||||||
div_t ret;
|
|
||||||
unsigned __int64 res = div(num,denom);
|
|
||||||
ret.quot = (int)res;
|
|
||||||
ret.rem = (int)(res >> 32);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
static inline ldiv_t __wine_msvcrt_ldiv(__msvcrt_long num, __msvcrt_long denom)
|
|
||||||
{
|
|
||||||
extern unsigned __int64 ldiv(__msvcrt_long,__msvcrt_long);
|
|
||||||
ldiv_t ret;
|
|
||||||
unsigned __int64 res = ldiv(num,denom);
|
|
||||||
ret.quot = (__msvcrt_long)res;
|
|
||||||
ret.rem = (__msvcrt_long)(res >> 32);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#define div(num,denom) __wine_msvcrt_div(num,denom)
|
|
||||||
#define ldiv(num,denom) __wine_msvcrt_ldiv(num,denom)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_STDLIB_H */
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
/*
|
|
||||||
* String definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_STRING_H
|
|
||||||
#define __WINE_STRING_H
|
|
||||||
|
|
||||||
#include <corecrt_malloc.h>
|
|
||||||
#include <corecrt_wstring.h>
|
|
||||||
|
|
||||||
#ifndef _NLSCMP_DEFINED
|
|
||||||
#define _NLSCMPERROR ((unsigned int)0x7fffffff)
|
|
||||||
#define _NLSCMP_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP size_t __cdecl __strncnt(const char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _strcmpi(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _strcoll_l(const char*, const char*, _locale_t);
|
|
||||||
_ACRTIMP char* __cdecl _strdup(const char*) __WINE_DEALLOC(free) __WINE_MALLOC;
|
|
||||||
_ACRTIMP char* __cdecl _strerror(const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl strerror_s(char*,size_t,int);
|
|
||||||
_ACRTIMP int __cdecl _stricmp(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _stricoll(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl _stricoll_l(const char*, const char*, _locale_t);
|
|
||||||
_ACRTIMP char* __cdecl _strlwr(char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _strlwr_s(char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _strncoll(const char*, const char*, size_t);
|
|
||||||
_ACRTIMP int __cdecl _strncoll_l(const char*, const char*, size_t, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _strnicmp(const char*,const char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl _strnicmp_l(const char*, const char*, size_t, _locale_t);
|
|
||||||
_ACRTIMP int __cdecl _strnicoll(const char*, const char*, size_t);
|
|
||||||
_ACRTIMP int __cdecl _strnicoll_l(const char*, const char*, size_t, _locale_t);
|
|
||||||
_ACRTIMP char* __cdecl _strnset(char*,int,size_t);
|
|
||||||
_ACRTIMP char* __cdecl _strrev(char*);
|
|
||||||
_ACRTIMP char* __cdecl _strset(char*,int);
|
|
||||||
_ACRTIMP char* __cdecl _strupr(char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _strupr_s(char *, size_t);
|
|
||||||
_ACRTIMP size_t __cdecl _strxfrm_l(char*,const char*,size_t,_locale_t);
|
|
||||||
|
|
||||||
_ACRTIMP errno_t __cdecl memmove_s(void*,size_t,const void*,size_t);
|
|
||||||
_ACRTIMP char* __cdecl strcat(char*,const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl strcat_s(char*,size_t,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strchr(const char*,int);
|
|
||||||
_ACRTIMP int __cdecl strcmp(const char*,const char*);
|
|
||||||
_ACRTIMP int __cdecl strcoll(const char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strcpy(char*,const char*);
|
|
||||||
_ACRTIMP errno_t __cdecl strcpy_s(char*,size_t,const char*);
|
|
||||||
_ACRTIMP size_t __cdecl strcspn(const char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strerror(int);
|
|
||||||
_ACRTIMP size_t __cdecl strlen(const char*);
|
|
||||||
_ACRTIMP char* __cdecl strncat(char*,const char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl strncat_s(char*,size_t,const char*,size_t);
|
|
||||||
_ACRTIMP int __cdecl strncmp(const char*,const char*,size_t);
|
|
||||||
_ACRTIMP char* __cdecl strncpy(char*,const char*,size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl strncpy_s(char*,size_t,const char*,size_t);
|
|
||||||
_ACRTIMP size_t __cdecl strnlen(const char*,size_t);
|
|
||||||
_ACRTIMP char* __cdecl strpbrk(const char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strrchr(const char*,int);
|
|
||||||
_ACRTIMP size_t __cdecl strspn(const char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strstr(const char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strtok(char*,const char*);
|
|
||||||
_ACRTIMP char* __cdecl strtok_s(char*,const char*,char**);
|
|
||||||
_ACRTIMP size_t __cdecl strxfrm(char*,const char*,size_t);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static inline int strcasecmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
|
|
||||||
static inline int strcmpi(const char* s1, const char* s2) { return _strcmpi(s1, s2); }
|
|
||||||
static inline char* strdup(const char* buf) { return _strdup(buf); }
|
|
||||||
static inline int stricmp(const char* s1, const char* s2) { return _stricmp(s1, s2); }
|
|
||||||
static inline int stricoll(const char* s1, const char* s2) { return _stricoll(s1, s2); }
|
|
||||||
static inline char* strlwr(char* str) { return _strlwr(str); }
|
|
||||||
static inline int strncasecmp(const char *str1, const char *str2, size_t n) { return _strnicmp(str1, str2, n); }
|
|
||||||
static inline int strnicmp(const char* s1, const char* s2, size_t n) { return _strnicmp(s1, s2, n); }
|
|
||||||
static inline char* strnset(char* str, int value, unsigned int len) { return _strnset(str, value, len); }
|
|
||||||
static inline char* strrev(char* str) { return _strrev(str); }
|
|
||||||
static inline char* strset(char* str, int value) { return _strset(str, value); }
|
|
||||||
static inline char* strupr(char* str) { return _strupr(str); }
|
|
||||||
|
|
||||||
static inline wchar_t* wcsdup(const wchar_t* str) { return _wcsdup(str); }
|
|
||||||
static inline int wcsicoll(const wchar_t* str1, const wchar_t* str2) { return _wcsicoll(str1, str2); }
|
|
||||||
static inline wchar_t* wcslwr(wchar_t* str) { return _wcslwr(str); }
|
|
||||||
static inline int wcsicmp(const wchar_t* s1, const wchar_t* s2) { return _wcsicmp(s1, s2); }
|
|
||||||
static inline int wcsnicmp(const wchar_t* str1, const wchar_t* str2, size_t n) { return _wcsnicmp(str1, str2, n); }
|
|
||||||
static inline wchar_t* wcsnset(wchar_t* str, wchar_t c, size_t n) { return _wcsnset(str, c, n); }
|
|
||||||
static inline wchar_t* wcsrev(wchar_t* str) { return _wcsrev(str); }
|
|
||||||
static inline wchar_t* wcsset(wchar_t* str, wchar_t c) { return _wcsset(str, c); }
|
|
||||||
static inline wchar_t* wcsupr(wchar_t* str) { return _wcsupr(str); }
|
|
||||||
|
|
||||||
#endif /* __WINE_STRING_H */
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* _locking constants
|
|
||||||
*
|
|
||||||
* Copyright 2002 Bill Medland
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SYS_LOCKING_H__
|
|
||||||
#define __WINE_SYS_LOCKING_H__
|
|
||||||
#ifndef __WINE_USE_MSVCRT
|
|
||||||
#define __WINE_USE_MSVCRT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _LK_UNLCK 0
|
|
||||||
#define _LK_LOCK 1
|
|
||||||
#define _LK_NBLCK 2
|
|
||||||
#define _LK_RLCK 3
|
|
||||||
#define _LK_NBRLCK 4
|
|
||||||
|
|
||||||
#endif /* __WINE_SYS_LOCKING_H__ : Do not place anything after this #endif */
|
|
||||||
@@ -1,227 +0,0 @@
|
|||||||
/*
|
|
||||||
* _stat() definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SYS_STAT_H
|
|
||||||
#define __WINE_SYS_STAT_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _DEV_T_DEFINED
|
|
||||||
# ifdef _CRTDLL
|
|
||||||
typedef unsigned short _dev_t;
|
|
||||||
# else
|
|
||||||
typedef unsigned int _dev_t;
|
|
||||||
# endif
|
|
||||||
#define _DEV_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _INO_T_DEFINED
|
|
||||||
typedef unsigned short _ino_t;
|
|
||||||
#define _INO_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _OFF_T_DEFINED
|
|
||||||
typedef int _off_t;
|
|
||||||
#define _OFF_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _S_IEXEC 0x0040
|
|
||||||
#define _S_IWRITE 0x0080
|
|
||||||
#define _S_IREAD 0x0100
|
|
||||||
#define _S_IFIFO 0x1000
|
|
||||||
#define _S_IFCHR 0x2000
|
|
||||||
#define _S_IFDIR 0x4000
|
|
||||||
#define _S_IFREG 0x8000
|
|
||||||
#define _S_IFMT 0xF000
|
|
||||||
|
|
||||||
/* for FreeBSD */
|
|
||||||
#undef st_atime
|
|
||||||
#undef st_ctime
|
|
||||||
#undef st_mtime
|
|
||||||
|
|
||||||
#ifndef _STAT_DEFINED
|
|
||||||
#define _STAT_DEFINED
|
|
||||||
|
|
||||||
struct _stat {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
_off_t st_size;
|
|
||||||
time_t st_atime;
|
|
||||||
time_t st_mtime;
|
|
||||||
time_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct stat {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
_off_t st_size;
|
|
||||||
time_t st_atime;
|
|
||||||
time_t st_mtime;
|
|
||||||
time_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _stat32 {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
_off_t st_size;
|
|
||||||
__time32_t st_atime;
|
|
||||||
__time32_t st_mtime;
|
|
||||||
__time32_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _stat32i64 {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) st_size;
|
|
||||||
__time32_t st_atime;
|
|
||||||
__time32_t st_mtime;
|
|
||||||
__time32_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _stat64i32 {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
_off_t st_size;
|
|
||||||
__time64_t st_atime;
|
|
||||||
__time64_t st_mtime;
|
|
||||||
__time64_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _stati64 {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) st_size;
|
|
||||||
time_t st_atime;
|
|
||||||
time_t st_mtime;
|
|
||||||
time_t st_ctime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _stat64 {
|
|
||||||
_dev_t st_dev;
|
|
||||||
_ino_t st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
short st_nlink;
|
|
||||||
short st_uid;
|
|
||||||
short st_gid;
|
|
||||||
_dev_t st_rdev;
|
|
||||||
__int64 DECLSPEC_ALIGN(8) st_size;
|
|
||||||
__time64_t st_atime;
|
|
||||||
__time64_t st_mtime;
|
|
||||||
__time64_t st_ctime;
|
|
||||||
};
|
|
||||||
#endif /* _STAT_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _UCRT
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _fstat _fstat32
|
|
||||||
# define _fstati64 _fstat32i64
|
|
||||||
# define _stat _stat32
|
|
||||||
# define _stati64 _stat32i64
|
|
||||||
# define _wstat _wstat32
|
|
||||||
# define _wstati64 _wstat32i64
|
|
||||||
# else
|
|
||||||
# define _fstat _fstat64i32
|
|
||||||
# define _fstati64 _fstat64
|
|
||||||
# define _stat _stat64i32
|
|
||||||
# define _stati64 _stat64
|
|
||||||
# define _wstat _wstat64i32
|
|
||||||
# define _wstati64 _wstat64
|
|
||||||
# endif
|
|
||||||
#else /* _UCRT */
|
|
||||||
# ifdef _USE_32BIT_TIME_T
|
|
||||||
# define _fstat32 _fstat
|
|
||||||
# define _fstat32i64 _fstati64
|
|
||||||
# define _stat32i64 _stati64
|
|
||||||
# define _stat32 _stat
|
|
||||||
# define _wstat32 _wstat
|
|
||||||
# define _wstat32i64 _wstati64
|
|
||||||
# else
|
|
||||||
# define _fstat64i32 _fstat
|
|
||||||
# define _fstat64 _fstati64
|
|
||||||
# define _stat64 _stati64
|
|
||||||
# define _stat64i32 _stat
|
|
||||||
# define _wstat64i32 _wstat
|
|
||||||
# define _wstat64 _wstati64
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define __stat64 _stat64
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _fstat32(int, struct _stat32*);
|
|
||||||
_ACRTIMP int __cdecl _fstat32i64(int, struct _stat32i64*);
|
|
||||||
_ACRTIMP int __cdecl _fstat64(int,struct _stat64*);
|
|
||||||
_ACRTIMP int __cdecl _fstat64i32(int,struct _stat64i32*);
|
|
||||||
_ACRTIMP int __cdecl _stat32(const char*, struct _stat32*);
|
|
||||||
_ACRTIMP int __cdecl _stat32i64(const char*, struct _stat32i64*);
|
|
||||||
_ACRTIMP int __cdecl _stat64(const char*,struct _stat64*);
|
|
||||||
_ACRTIMP int __cdecl _stat64i32(const char*,struct _stat64i32*);
|
|
||||||
_ACRTIMP int __cdecl _umask(int);
|
|
||||||
_ACRTIMP int __cdecl _wstat32(const wchar_t*,struct _stat32*);
|
|
||||||
_ACRTIMP int __cdecl _wstat32i64(const wchar_t*, struct _stat32i64*);
|
|
||||||
_ACRTIMP int __cdecl _wstat64(const wchar_t*,struct _stat64*);
|
|
||||||
_ACRTIMP int __cdecl _wstat64i32(const wchar_t*,struct _stat64i32*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define S_IFMT _S_IFMT
|
|
||||||
#define S_IFDIR _S_IFDIR
|
|
||||||
#define S_IFCHR _S_IFCHR
|
|
||||||
#define S_IFREG _S_IFREG
|
|
||||||
#define S_IREAD _S_IREAD
|
|
||||||
#define S_IWRITE _S_IWRITE
|
|
||||||
#define S_IEXEC _S_IEXEC
|
|
||||||
|
|
||||||
static inline int fstat(int fd, struct stat* ptr) { return _fstat(fd, (struct _stat*)ptr); }
|
|
||||||
static inline int stat(const char* path, struct stat* ptr) { return _stat(path, (struct _stat*)ptr); }
|
|
||||||
#ifndef _UMASK_DEFINED
|
|
||||||
static inline int umask(int fd) { return _umask(fd); }
|
|
||||||
#define _UMASK_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_SYS_STAT_H */
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/*
|
|
||||||
* Path and directory definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SYS_TIMEB_H
|
|
||||||
#define __WINE_SYS_TIMEB_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _TIMEB_DEFINED
|
|
||||||
#define _TIMEB_DEFINED
|
|
||||||
struct _timeb
|
|
||||||
{
|
|
||||||
time_t time;
|
|
||||||
unsigned short millitm;
|
|
||||||
short timezone;
|
|
||||||
short dstflag;
|
|
||||||
};
|
|
||||||
struct __timeb32
|
|
||||||
{
|
|
||||||
__time32_t time;
|
|
||||||
unsigned short millitm;
|
|
||||||
short timezone;
|
|
||||||
short dstflag;
|
|
||||||
};
|
|
||||||
struct __timeb64
|
|
||||||
{
|
|
||||||
__time64_t time;
|
|
||||||
unsigned short millitm;
|
|
||||||
short timezone;
|
|
||||||
short dstflag;
|
|
||||||
};
|
|
||||||
#endif /* _TIMEB_DEFINED */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP void __cdecl _ftime32(struct __timeb32*);
|
|
||||||
_ACRTIMP void __cdecl _ftime64(struct __timeb64*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _USE_32BIT_TIME_T
|
|
||||||
static inline void __cdecl _ftime(struct _timeb *tb) { return _ftime32((struct __timeb32*)tb); }
|
|
||||||
#else
|
|
||||||
static inline void __cdecl _ftime(struct _timeb *tb) { return _ftime64((struct __timeb64*)tb); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define timeb _timeb
|
|
||||||
|
|
||||||
static inline void ftime(struct _timeb* ptr) { return _ftime(ptr); }
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_SYS_TIMEB_H */
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/*
|
|
||||||
* _stat() definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SYS_TYPES_H
|
|
||||||
#define __WINE_SYS_TYPES_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifndef _DEV_T_DEFINED
|
|
||||||
# ifdef _CRTDLL
|
|
||||||
typedef unsigned short _dev_t;
|
|
||||||
# else
|
|
||||||
typedef unsigned int _dev_t;
|
|
||||||
# endif
|
|
||||||
#define _DEV_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _INO_T_DEFINED
|
|
||||||
typedef unsigned short _ino_t;
|
|
||||||
#define _INO_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _MODE_T_DEFINED
|
|
||||||
typedef unsigned short _mode_t;
|
|
||||||
#define _MODE_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _OFF_T_DEFINED
|
|
||||||
typedef int _off_t;
|
|
||||||
#define _OFF_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _BSDTYPES_DEFINED
|
|
||||||
typedef unsigned char u_char;
|
|
||||||
typedef unsigned short u_short;
|
|
||||||
typedef unsigned int u_int;
|
|
||||||
typedef __msvcrt_ulong u_long;
|
|
||||||
#define _BSDTYPES_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define dev_t _dev_t
|
|
||||||
#define ino_t _ino_t
|
|
||||||
#define mode_t _mode_t
|
|
||||||
#define off_t _off_t
|
|
||||||
|
|
||||||
#ifndef _PID_T_DEFINED
|
|
||||||
typedef int pid_t;
|
|
||||||
#define _PID_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _SSIZE_T_DEFINED
|
|
||||||
#ifdef _WIN64
|
|
||||||
typedef __int64 ssize_t;
|
|
||||||
#else
|
|
||||||
typedef int ssize_t;
|
|
||||||
#endif
|
|
||||||
#define _SSIZE_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_SYS_TYPES_H */
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
#include <unistd.h>
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
/*
|
|
||||||
* Path and directory definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_SYS_UTIME_H
|
|
||||||
#define __WINE_SYS_UTIME_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _UTIMBUF_DEFINED
|
|
||||||
#define _UTIMBUF_DEFINED
|
|
||||||
struct _utimbuf
|
|
||||||
{
|
|
||||||
time_t actime;
|
|
||||||
time_t modtime;
|
|
||||||
};
|
|
||||||
struct __utimbuf32
|
|
||||||
{
|
|
||||||
__time32_t actime;
|
|
||||||
__time32_t modtime;
|
|
||||||
};
|
|
||||||
struct __utimbuf64
|
|
||||||
{
|
|
||||||
__time64_t actime;
|
|
||||||
__time64_t modtime;
|
|
||||||
};
|
|
||||||
#endif /* _UTIMBUF_DEFINED */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP int __cdecl _futime32(int,struct __utimbuf32*);
|
|
||||||
_ACRTIMP int __cdecl _futime64(int,struct __utimbuf64*);
|
|
||||||
_ACRTIMP int __cdecl _utime32(const char*,struct __utimbuf32*);
|
|
||||||
_ACRTIMP int __cdecl _utime64(const char*,struct __utimbuf64*);
|
|
||||||
_ACRTIMP int __cdecl _wutime32(const wchar_t*,struct __utimbuf32*);
|
|
||||||
_ACRTIMP int __cdecl _wutime64(const wchar_t*,struct __utimbuf64*);
|
|
||||||
|
|
||||||
#ifdef _USE_32BIT_TIME_T
|
|
||||||
static inline int _futime(int fd, struct _utimbuf *buf) { return _futime32(fd, (struct __utimbuf32*)buf); }
|
|
||||||
static inline int _utime(const char *s, struct _utimbuf *buf) { return _utime32(s, (struct __utimbuf32*)buf); }
|
|
||||||
static inline int _wutime(const wchar_t *s, struct _utimbuf *buf) { return _wutime32(s, (struct __utimbuf32*)buf); }
|
|
||||||
#else
|
|
||||||
static inline int _futime(int fd, struct _utimbuf *buf) { return _futime64(fd, (struct __utimbuf64*)buf); }
|
|
||||||
static inline int _utime(const char *s, struct _utimbuf *buf) { return _utime64(s, (struct __utimbuf64*)buf); }
|
|
||||||
static inline int _wutime(const wchar_t *s, struct _utimbuf *buf) { return _wutime64(s, (struct __utimbuf64*)buf); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define utimbuf _utimbuf
|
|
||||||
|
|
||||||
static inline int utime(const char* path, struct _utimbuf* buf) { return _utime(path, buf); }
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_SYS_UTIME_H */
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
/*
|
|
||||||
* Time definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_TIME_H
|
|
||||||
#define __WINE_TIME_H
|
|
||||||
|
|
||||||
#include <corecrt_wtime.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
#ifndef _CLOCK_T_DEFINED
|
|
||||||
typedef __msvcrt_long clock_t;
|
|
||||||
#define _CLOCK_T_DEFINED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CLOCKS_PER_SEC
|
|
||||||
#define CLOCKS_PER_SEC 1000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _timespec32
|
|
||||||
{
|
|
||||||
__time32_t tv_sec;
|
|
||||||
__msvcrt_long tv_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _timespec64
|
|
||||||
{
|
|
||||||
__time64_t tv_sec;
|
|
||||||
__msvcrt_long tv_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct timespec
|
|
||||||
{
|
|
||||||
time_t tv_sec;
|
|
||||||
__msvcrt_long tv_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
#define _daylight (*__p__daylight())
|
|
||||||
#define _dstbias (*__p__dstbias())
|
|
||||||
#define _timezone (*__p__timezone())
|
|
||||||
#define _tzname (__p__tzname())
|
|
||||||
|
|
||||||
_ACRTIMP int * __cdecl __p__daylight(void);
|
|
||||||
_ACRTIMP __msvcrt_long * __cdecl __p__dstbias(void);
|
|
||||||
_ACRTIMP __msvcrt_long * __cdecl __p__timezone(void);
|
|
||||||
_ACRTIMP char ** __cdecl __p__tzname(void);
|
|
||||||
#else
|
|
||||||
extern int _daylight;
|
|
||||||
extern __msvcrt_long _dstbias;
|
|
||||||
extern __msvcrt_long _timezone;
|
|
||||||
extern char *_tzname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if _MSVCR_VER < 120 && defined(_USE_32BIT_TIME_T)
|
|
||||||
#define _ctime32 ctime
|
|
||||||
#define _difftime32 difftime
|
|
||||||
#define _gmtime32 gmtime
|
|
||||||
#define _localtime32 localtime
|
|
||||||
#define _mktime32 mktime
|
|
||||||
#define _time32 time
|
|
||||||
#endif
|
|
||||||
|
|
||||||
_ACRTIMP unsigned __cdecl _getsystime(struct tm*);
|
|
||||||
_ACRTIMP unsigned __cdecl _setsystime(struct tm*,unsigned);
|
|
||||||
_ACRTIMP char* __cdecl _strdate(char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _strdate_s(char*,size_t);
|
|
||||||
_ACRTIMP char* __cdecl _strtime(char*);
|
|
||||||
_ACRTIMP errno_t __cdecl _strtime_s(char*,size_t);
|
|
||||||
_ACRTIMP void __cdecl _tzset(void);
|
|
||||||
|
|
||||||
_ACRTIMP char* __cdecl asctime(const struct tm*);
|
|
||||||
_ACRTIMP clock_t __cdecl clock(void);
|
|
||||||
_ACRTIMP char* __cdecl _ctime32(const __time32_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _ctime32_s(char*,size_t,const __time32_t*);
|
|
||||||
_ACRTIMP char* __cdecl _ctime64(const __time64_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _ctime64_s(char*,size_t,const __time64_t*);
|
|
||||||
_ACRTIMP double __cdecl _difftime32(__time32_t,__time32_t);
|
|
||||||
_ACRTIMP double __cdecl _difftime64(__time64_t,__time64_t);
|
|
||||||
_ACRTIMP struct tm* __cdecl _gmtime32(const __time32_t*);
|
|
||||||
_ACRTIMP int __cdecl _gmtime32_s(struct tm *res, const __time32_t *secs);
|
|
||||||
_ACRTIMP struct tm* __cdecl _gmtime64(const __time64_t*);
|
|
||||||
_ACRTIMP int __cdecl _gmtime64_s(struct tm *res, const __time64_t *secs);
|
|
||||||
|
|
||||||
_ACRTIMP struct tm* __cdecl _localtime32(const __time32_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _localtime32_s(struct tm*, const __time32_t*);
|
|
||||||
_ACRTIMP struct tm* __cdecl _localtime64(const __time64_t*);
|
|
||||||
_ACRTIMP errno_t __cdecl _localtime64_s(struct tm*, const __time64_t*);
|
|
||||||
_ACRTIMP __time32_t __cdecl _mktime32(struct tm*);
|
|
||||||
_ACRTIMP __time64_t __cdecl _mktime64(struct tm*);
|
|
||||||
_ACRTIMP size_t __cdecl strftime(char*,size_t,const char*,const struct tm*);
|
|
||||||
_ACRTIMP size_t __cdecl _strftime_l(char*,size_t,const char*,const struct tm*,_locale_t);
|
|
||||||
_ACRTIMP __time32_t __cdecl _time32(__time32_t*);
|
|
||||||
_ACRTIMP __time64_t __cdecl _time64(__time64_t*);
|
|
||||||
|
|
||||||
#ifndef _USE_32BIT_TIME_T
|
|
||||||
static inline char* ctime(const time_t *t) { return _ctime64(t); }
|
|
||||||
static inline errno_t ctime_s(char *res, size_t len, const __time64_t *t) { return _ctime64_s(res, len, t); }
|
|
||||||
static inline double difftime(time_t t1, time_t t2) { return _difftime64(t1, t2); }
|
|
||||||
static inline struct tm* gmtime(const time_t *t) { return _gmtime64(t); }
|
|
||||||
static inline struct tm* localtime(const time_t *t) { return _localtime64(t); }
|
|
||||||
static inline errno_t localtime_s(struct tm *res, const time_t *t) { return _localtime64_s(res, t); }
|
|
||||||
static inline time_t mktime(struct tm *tm) { return _mktime64(tm); }
|
|
||||||
static inline time_t time(time_t *t) { return _time64(t); }
|
|
||||||
#elif defined(_UCRT)
|
|
||||||
static inline char* ctime(const time_t *t) { return _ctime32(t); }
|
|
||||||
static inline errno_t ctime_s(char *res, size_t len, const __time32_t *t) { return _ctime32_s(res, len, t); }
|
|
||||||
static inline double difftime(time_t t1, time_t t2) { return _difftime32(t1, t2); }
|
|
||||||
static inline struct tm* gmtime(const time_t *t) { return _gmtime32(t); }
|
|
||||||
static inline struct tm* localtime(const time_t *t) { return _localtime32(t); }
|
|
||||||
static inline errno_t localtime_s(struct tm *res, const time_t *t) { return _localtime32_s(res, t); }
|
|
||||||
static inline time_t mktime(struct tm *tm) { return _mktime32(tm); }
|
|
||||||
static inline time_t time(time_t *t) { return _time32(t); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_TIME_H */
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
/**
|
|
||||||
* This file has no copyright assigned and is placed in the Public Domain.
|
|
||||||
* This file is part of the mingw-w64 runtime package.
|
|
||||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* ISO C1x Unicode utilities
|
|
||||||
* Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326)
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
|
||||||
*
|
|
||||||
* This source code is offered for use in the public domain. You may
|
|
||||||
* use, modify or distribute it freely.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful but
|
|
||||||
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
|
||||||
* DISCLAIMED. This includes but is not limited to warranties of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
*
|
|
||||||
* Date: 2011-09-27
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __UCHAR_H
|
|
||||||
#define __UCHAR_H
|
|
||||||
|
|
||||||
#include <stddef.h> /* size_t */
|
|
||||||
#include <stdint.h> /* uint_leastXX_t */
|
|
||||||
#include <wchar.h> /* mbstate_t */
|
|
||||||
|
|
||||||
/* Remember that g++ >= 4.4 defines these types only in c++0x mode */
|
|
||||||
#if !(defined(__cplusplus) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
|
|
||||||
!defined(__GNUC__) || \
|
|
||||||
(!defined(__clang__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)))
|
|
||||||
typedef uint_least16_t char16_t;
|
|
||||||
typedef uint_least32_t char32_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __STDC_UTF_16__
|
|
||||||
#define __STDC_UTF_16__ 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __STDC_UTF_32__
|
|
||||||
#define __STDC_UTF_32__ 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
size_t mbrtoc16 (char16_t *__restrict__ pc16,
|
|
||||||
const char *__restrict__ s,
|
|
||||||
size_t n,
|
|
||||||
mbstate_t *__restrict__ ps);
|
|
||||||
|
|
||||||
size_t c16rtomb (char *__restrict__ s,
|
|
||||||
char16_t c16,
|
|
||||||
mbstate_t *__restrict__ ps);
|
|
||||||
|
|
||||||
size_t mbrtoc32 (char32_t *__restrict__ pc32,
|
|
||||||
const char *__restrict__ s,
|
|
||||||
size_t n,
|
|
||||||
mbstate_t *__restrict__ ps);
|
|
||||||
|
|
||||||
size_t c32rtomb (char *__restrict__ s,
|
|
||||||
char32_t c32,
|
|
||||||
mbstate_t *__restrict__ ps);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __UCHAR_H */
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#include <io.h>
|
|
||||||
#include <process.h>
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
* Variable argument definitions
|
|
||||||
*
|
|
||||||
* Copyright 2022 Jacek Caban
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _INC_VADEFS
|
|
||||||
#define _INC_VADEFS
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define _ADDRESSOF(v) (&reinterpret_cast<const char &>(v))
|
|
||||||
#else
|
|
||||||
#define _ADDRESSOF(v) (&(v))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined (__GNUC__) && defined(__x86_64__)
|
|
||||||
|
|
||||||
typedef __builtin_ms_va_list va_list;
|
|
||||||
#define _crt_va_start(v,l) __builtin_ms_va_start(v,l)
|
|
||||||
#define _crt_va_arg(v,l) __builtin_va_arg(v,l)
|
|
||||||
#define _crt_va_end(v) __builtin_ms_va_end(v)
|
|
||||||
#define _crt_va_copy(d,s) __builtin_ms_va_copy(d,s)
|
|
||||||
|
|
||||||
#elif defined(__GNUC__) || defined(__clang__)
|
|
||||||
|
|
||||||
typedef __builtin_va_list va_list;
|
|
||||||
#define _crt_va_start(v,l) __builtin_va_start(v,l)
|
|
||||||
#define _crt_va_arg(v,l) __builtin_va_arg(v,l)
|
|
||||||
#define _crt_va_end(v) __builtin_va_end(v)
|
|
||||||
#define _crt_va_copy(d,s) __builtin_va_copy(d,s)
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef char *va_list;
|
|
||||||
|
|
||||||
#if defined(__i386__)
|
|
||||||
#define _INTSIZEOF(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1))
|
|
||||||
#define _crt_va_start(v,l) ((v) = (va_list)_ADDRESSOF(l) + _INTSIZEOF(l))
|
|
||||||
#define _crt_va_arg(v,l) (*(l *)(((v) += _INTSIZEOF(l)) - _INTSIZEOF(l)))
|
|
||||||
#define _crt_va_end(v) ((v) = (va_list)0)
|
|
||||||
#define _crt_va_copy(d,s) ((d) = (s))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _INC_VADEFS */
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
/*
|
|
||||||
* Unicode definitions
|
|
||||||
*
|
|
||||||
* Derived from the mingw header written by Colin Peters.
|
|
||||||
* Modified for Wine use by Jon Griffiths and Francois Gouget.
|
|
||||||
* This file is in the public domain.
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_WCHAR_H
|
|
||||||
#define __WINE_WCHAR_H
|
|
||||||
|
|
||||||
#include <corecrt_wctype.h>
|
|
||||||
#include <corecrt_wdirect.h>
|
|
||||||
#include <corecrt_wio.h>
|
|
||||||
#include <corecrt_wprocess.h>
|
|
||||||
#include <corecrt_wstdio.h>
|
|
||||||
#include <corecrt_wstdlib.h>
|
|
||||||
#include <corecrt_wstring.h>
|
|
||||||
#include <corecrt_wtime.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WCHAR_MIN /* also in stdint.h */
|
|
||||||
#define WCHAR_MIN 0U
|
|
||||||
#define WCHAR_MAX 0xffffU
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef int mbstate_t;
|
|
||||||
|
|
||||||
#ifndef _WLOCALE_DEFINED
|
|
||||||
#define _WLOCALE_DEFINED
|
|
||||||
_ACRTIMP wchar_t* __cdecl _wsetlocale(int,const wchar_t*);
|
|
||||||
#endif /* _WLOCALE_DEFINED */
|
|
||||||
|
|
||||||
wchar_t __cdecl btowc(int);
|
|
||||||
size_t __cdecl mbrlen(const char *,size_t,mbstate_t*);
|
|
||||||
size_t __cdecl mbrtowc(wchar_t*,const char*,size_t,mbstate_t*);
|
|
||||||
size_t __cdecl mbsrtowcs(wchar_t*,const char**,size_t,mbstate_t*);
|
|
||||||
size_t __cdecl wcrtomb(char*,wchar_t,mbstate_t*);
|
|
||||||
int __cdecl wcrtomb_s(size_t*,char*,size_t,wchar_t,mbstate_t*);
|
|
||||||
size_t __cdecl wcsrtombs(char*,const wchar_t**,size_t,mbstate_t*);
|
|
||||||
int __cdecl wctob(wint_t);
|
|
||||||
|
|
||||||
_ACRTIMP errno_t __cdecl wmemcpy_s(wchar_t *, size_t, const wchar_t *, size_t);
|
|
||||||
_ACRTIMP errno_t __cdecl wmemmove_s(wchar_t *, size_t, const wchar_t *, size_t);
|
|
||||||
|
|
||||||
static inline _CONST_RETURN wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n)
|
|
||||||
{
|
|
||||||
const wchar_t *end;
|
|
||||||
for (end = s + n; s < end; s++)
|
|
||||||
if (*s == c) return (_CONST_RETURN wchar_t *)s;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C++" inline wchar_t *wmemchr(wchar_t *s, wchar_t c, size_t n)
|
|
||||||
{
|
|
||||||
wchar_t const* s_const = s;
|
|
||||||
return const_cast<wchar_t *>(wmemchr(s_const, c, n));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
for (i = 0; i < n; i++)
|
|
||||||
{
|
|
||||||
if (s1[i] > s2[i]) return 1;
|
|
||||||
if (s1[i] < s2[i]) return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline wchar_t* __cdecl wmemcpy(wchar_t *dst, const wchar_t *src, size_t n)
|
|
||||||
{
|
|
||||||
return (wchar_t*)memcpy(dst, src, n * sizeof(wchar_t));
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline wchar_t* __cdecl wmemmove(wchar_t *dst, const wchar_t *src, size_t n)
|
|
||||||
{
|
|
||||||
return (wchar_t*)memmove(dst, src, n * sizeof(wchar_t));
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline wchar_t* __cdecl wmemset(wchar_t *s, wchar_t c, size_t n)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
for (i = 0; i < n; i++)
|
|
||||||
s[i] = c;
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_WCHAR_H */
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
/*
|
|
||||||
* Unicode definitions
|
|
||||||
*
|
|
||||||
* Copyright 2000 Francois Gouget.
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_WCTYPE_H
|
|
||||||
#define __WINE_WCTYPE_H
|
|
||||||
|
|
||||||
#include <corecrt.h>
|
|
||||||
|
|
||||||
#pragma pack(push,8)
|
|
||||||
|
|
||||||
/* ASCII char classification table - binary compatible */
|
|
||||||
#define _UPPER 0x0001 /* C1_UPPER */
|
|
||||||
#define _LOWER 0x0002 /* C1_LOWER */
|
|
||||||
#define _DIGIT 0x0004 /* C1_DIGIT */
|
|
||||||
#define _SPACE 0x0008 /* C1_SPACE */
|
|
||||||
#define _PUNCT 0x0010 /* C1_PUNCT */
|
|
||||||
#define _CONTROL 0x0020 /* C1_CNTRL */
|
|
||||||
#define _BLANK 0x0040 /* C1_BLANK */
|
|
||||||
#define _HEX 0x0080 /* C1_XDIGIT */
|
|
||||||
#define _LEADBYTE 0x8000
|
|
||||||
#define _ALPHA (0x0100|_UPPER|_LOWER) /* (C1_ALPHA|_UPPER|_LOWER) */
|
|
||||||
|
|
||||||
#ifndef WEOF
|
|
||||||
#define WEOF (wint_t)(0xFFFF)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* FIXME: there's something to do with __p__pctype and __p__pwctype */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _WCTYPE_DEFINED
|
|
||||||
#define _WCTYPE_DEFINED
|
|
||||||
_ACRTIMP int __cdecl is_wctype(wint_t,wctype_t);
|
|
||||||
_ACRTIMP int __cdecl isleadbyte(int);
|
|
||||||
_ACRTIMP int __cdecl iswalnum(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswalpha(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswascii(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswcntrl(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswctype(wint_t,wctype_t);
|
|
||||||
_ACRTIMP int __cdecl iswdigit(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswgraph(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswlower(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswprint(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswpunct(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswspace(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswupper(wint_t);
|
|
||||||
_ACRTIMP int __cdecl iswxdigit(wint_t);
|
|
||||||
_ACRTIMP wint_t __cdecl towlower(wint_t);
|
|
||||||
_ACRTIMP wint_t __cdecl towupper(wint_t);
|
|
||||||
#endif /* _WCTYPE_DEFINED */
|
|
||||||
|
|
||||||
typedef wchar_t wctrans_t;
|
|
||||||
wint_t __cdecl towctrans(wint_t,wctrans_t);
|
|
||||||
wctrans_t __cdecl wctrans(const char *);
|
|
||||||
wctype_t __cdecl wctype(const char *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
#endif /* __WINE_WCTYPE_H */
|
|
||||||
@@ -1,697 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/wine/svcctl.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __svcctl_h__
|
|
||||||
#define __svcctl_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
#include <wtypes.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "winsvc.h"
|
|
||||||
#define SVCCTL_TRANSPORT {'n','c','a','c','n','_','n','p',0}
|
|
||||||
#define SVCCTL_TRANSPORTA "ncacn_np"
|
|
||||||
#define SVCCTL_ENDPOINT {'\\','p','i','p','e','\\','s','v','c','c','t','l',0}
|
|
||||||
#define SVCCTL_ENDPOINTA "\\pipe\\svcctl"
|
|
||||||
#define SVCCTL_STARTED_EVENT {'_','_','w','i','n','e','_','S','v','c','c','t','l','S','t','a','r','t','e','d',0}
|
|
||||||
#define SERVICE_PROTOCOL_MAGIC 0x57494e45
|
|
||||||
#define SERVICE_CONTROL_START 0
|
|
||||||
#define SERVICE_CONTROL_FORWARD_FLAG 0x80000000
|
|
||||||
typedef struct service_start_info_t {
|
|
||||||
DWORD magic;
|
|
||||||
DWORD total_size;
|
|
||||||
DWORD name_size;
|
|
||||||
DWORD control;
|
|
||||||
BYTE data[1];
|
|
||||||
} service_start_info;
|
|
||||||
/*****************************************************************************
|
|
||||||
* svcctl interface (v2.0)
|
|
||||||
*/
|
|
||||||
#ifndef __svcctl_INTERFACE_DEFINED__
|
|
||||||
#define __svcctl_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
extern RPC_IF_HANDLE svcctl_v2_0_c_ifspec;
|
|
||||||
extern RPC_IF_HANDLE svcctl_v2_0_s_ifspec;
|
|
||||||
typedef LPCWSTR MACHINE_HANDLEW;
|
|
||||||
typedef LPCSTR MACHINE_HANDLEA;
|
|
||||||
typedef LPCWSTR SVCCTL_HANDLEW;
|
|
||||||
typedef void *SC_RPC_HANDLE;
|
|
||||||
typedef void *SC_RPC_LOCK;
|
|
||||||
typedef void *SC_NOTIFY_RPC_HANDLE;
|
|
||||||
#define SERVICE_SET_STATUS 0x8000
|
|
||||||
#if 0 /* already defined in winsvc.h / winnt.h */
|
|
||||||
typedef DWORD SECURITY_INFORMATION;
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGA {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwStartType;
|
|
||||||
DWORD dwErrorControl;
|
|
||||||
LPSTR lpBinaryPathName;
|
|
||||||
LPSTR lpLoadOrderGroup;
|
|
||||||
DWORD dwTagId;
|
|
||||||
LPSTR lpDependencies;
|
|
||||||
LPSTR lpServiceStartName;
|
|
||||||
LPSTR lpDisplayName;
|
|
||||||
} QUERY_SERVICE_CONFIGA;
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGA *LPQUERY_SERVICE_CONFIGA;
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGW {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwStartType;
|
|
||||||
DWORD dwErrorControl;
|
|
||||||
LPWSTR lpBinaryPathName;
|
|
||||||
LPWSTR lpLoadOrderGroup;
|
|
||||||
DWORD dwTagId;
|
|
||||||
LPWSTR lpDependencies;
|
|
||||||
LPWSTR lpServiceStartName;
|
|
||||||
LPWSTR lpDisplayName;
|
|
||||||
} QUERY_SERVICE_CONFIGW;
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGW *LPQUERY_SERVICE_CONFIGW;
|
|
||||||
typedef struct _SERVICE_STATUS {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwCurrentState;
|
|
||||||
DWORD dwControlsAccepted;
|
|
||||||
DWORD dwWin32ExitCode;
|
|
||||||
DWORD dwServiceSpecificExitCode;
|
|
||||||
DWORD dwCheckPoint;
|
|
||||||
DWORD dwWaitHint;
|
|
||||||
} SERVICE_STATUS;
|
|
||||||
typedef struct _SERVICE_STATUS *LPSERVICE_STATUS;
|
|
||||||
typedef enum _SC_STATUS_TYPE {
|
|
||||||
SC_STATUS_PROCESS_INFO = 0
|
|
||||||
} SC_STATUS_TYPE;
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONA {
|
|
||||||
LPSTR lpDescription;
|
|
||||||
} SERVICE_DESCRIPTIONA;
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONA *LPSERVICE_DESCRIPTIONA;
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONW {
|
|
||||||
LPWSTR lpDescription;
|
|
||||||
} SERVICE_DESCRIPTIONW;
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONW *LPSERVICE_DESCRIPTIONW;
|
|
||||||
typedef enum _SC_ACTION_TYPE {
|
|
||||||
SC_ACTION_NONE = 0,
|
|
||||||
SC_ACTION_RESTART = 1,
|
|
||||||
SC_ACTION_REBOOT = 2,
|
|
||||||
SC_ACTION_RUN_COMMAND = 3
|
|
||||||
} SC_ACTION_TYPE;
|
|
||||||
typedef struct _SC_ACTION {
|
|
||||||
SC_ACTION_TYPE Type;
|
|
||||||
DWORD Delay;
|
|
||||||
} SC_ACTION;
|
|
||||||
typedef struct _SC_ACTION *LPSC_ACTION;
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSA {
|
|
||||||
DWORD dwResetPeriod;
|
|
||||||
LPSTR lpRebootMsg;
|
|
||||||
LPSTR lpCommand;
|
|
||||||
DWORD cActions;
|
|
||||||
SC_ACTION *lpsaActions;
|
|
||||||
} SERVICE_FAILURE_ACTIONSA;
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSA *LPSERVICE_FAILURE_ACTIONSA;
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSW {
|
|
||||||
DWORD dwResetPeriod;
|
|
||||||
LPWSTR lpRebootMsg;
|
|
||||||
LPWSTR lpCommand;
|
|
||||||
DWORD cActions;
|
|
||||||
SC_ACTION *lpsaActions;
|
|
||||||
} SERVICE_FAILURE_ACTIONSW;
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSW *LPSERVICE_FAILURE_ACTIONSW;
|
|
||||||
typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
|
|
||||||
BOOL fDelayedAutostart;
|
|
||||||
} SERVICE_DELAYED_AUTO_START_INFO;
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONS_FLAG {
|
|
||||||
BOOL fFailureActionsOnNonCrashFailures;
|
|
||||||
} SERVICE_FAILURE_ACTIONS_FLAG;
|
|
||||||
typedef struct _SERVICE_SID_INFO {
|
|
||||||
DWORD dwServiceSidType;
|
|
||||||
} SERVICE_SID_INFO;
|
|
||||||
typedef struct _SERVICE_PRESHUTDOWN_INFO {
|
|
||||||
DWORD dwPreshutdownTimeout;
|
|
||||||
} SERVICE_PRESHUTDOWN_INFO;
|
|
||||||
typedef struct _SERVICE_PRESHUTDOWN_INFO *LPSERVICE_PRESHUTDOWN_INFO;
|
|
||||||
typedef struct _ENUM_SERVICE_STATUSW {
|
|
||||||
LPWSTR lpServiceName;
|
|
||||||
LPWSTR lpDisplayName;
|
|
||||||
SERVICE_STATUS ServiceStatus;
|
|
||||||
} ENUM_SERVICE_STATUSW;
|
|
||||||
typedef struct _ENUM_SERVICE_STATUSW *LPENUM_SERVICE_STATUSW;
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
|
|
||||||
DWORD fIsLocked;
|
|
||||||
LPSTR lpLockOwner;
|
|
||||||
DWORD dwLockDuration;
|
|
||||||
} QUERY_SERVICE_LOCK_STATUSA;
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSA *LPQUERY_SERVICE_LOCK_STATUSA;
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSW {
|
|
||||||
DWORD fIsLocked;
|
|
||||||
LPWSTR lpLockOwner;
|
|
||||||
DWORD dwLockDuration;
|
|
||||||
} QUERY_SERVICE_LOCK_STATUSW;
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSW *LPQUERY_SERVICE_LOCK_STATUSW;
|
|
||||||
typedef struct _SERVICE_STATUS_PROCESS {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwCurrentState;
|
|
||||||
DWORD dwControlsAccepted;
|
|
||||||
DWORD dwWin32ExitCode;
|
|
||||||
DWORD dwServiceSpecificExitCode;
|
|
||||||
DWORD dwCheckPoint;
|
|
||||||
DWORD dwWaitHint;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
DWORD dwServiceFlags;
|
|
||||||
} SERVICE_STATUS_PROCESS;
|
|
||||||
typedef struct _SERVICE_STATUS_PROCESS *LPSERVICE_STATUS_PROCESS;
|
|
||||||
typedef enum _SC_ENUM_TYPE {
|
|
||||||
SC_ENUM_PROCESS_INFO = 0
|
|
||||||
} SC_ENUM_TYPE;
|
|
||||||
#endif
|
|
||||||
struct enum_service_status {
|
|
||||||
DWORD service_name;
|
|
||||||
DWORD display_name;
|
|
||||||
SERVICE_STATUS service_status;
|
|
||||||
};
|
|
||||||
struct enum_service_status_process {
|
|
||||||
DWORD service_name;
|
|
||||||
DWORD display_name;
|
|
||||||
SERVICE_STATUS_PROCESS service_status_process;
|
|
||||||
};
|
|
||||||
struct service_description {
|
|
||||||
USHORT size;
|
|
||||||
WCHAR description[1];
|
|
||||||
};
|
|
||||||
typedef struct _SERVICE_RPC_REQUIRED_PRIVILEGES_INFO {
|
|
||||||
DWORD cbRequiredPrivileges;
|
|
||||||
BYTE *pRequiredPrivileges;
|
|
||||||
} SERVICE_RPC_REQUIRED_PRIVILEGES_INFO;
|
|
||||||
typedef struct _SC_RPC_CONFIG_INFOW {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
__C89_NAMELESS union {
|
|
||||||
SERVICE_DESCRIPTIONW *descr;
|
|
||||||
SERVICE_FAILURE_ACTIONSW *actions;
|
|
||||||
SERVICE_DELAYED_AUTO_START_INFO *delayedstart;
|
|
||||||
SERVICE_FAILURE_ACTIONS_FLAG *actionsflag;
|
|
||||||
SERVICE_SID_INFO *sid;
|
|
||||||
SERVICE_RPC_REQUIRED_PRIVILEGES_INFO *privinfo;
|
|
||||||
SERVICE_PRESHUTDOWN_INFO *preshutdown;
|
|
||||||
} __C89_NAMELESSUNIONNAME;
|
|
||||||
} SC_RPC_CONFIG_INFOW;
|
|
||||||
typedef struct _SC_RPC_CONFIG_INFOA {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
__C89_NAMELESS union {
|
|
||||||
SERVICE_DESCRIPTIONA *descr;
|
|
||||||
SERVICE_FAILURE_ACTIONSA *actions;
|
|
||||||
SERVICE_DELAYED_AUTO_START_INFO *delayedstart;
|
|
||||||
SERVICE_FAILURE_ACTIONS_FLAG *actionsflag;
|
|
||||||
SERVICE_SID_INFO *sid;
|
|
||||||
SERVICE_RPC_REQUIRED_PRIVILEGES_INFO *privinfo;
|
|
||||||
SERVICE_PRESHUTDOWN_INFO *preshutdown;
|
|
||||||
} __C89_NAMELESSUNIONNAME;
|
|
||||||
} SC_RPC_CONFIG_INFOA;
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 {
|
|
||||||
ULONGLONG ullThreadId;
|
|
||||||
DWORD dwNotifyMask;
|
|
||||||
UCHAR CallbackAddressArray[16];
|
|
||||||
UCHAR CallbackParamAddressArray[16];
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
DWORD dwNotificationStatus;
|
|
||||||
DWORD dwSequence;
|
|
||||||
} SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1;
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1;
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 {
|
|
||||||
ULONGLONG ullThreadId;
|
|
||||||
DWORD dwNotifyMask;
|
|
||||||
UCHAR CallbackAddressArray[16];
|
|
||||||
UCHAR CallbackParamAddressArray[16];
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
DWORD dwNotificationStatus;
|
|
||||||
DWORD dwSequence;
|
|
||||||
DWORD dwNotificationTriggered;
|
|
||||||
LPWSTR pszServiceNames;
|
|
||||||
} SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2;
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2;
|
|
||||||
typedef struct _SC_RPC_NOTIFY_PARAMS {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
__C89_NAMELESS union {
|
|
||||||
SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 *params1;
|
|
||||||
SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 *params;
|
|
||||||
} __C89_NAMELESSUNIONNAME;
|
|
||||||
} SC_RPC_NOTIFY_PARAMS;
|
|
||||||
typedef struct _SC_RPC_NOTIFY_PARAMS_LIST {
|
|
||||||
DWORD cElements;
|
|
||||||
SC_RPC_NOTIFY_PARAMS NotifyParamsArray[1];
|
|
||||||
} SC_RPC_NOTIFY_PARAMS_LIST;
|
|
||||||
typedef struct _SC_RPC_NOTIFY_PARAMS_LIST *PSC_RPC_NOTIFY_PARAMS_LIST;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA {
|
|
||||||
DWORD dwReason;
|
|
||||||
LPSTR pszComment;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA *PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW {
|
|
||||||
DWORD dwReason;
|
|
||||||
LPWSTR pszComment;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW *PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_IN_PARAMSA {
|
|
||||||
PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA psrInParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_IN_PARAMSA;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_IN_PARAMSA *PSC_RPC_SERVICE_CONTROL_IN_PARAMSA;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_IN_PARAMSW {
|
|
||||||
PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW psrInParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_IN_PARAMSW;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_IN_PARAMSW *PSC_RPC_SERVICE_CONTROL_IN_PARAMSW;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS {
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS;
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS *PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSA {
|
|
||||||
PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_OUT_PARAMSA;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSA *PSC_RPC_SERVICE_CONTROL_OUT_PARAMSA;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSW {
|
|
||||||
PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_OUT_PARAMSW;
|
|
||||||
typedef union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSW *PSC_RPC_SERVICE_CONTROL_OUT_PARAMSW;
|
|
||||||
DWORD __cdecl svcctl_CloseServiceHandle(
|
|
||||||
SC_RPC_HANDLE *handle);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ControlService(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
DWORD dwControl,
|
|
||||||
SERVICE_STATUS *lpServiceStatus);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_DeleteService(
|
|
||||||
SC_RPC_HANDLE hService);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_LockServiceDatabase(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
SC_RPC_LOCK *phLock);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceObjectSecurity(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SECURITY_INFORMATION info,
|
|
||||||
BYTE *descriptor,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_SetServiceObjectSecurity(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SECURITY_INFORMATION info,
|
|
||||||
BYTE *descriptor,
|
|
||||||
DWORD buf_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceStatus(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SERVICE_STATUS *status);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_SetServiceStatus(
|
|
||||||
SC_RPC_HANDLE hServiceStatus,
|
|
||||||
LPSERVICE_STATUS lpServiceStatus);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_UnlockServiceDatabase(
|
|
||||||
SC_RPC_LOCK *phLock);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_NotifyBootConfigStatus(
|
|
||||||
SVCCTL_HANDLEW machinename,
|
|
||||||
DWORD boot_acceptable);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_SCSetServiceBitsW(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ChangeServiceConfigW(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
DWORD dwServiceType,
|
|
||||||
DWORD dwStartType,
|
|
||||||
DWORD dwErrorControl,
|
|
||||||
LPCWSTR lpBinaryPathName,
|
|
||||||
LPCWSTR lpLoadOrderGroupKey,
|
|
||||||
DWORD *lpdwTagId,
|
|
||||||
const BYTE *lpDependencies,
|
|
||||||
DWORD dwDependenciesSize,
|
|
||||||
LPCWSTR lpServiceStartName,
|
|
||||||
const BYTE *lpPassword,
|
|
||||||
DWORD dwPasswordSize,
|
|
||||||
LPCWSTR lpDisplayName);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_CreateServiceW(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCWSTR lpServiceName,
|
|
||||||
LPCWSTR lpDisplayName,
|
|
||||||
DWORD dwDesiredAccess,
|
|
||||||
DWORD dwServiceType,
|
|
||||||
DWORD dwStartType,
|
|
||||||
DWORD dwErrorControl,
|
|
||||||
LPCWSTR lpBinaryPathName,
|
|
||||||
LPCWSTR lpLoadOrderGroup,
|
|
||||||
DWORD *lpdwTagId,
|
|
||||||
const BYTE *lpDependencies,
|
|
||||||
DWORD dwDependenciesSize,
|
|
||||||
LPCWSTR lpServiceStartName,
|
|
||||||
const BYTE *lpPassword,
|
|
||||||
DWORD dwPasswordSize,
|
|
||||||
SC_RPC_HANDLE *phService);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumDependentServicesW(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD state,
|
|
||||||
BYTE *services,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size,
|
|
||||||
DWORD *services_ret);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumServicesStatusW(
|
|
||||||
SC_RPC_HANDLE hmngr,
|
|
||||||
DWORD type,
|
|
||||||
DWORD state,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD size,
|
|
||||||
LPDWORD needed,
|
|
||||||
LPDWORD returned,
|
|
||||||
LPDWORD resume);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_OpenSCManagerW(
|
|
||||||
MACHINE_HANDLEW MachineName,
|
|
||||||
LPCWSTR DatabaseName,
|
|
||||||
DWORD dwAccessMask,
|
|
||||||
SC_RPC_HANDLE *handle);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_OpenServiceW(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCWSTR lpServiceName,
|
|
||||||
DWORD dwDesiredAccess,
|
|
||||||
SC_RPC_HANDLE *phService);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceConfigW(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
QUERY_SERVICE_CONFIGW *config,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceLockStatusW(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
QUERY_SERVICE_LOCK_STATUSW *status,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_StartServiceW(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
DWORD dwNumServiceArgs,
|
|
||||||
LPCWSTR *lpServiceArgVectors);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetServiceDisplayNameW(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCWSTR lpServiceName,
|
|
||||||
WCHAR lpBuffer[],
|
|
||||||
DWORD *cchBufSize);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetServiceKeyNameW(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCWSTR lpServiceDisplayName,
|
|
||||||
WCHAR lpBuffer[],
|
|
||||||
DWORD *cchBufSize);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_SCSetServiceBitsA(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ChangeServiceConfigA(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD start_type,
|
|
||||||
DWORD error_control,
|
|
||||||
LPSTR binarypath,
|
|
||||||
LPSTR loadordergroup,
|
|
||||||
DWORD *tagid,
|
|
||||||
BYTE *dependencies,
|
|
||||||
DWORD depend_size,
|
|
||||||
LPSTR startname,
|
|
||||||
BYTE *password,
|
|
||||||
DWORD password_size,
|
|
||||||
LPSTR displayname);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_CreateServiceA(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
LPCSTR servicename,
|
|
||||||
LPCSTR displayname,
|
|
||||||
DWORD desiredaccess,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD start_type,
|
|
||||||
DWORD error_control,
|
|
||||||
LPCSTR binarypath,
|
|
||||||
LPCSTR loadordergroup,
|
|
||||||
DWORD *tagid,
|
|
||||||
const BYTE *dependencies,
|
|
||||||
DWORD depend_size,
|
|
||||||
LPCSTR startname,
|
|
||||||
const BYTE *password,
|
|
||||||
DWORD password_size,
|
|
||||||
SC_RPC_HANDLE *service);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumDependentServicesA(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD state,
|
|
||||||
BYTE *services,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size,
|
|
||||||
DWORD *services_ret);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumServicesStatusA(
|
|
||||||
SC_RPC_HANDLE hmngr,
|
|
||||||
DWORD type,
|
|
||||||
DWORD state,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD size,
|
|
||||||
DWORD *needed,
|
|
||||||
DWORD *returned,
|
|
||||||
DWORD *resume);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_OpenSCManagerA(
|
|
||||||
MACHINE_HANDLEA MachineName,
|
|
||||||
LPCSTR DatabaseName,
|
|
||||||
DWORD dwAccessMask,
|
|
||||||
SC_RPC_HANDLE *handle);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_OpenServiceA(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCSTR lpServiceName,
|
|
||||||
DWORD dwDesiredAccess,
|
|
||||||
SC_RPC_HANDLE *phService);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceConfigA(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
QUERY_SERVICE_CONFIGA *config,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceLockStatusA(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
QUERY_SERVICE_LOCK_STATUSA *status,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_StartServiceA(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD argc,
|
|
||||||
LPCSTR *args);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetServiceDisplayNameA(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCSTR servicename,
|
|
||||||
CHAR buffer[],
|
|
||||||
DWORD *buf_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetServiceKeyNameA(
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
|
||||||
LPCSTR servicename,
|
|
||||||
CHAR buffer[],
|
|
||||||
DWORD *buf_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetCurrentGroupStateW(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumServiceGroupW(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD service_state,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size,
|
|
||||||
DWORD *returned_size,
|
|
||||||
DWORD *resume_index,
|
|
||||||
LPCWSTR groupname);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ChangeServiceConfig2A(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SC_RPC_CONFIG_INFOA info);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ChangeServiceConfig2W(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SC_RPC_CONFIG_INFOW info);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceConfig2A(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD info_level,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceConfig2W(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
DWORD InfoLevel,
|
|
||||||
BYTE lpBuffer[],
|
|
||||||
DWORD cbBufSize,
|
|
||||||
LPDWORD pcbBytesNeeded);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceStatusEx(
|
|
||||||
SC_RPC_HANDLE hService,
|
|
||||||
SC_STATUS_TYPE InfoLevel,
|
|
||||||
BYTE *lpBuffer,
|
|
||||||
DWORD cbBufSize,
|
|
||||||
LPDWORD pcbBytesNeeded);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumServicesStatusExA(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
SC_ENUM_TYPE info_level,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD service_state,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size,
|
|
||||||
DWORD *services_count,
|
|
||||||
DWORD *resume_index,
|
|
||||||
LPCSTR groupname);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_EnumServicesStatusExW(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
SC_ENUM_TYPE info_level,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD service_state,
|
|
||||||
BYTE *buffer,
|
|
||||||
DWORD buf_size,
|
|
||||||
DWORD *needed_size,
|
|
||||||
DWORD *services_count,
|
|
||||||
DWORD *resume_index,
|
|
||||||
LPCWSTR groupname);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown43(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_CreateServiceWOW64A(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
LPCSTR servicename,
|
|
||||||
LPCSTR displayname,
|
|
||||||
DWORD accessmask,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD start_type,
|
|
||||||
DWORD error_control,
|
|
||||||
LPCSTR imagepath,
|
|
||||||
LPCSTR loadordergroup,
|
|
||||||
DWORD *tagid,
|
|
||||||
const BYTE *dependencies,
|
|
||||||
DWORD depend_size,
|
|
||||||
LPCSTR start_name,
|
|
||||||
const BYTE *password,
|
|
||||||
DWORD password_size,
|
|
||||||
SC_RPC_HANDLE *service);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_CreateServiceWOW64W(
|
|
||||||
SC_RPC_HANDLE scmanager,
|
|
||||||
LPCWSTR servicename,
|
|
||||||
LPCWSTR displayname,
|
|
||||||
DWORD accessmask,
|
|
||||||
DWORD service_type,
|
|
||||||
DWORD start_type,
|
|
||||||
DWORD error_control,
|
|
||||||
LPCWSTR imagepath,
|
|
||||||
LPCWSTR loadordergroup,
|
|
||||||
DWORD *tagid,
|
|
||||||
const BYTE *dependencies,
|
|
||||||
DWORD depend_size,
|
|
||||||
LPCWSTR start_name,
|
|
||||||
const BYTE *password,
|
|
||||||
DWORD password_size,
|
|
||||||
SC_RPC_HANDLE *service);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown46(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_NotifyServiceStatusChange(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
SC_RPC_NOTIFY_PARAMS params,
|
|
||||||
GUID *clientprocessguid,
|
|
||||||
GUID *scmprocessguid,
|
|
||||||
BOOL *createremotequeue,
|
|
||||||
SC_NOTIFY_RPC_HANDLE *notify);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_GetNotifyResults(
|
|
||||||
SC_NOTIFY_RPC_HANDLE notify,
|
|
||||||
SC_RPC_NOTIFY_PARAMS_LIST **params);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_CloseNotifyHandle(
|
|
||||||
SC_NOTIFY_RPC_HANDLE *notify,
|
|
||||||
BOOL *apc_fired);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ControlServiceExA(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD control,
|
|
||||||
DWORD info_level,
|
|
||||||
SC_RPC_SERVICE_CONTROL_IN_PARAMSA *in_params,
|
|
||||||
SC_RPC_SERVICE_CONTROL_OUT_PARAMSA *out_params);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_ControlServiceExW(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD control,
|
|
||||||
DWORD info_level,
|
|
||||||
SC_RPC_SERVICE_CONTROL_IN_PARAMSW *in_params,
|
|
||||||
SC_RPC_SERVICE_CONTROL_OUT_PARAMSW *out_params);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown52(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown53(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown54(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_unknown55(
|
|
||||||
void);
|
|
||||||
|
|
||||||
DWORD __cdecl svcctl_QueryServiceConfigEx(
|
|
||||||
SC_RPC_HANDLE service,
|
|
||||||
DWORD info_level,
|
|
||||||
SC_RPC_CONFIG_INFOW *info);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __svcctl_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
handle_t __RPC_USER SVCCTL_HANDLEW_bind(SVCCTL_HANDLEW);
|
|
||||||
void __RPC_USER SVCCTL_HANDLEW_unbind(SVCCTL_HANDLEW, handle_t);
|
|
||||||
handle_t __RPC_USER MACHINE_HANDLEW_bind(MACHINE_HANDLEW);
|
|
||||||
void __RPC_USER MACHINE_HANDLEW_unbind(MACHINE_HANDLEW, handle_t);
|
|
||||||
handle_t __RPC_USER MACHINE_HANDLEA_bind(MACHINE_HANDLEA);
|
|
||||||
void __RPC_USER MACHINE_HANDLEA_unbind(MACHINE_HANDLEA, handle_t);
|
|
||||||
void __RPC_USER SC_RPC_HANDLE_rundown(SC_RPC_HANDLE);
|
|
||||||
void __RPC_USER SC_RPC_LOCK_rundown(SC_RPC_LOCK);
|
|
||||||
void __RPC_USER SC_NOTIFY_RPC_HANDLE_rundown(SC_NOTIFY_RPC_HANDLE);
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __svcctl_h__ */
|
|
||||||
@@ -1,812 +0,0 @@
|
|||||||
/*
|
|
||||||
* svcctl interface definitions - exported by services.exe to access the
|
|
||||||
* services database
|
|
||||||
*
|
|
||||||
* Copyright 2007 Google (Mikolaj Zalewski)
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep header install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
import "wtypes.idl";
|
|
||||||
|
|
||||||
/*
|
|
||||||
* some defined for the C code
|
|
||||||
*/
|
|
||||||
cpp_quote("#include \"winsvc.h\"")
|
|
||||||
cpp_quote("#define SVCCTL_TRANSPORT {'n','c','a','c','n','_','n','p',0}")
|
|
||||||
cpp_quote("#define SVCCTL_TRANSPORTA \"ncacn_np\"")
|
|
||||||
cpp_quote("#define SVCCTL_ENDPOINT {'\\\\','p','i','p','e','\\\\','s','v','c','c','t','l',0}")
|
|
||||||
cpp_quote("#define SVCCTL_ENDPOINTA \"\\\\pipe\\\\svcctl\"")
|
|
||||||
|
|
||||||
/* Not the Windows event name - if needed the true one can be found in Inside Windows */
|
|
||||||
cpp_quote("#define SVCCTL_STARTED_EVENT {'_','_','w','i','n','e','_','S','v','c','c','t','l','S','t','a','r','t','e','d',0}")
|
|
||||||
|
|
||||||
/* Service startup protocol over control pipe - not compatible with Windows */
|
|
||||||
cpp_quote("#define SERVICE_PROTOCOL_MAGIC 0x57494e45")
|
|
||||||
cpp_quote("#define SERVICE_CONTROL_START 0")
|
|
||||||
cpp_quote("#define SERVICE_CONTROL_FORWARD_FLAG 0x80000000")
|
|
||||||
|
|
||||||
typedef struct service_start_info_t
|
|
||||||
{
|
|
||||||
DWORD magic; /* protocol magic */
|
|
||||||
DWORD total_size; /* total request size */
|
|
||||||
DWORD name_size; /* size of name in data buffer */
|
|
||||||
DWORD control; /* control code */
|
|
||||||
BYTE data[1];
|
|
||||||
} service_start_info;
|
|
||||||
|
|
||||||
[
|
|
||||||
uuid(367abb81-9844-35f1-ad32-98f038001003),
|
|
||||||
version(2.0),
|
|
||||||
pointer_default(unique),
|
|
||||||
endpoint("ncacn_np:[\\pipe\\svcctl]")
|
|
||||||
]
|
|
||||||
interface svcctl
|
|
||||||
{
|
|
||||||
/* handle types */
|
|
||||||
typedef [handle] LPCWSTR MACHINE_HANDLEW;
|
|
||||||
typedef [handle] LPCSTR MACHINE_HANDLEA;
|
|
||||||
typedef [handle] LPCWSTR SVCCTL_HANDLEW;
|
|
||||||
typedef [context_handle] void *SC_RPC_HANDLE;
|
|
||||||
typedef [context_handle] void *SC_RPC_LOCK;
|
|
||||||
typedef [context_handle] void *SC_NOTIFY_RPC_HANDLE;
|
|
||||||
|
|
||||||
/* undocumented access rights */
|
|
||||||
cpp_quote("#define SERVICE_SET_STATUS 0x8000")
|
|
||||||
|
|
||||||
cpp_quote("#if 0 /* already defined in winsvc.h / winnt.h */")
|
|
||||||
|
|
||||||
typedef DWORD SECURITY_INFORMATION;
|
|
||||||
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGA {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwStartType;
|
|
||||||
DWORD dwErrorControl;
|
|
||||||
LPSTR lpBinaryPathName;
|
|
||||||
LPSTR lpLoadOrderGroup;
|
|
||||||
DWORD dwTagId;
|
|
||||||
LPSTR lpDependencies;
|
|
||||||
LPSTR lpServiceStartName;
|
|
||||||
LPSTR lpDisplayName;
|
|
||||||
} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
|
|
||||||
|
|
||||||
typedef struct _QUERY_SERVICE_CONFIGW {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwStartType;
|
|
||||||
DWORD dwErrorControl;
|
|
||||||
[unique] LPWSTR lpBinaryPathName;
|
|
||||||
[unique] LPWSTR lpLoadOrderGroup;
|
|
||||||
DWORD dwTagId;
|
|
||||||
[unique] LPWSTR lpDependencies;
|
|
||||||
[unique] LPWSTR lpServiceStartName;
|
|
||||||
[unique] LPWSTR lpDisplayName;
|
|
||||||
} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_STATUS {
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwCurrentState;
|
|
||||||
DWORD dwControlsAccepted;
|
|
||||||
DWORD dwWin32ExitCode;
|
|
||||||
DWORD dwServiceSpecificExitCode;
|
|
||||||
DWORD dwCheckPoint;
|
|
||||||
DWORD dwWaitHint;
|
|
||||||
} SERVICE_STATUS, *LPSERVICE_STATUS;
|
|
||||||
|
|
||||||
typedef enum _SC_STATUS_TYPE {
|
|
||||||
SC_STATUS_PROCESS_INFO = 0
|
|
||||||
} SC_STATUS_TYPE;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONA {
|
|
||||||
LPSTR lpDescription;
|
|
||||||
} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_DESCRIPTIONW {
|
|
||||||
LPWSTR lpDescription;
|
|
||||||
} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
|
|
||||||
|
|
||||||
typedef enum _SC_ACTION_TYPE {
|
|
||||||
SC_ACTION_NONE = 0,
|
|
||||||
SC_ACTION_RESTART = 1,
|
|
||||||
SC_ACTION_REBOOT = 2,
|
|
||||||
SC_ACTION_RUN_COMMAND = 3
|
|
||||||
} SC_ACTION_TYPE;
|
|
||||||
|
|
||||||
typedef struct _SC_ACTION {
|
|
||||||
SC_ACTION_TYPE Type;
|
|
||||||
DWORD Delay;
|
|
||||||
} SC_ACTION,*LPSC_ACTION;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSA {
|
|
||||||
DWORD dwResetPeriod;
|
|
||||||
[unique] LPSTR lpRebootMsg;
|
|
||||||
[unique] LPSTR lpCommand;
|
|
||||||
DWORD cActions;
|
|
||||||
[size_is(cActions)] SC_ACTION *lpsaActions;
|
|
||||||
} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONSW {
|
|
||||||
DWORD dwResetPeriod;
|
|
||||||
[unique] LPWSTR lpRebootMsg;
|
|
||||||
[unique] LPWSTR lpCommand;
|
|
||||||
DWORD cActions;
|
|
||||||
[size_is(cActions)] SC_ACTION *lpsaActions;
|
|
||||||
} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_DELAYED_AUTO_START_INFO {
|
|
||||||
BOOL fDelayedAutostart;
|
|
||||||
} SERVICE_DELAYED_AUTO_START_INFO;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_FAILURE_ACTIONS_FLAG {
|
|
||||||
BOOL fFailureActionsOnNonCrashFailures;
|
|
||||||
} SERVICE_FAILURE_ACTIONS_FLAG;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_SID_INFO {
|
|
||||||
DWORD dwServiceSidType;
|
|
||||||
} SERVICE_SID_INFO;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_PRESHUTDOWN_INFO {
|
|
||||||
DWORD dwPreshutdownTimeout;
|
|
||||||
} SERVICE_PRESHUTDOWN_INFO,*LPSERVICE_PRESHUTDOWN_INFO;
|
|
||||||
|
|
||||||
#define SERVICE_CONFIG_DESCRIPTION 1
|
|
||||||
#define SERVICE_CONFIG_FAILURE_ACTIONS 2
|
|
||||||
#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3
|
|
||||||
#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4
|
|
||||||
#define SERVICE_CONFIG_SERVICE_SID_INFO 5
|
|
||||||
#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6
|
|
||||||
#define SERVICE_CONFIG_PRESHUTDOWN_INFO 7
|
|
||||||
|
|
||||||
#define SERVICE_NOTIFY_STATUS_CHANGE_1 1
|
|
||||||
#define SERVICE_NOTIFY_STATUS_CHANGE_2 2
|
|
||||||
|
|
||||||
typedef struct _ENUM_SERVICE_STATUSW {
|
|
||||||
LPWSTR lpServiceName;
|
|
||||||
LPWSTR lpDisplayName;
|
|
||||||
SERVICE_STATUS ServiceStatus;
|
|
||||||
} ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
|
|
||||||
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSA
|
|
||||||
{
|
|
||||||
DWORD fIsLocked;
|
|
||||||
LPSTR lpLockOwner;
|
|
||||||
DWORD dwLockDuration;
|
|
||||||
} QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
|
|
||||||
|
|
||||||
typedef struct _QUERY_SERVICE_LOCK_STATUSW
|
|
||||||
{
|
|
||||||
DWORD fIsLocked;
|
|
||||||
LPWSTR lpLockOwner;
|
|
||||||
DWORD dwLockDuration;
|
|
||||||
} QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_STATUS_PROCESS
|
|
||||||
{
|
|
||||||
DWORD dwServiceType;
|
|
||||||
DWORD dwCurrentState;
|
|
||||||
DWORD dwControlsAccepted;
|
|
||||||
DWORD dwWin32ExitCode;
|
|
||||||
DWORD dwServiceSpecificExitCode;
|
|
||||||
DWORD dwCheckPoint;
|
|
||||||
DWORD dwWaitHint;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
DWORD dwServiceFlags;
|
|
||||||
} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
|
|
||||||
|
|
||||||
typedef enum _SC_ENUM_TYPE {
|
|
||||||
SC_ENUM_PROCESS_INFO = 0
|
|
||||||
} SC_ENUM_TYPE;
|
|
||||||
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
/* internal version of ENUM_SERVICE_STATUSA/W that doesn't depend on pointer size */
|
|
||||||
struct enum_service_status
|
|
||||||
{
|
|
||||||
DWORD service_name;
|
|
||||||
DWORD display_name;
|
|
||||||
SERVICE_STATUS service_status;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct enum_service_status_process
|
|
||||||
{
|
|
||||||
DWORD service_name;
|
|
||||||
DWORD display_name;
|
|
||||||
SERVICE_STATUS_PROCESS service_status_process;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct service_description
|
|
||||||
{
|
|
||||||
USHORT size;
|
|
||||||
WCHAR description[1];
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct _SERVICE_RPC_REQUIRED_PRIVILEGES_INFO {
|
|
||||||
DWORD cbRequiredPrivileges;
|
|
||||||
[size_is(cbRequiredPrivileges)] BYTE *pRequiredPrivileges;
|
|
||||||
} SERVICE_RPC_REQUIRED_PRIVILEGES_INFO;
|
|
||||||
|
|
||||||
typedef struct _SC_RPC_CONFIG_INFOW {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
[switch_is(dwInfoLevel)] union {
|
|
||||||
[case(SERVICE_CONFIG_DESCRIPTION)] SERVICE_DESCRIPTIONW *descr;
|
|
||||||
[case(SERVICE_CONFIG_FAILURE_ACTIONS)] SERVICE_FAILURE_ACTIONSW *actions;
|
|
||||||
[case(SERVICE_CONFIG_DELAYED_AUTO_START_INFO)] SERVICE_DELAYED_AUTO_START_INFO *delayedstart;
|
|
||||||
[case(SERVICE_CONFIG_FAILURE_ACTIONS_FLAG)] SERVICE_FAILURE_ACTIONS_FLAG *actionsflag;
|
|
||||||
[case(SERVICE_CONFIG_SERVICE_SID_INFO)] SERVICE_SID_INFO *sid;
|
|
||||||
[case(SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO)] SERVICE_RPC_REQUIRED_PRIVILEGES_INFO *privinfo;
|
|
||||||
[case(SERVICE_CONFIG_PRESHUTDOWN_INFO)] SERVICE_PRESHUTDOWN_INFO *preshutdown;
|
|
||||||
};
|
|
||||||
} SC_RPC_CONFIG_INFOW;
|
|
||||||
|
|
||||||
typedef struct _SC_RPC_CONFIG_INFOA {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
[switch_is(dwInfoLevel)] union {
|
|
||||||
[case(SERVICE_CONFIG_DESCRIPTION)] SERVICE_DESCRIPTIONA *descr;
|
|
||||||
[case(SERVICE_CONFIG_FAILURE_ACTIONS)] SERVICE_FAILURE_ACTIONSA *actions;
|
|
||||||
[case(SERVICE_CONFIG_DELAYED_AUTO_START_INFO)] SERVICE_DELAYED_AUTO_START_INFO *delayedstart;
|
|
||||||
[case(SERVICE_CONFIG_FAILURE_ACTIONS_FLAG)] SERVICE_FAILURE_ACTIONS_FLAG *actionsflag;
|
|
||||||
[case(SERVICE_CONFIG_SERVICE_SID_INFO)] SERVICE_SID_INFO *sid;
|
|
||||||
[case(SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO)] SERVICE_RPC_REQUIRED_PRIVILEGES_INFO *privinfo;
|
|
||||||
[case(SERVICE_CONFIG_PRESHUTDOWN_INFO)] SERVICE_PRESHUTDOWN_INFO *preshutdown;
|
|
||||||
};
|
|
||||||
} SC_RPC_CONFIG_INFOA;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 {
|
|
||||||
ULONGLONG ullThreadId;
|
|
||||||
DWORD dwNotifyMask;
|
|
||||||
UCHAR CallbackAddressArray[16];
|
|
||||||
UCHAR CallbackParamAddressArray[16];
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
DWORD dwNotificationStatus;
|
|
||||||
DWORD dwSequence;
|
|
||||||
} SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1, *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 {
|
|
||||||
ULONGLONG ullThreadId;
|
|
||||||
DWORD dwNotifyMask;
|
|
||||||
UCHAR CallbackAddressArray[16];
|
|
||||||
UCHAR CallbackParamAddressArray[16];
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
DWORD dwNotificationStatus;
|
|
||||||
DWORD dwSequence;
|
|
||||||
DWORD dwNotificationTriggered;
|
|
||||||
[string] LPWSTR pszServiceNames;
|
|
||||||
} SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2, *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2;
|
|
||||||
|
|
||||||
typedef struct _SC_RPC_NOTIFY_PARAMS {
|
|
||||||
DWORD dwInfoLevel;
|
|
||||||
[switch_is(dwInfoLevel)] union {
|
|
||||||
[case(SERVICE_NOTIFY_STATUS_CHANGE_1)] SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 *params1;
|
|
||||||
[case(SERVICE_NOTIFY_STATUS_CHANGE_2)] SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 *params;
|
|
||||||
};
|
|
||||||
} SC_RPC_NOTIFY_PARAMS;
|
|
||||||
|
|
||||||
typedef struct _SC_RPC_NOTIFY_PARAMS_LIST {
|
|
||||||
DWORD cElements;
|
|
||||||
[size_is(cElements)] SC_RPC_NOTIFY_PARAMS NotifyParamsArray[];
|
|
||||||
} SC_RPC_NOTIFY_PARAMS_LIST, *PSC_RPC_NOTIFY_PARAMS_LIST;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA {
|
|
||||||
DWORD dwReason;
|
|
||||||
[string] LPSTR pszComment;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA, *PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW {
|
|
||||||
DWORD dwReason;
|
|
||||||
[string] LPWSTR pszComment;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW, *PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW;
|
|
||||||
|
|
||||||
typedef [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_IN_PARAMSA {
|
|
||||||
[case(1)] PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA psrInParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_IN_PARAMSA, *PSC_RPC_SERVICE_CONTROL_IN_PARAMSA;
|
|
||||||
|
|
||||||
typedef [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_IN_PARAMSW {
|
|
||||||
[case(1)] PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW psrInParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_IN_PARAMSW, *PSC_RPC_SERVICE_CONTROL_IN_PARAMSW;
|
|
||||||
|
|
||||||
typedef struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS {
|
|
||||||
SERVICE_STATUS_PROCESS ServiceStatus;
|
|
||||||
} SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS, *PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS;
|
|
||||||
|
|
||||||
typedef [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSA {
|
|
||||||
[case(1)] PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_OUT_PARAMSA, *PSC_RPC_SERVICE_CONTROL_OUT_PARAMSA;
|
|
||||||
|
|
||||||
typedef [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSW {
|
|
||||||
[case(1)] PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
|
|
||||||
} SC_RPC_SERVICE_CONTROL_OUT_PARAMSW, *PSC_RPC_SERVICE_CONTROL_OUT_PARAMSW;
|
|
||||||
|
|
||||||
/* Function 0 */
|
|
||||||
DWORD svcctl_CloseServiceHandle(
|
|
||||||
[in,out] SC_RPC_HANDLE *handle
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 1 */
|
|
||||||
DWORD svcctl_ControlService(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[in] DWORD dwControl,
|
|
||||||
[out] SERVICE_STATUS *lpServiceStatus
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 2 */
|
|
||||||
DWORD svcctl_DeleteService(
|
|
||||||
[in] SC_RPC_HANDLE hService
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 3 */
|
|
||||||
DWORD svcctl_LockServiceDatabase(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[out] SC_RPC_LOCK *phLock
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 4 */
|
|
||||||
DWORD svcctl_QueryServiceObjectSecurity(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] SECURITY_INFORMATION info,
|
|
||||||
[out, size_is(buf_size)] BYTE *descriptor,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 5 */
|
|
||||||
DWORD svcctl_SetServiceObjectSecurity(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] SECURITY_INFORMATION info,
|
|
||||||
[in, size_is(buf_size)] BYTE *descriptor,
|
|
||||||
[in] DWORD buf_size
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 6 */
|
|
||||||
DWORD svcctl_QueryServiceStatus(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[out] SERVICE_STATUS *status
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 7 */
|
|
||||||
DWORD svcctl_SetServiceStatus(
|
|
||||||
[in] SC_RPC_HANDLE hServiceStatus,
|
|
||||||
[in] LPSERVICE_STATUS lpServiceStatus
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 8 */
|
|
||||||
DWORD svcctl_UnlockServiceDatabase(
|
|
||||||
[in,out] SC_RPC_LOCK *phLock
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 9 */
|
|
||||||
DWORD svcctl_NotifyBootConfigStatus(
|
|
||||||
[in, string, unique] SVCCTL_HANDLEW machinename,
|
|
||||||
[in] DWORD boot_acceptable
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 10 */
|
|
||||||
DWORD svcctl_SCSetServiceBitsW(/* FIXME */);
|
|
||||||
|
|
||||||
/* Function 11 */
|
|
||||||
DWORD svcctl_ChangeServiceConfigW(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[in] DWORD dwServiceType,
|
|
||||||
[in] DWORD dwStartType,
|
|
||||||
[in] DWORD dwErrorControl,
|
|
||||||
[in,unique] LPCWSTR lpBinaryPathName,
|
|
||||||
[in,unique] LPCWSTR lpLoadOrderGroupKey,
|
|
||||||
[in,out,unique] DWORD *lpdwTagId,
|
|
||||||
[in,unique,size_is(dwDependenciesSize)] const BYTE *lpDependencies,
|
|
||||||
[in] DWORD dwDependenciesSize,
|
|
||||||
[in,unique] LPCWSTR lpServiceStartName,
|
|
||||||
[in,unique,size_is(dwPasswordSize)] const BYTE *lpPassword,
|
|
||||||
[in] DWORD dwPasswordSize,
|
|
||||||
[in,unique] LPCWSTR lpDisplayName
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 12 */
|
|
||||||
DWORD svcctl_CreateServiceW(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCWSTR lpServiceName,
|
|
||||||
[in,unique] LPCWSTR lpDisplayName,
|
|
||||||
[in] DWORD dwDesiredAccess,
|
|
||||||
[in] DWORD dwServiceType,
|
|
||||||
[in] DWORD dwStartType,
|
|
||||||
[in] DWORD dwErrorControl,
|
|
||||||
[in] LPCWSTR lpBinaryPathName,
|
|
||||||
[in,unique] LPCWSTR lpLoadOrderGroup,
|
|
||||||
[in,out,unique] DWORD *lpdwTagId,
|
|
||||||
[in,unique,size_is(dwDependenciesSize)] const BYTE *lpDependencies,
|
|
||||||
[in] DWORD dwDependenciesSize,
|
|
||||||
[in,unique] LPCWSTR lpServiceStartName,
|
|
||||||
[in,unique,size_is(dwPasswordSize)] const BYTE *lpPassword,
|
|
||||||
[in] DWORD dwPasswordSize,
|
|
||||||
[out] SC_RPC_HANDLE *phService
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 13 */
|
|
||||||
DWORD svcctl_EnumDependentServicesW(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD state,
|
|
||||||
[out, size_is(buf_size)] BYTE *services,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size,
|
|
||||||
[out] DWORD *services_ret
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 14 */
|
|
||||||
DWORD svcctl_EnumServicesStatusW(
|
|
||||||
[in] SC_RPC_HANDLE hmngr,
|
|
||||||
[in] DWORD type,
|
|
||||||
[in] DWORD state,
|
|
||||||
[out,size_is(size)] BYTE *buffer,
|
|
||||||
[in] DWORD size,
|
|
||||||
[out] LPDWORD needed,
|
|
||||||
[out] LPDWORD returned,
|
|
||||||
[in,out,unique] LPDWORD resume
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 15 */
|
|
||||||
DWORD svcctl_OpenSCManagerW(
|
|
||||||
[in,unique] MACHINE_HANDLEW MachineName,
|
|
||||||
[in,unique] LPCWSTR DatabaseName,
|
|
||||||
[in] DWORD dwAccessMask,
|
|
||||||
[out] SC_RPC_HANDLE *handle
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 16 */
|
|
||||||
DWORD svcctl_OpenServiceW(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCWSTR lpServiceName,
|
|
||||||
[in] DWORD dwDesiredAccess,
|
|
||||||
[out] SC_RPC_HANDLE *phService
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 17 */
|
|
||||||
DWORD svcctl_QueryServiceConfigW(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[out] QUERY_SERVICE_CONFIGW *config,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size);
|
|
||||||
|
|
||||||
/* Function 18 */
|
|
||||||
DWORD svcctl_QueryServiceLockStatusW(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[out] QUERY_SERVICE_LOCK_STATUSW *status,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 19 */
|
|
||||||
DWORD svcctl_StartServiceW(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[in] DWORD dwNumServiceArgs,
|
|
||||||
[in,unique,size_is(dwNumServiceArgs)] LPCWSTR *lpServiceArgVectors
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 20 */
|
|
||||||
DWORD svcctl_GetServiceDisplayNameW(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCWSTR lpServiceName,
|
|
||||||
[out,string,size_is(*cchBufSize+1)] WCHAR lpBuffer[],
|
|
||||||
[in,out] DWORD *cchBufSize);
|
|
||||||
|
|
||||||
/* Function 21 */
|
|
||||||
DWORD svcctl_GetServiceKeyNameW(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCWSTR lpServiceDisplayName,
|
|
||||||
[out,string,size_is(*cchBufSize+1)] WCHAR lpBuffer[],
|
|
||||||
[in,out] DWORD *cchBufSize);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 22 */
|
|
||||||
DWORD svcctl_SCSetServiceBitsA(/* FIXME */);
|
|
||||||
|
|
||||||
/* Function 23 */
|
|
||||||
DWORD svcctl_ChangeServiceConfigA(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD start_type,
|
|
||||||
[in] DWORD error_control,
|
|
||||||
[in, string, unique] LPSTR binarypath,
|
|
||||||
[in, string, unique] LPSTR loadordergroup,
|
|
||||||
[in, out, unique] DWORD *tagid,
|
|
||||||
[in, unique, size_is(depend_size)] BYTE *dependencies,
|
|
||||||
[in] DWORD depend_size,
|
|
||||||
[in, string, unique] LPSTR startname,
|
|
||||||
[in, unique, size_is(password_size)] BYTE *password,
|
|
||||||
[in] DWORD password_size,
|
|
||||||
[in, string, unique] LPSTR displayname
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 24 */
|
|
||||||
DWORD svcctl_CreateServiceA(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in] LPCSTR servicename,
|
|
||||||
[in, unique] LPCSTR displayname,
|
|
||||||
[in] DWORD desiredaccess,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD start_type,
|
|
||||||
[in] DWORD error_control,
|
|
||||||
[in] LPCSTR binarypath,
|
|
||||||
[in, unique] LPCSTR loadordergroup,
|
|
||||||
[in, out, unique] DWORD *tagid,
|
|
||||||
[in, unique, size_is(depend_size)] const BYTE *dependencies,
|
|
||||||
[in] DWORD depend_size,
|
|
||||||
[in, unique] LPCSTR startname,
|
|
||||||
[in, unique, size_is(password_size)] const BYTE *password,
|
|
||||||
[in] DWORD password_size,
|
|
||||||
[out] SC_RPC_HANDLE *service
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 25 */
|
|
||||||
DWORD svcctl_EnumDependentServicesA(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD state,
|
|
||||||
[out, size_is(buf_size)] BYTE *services,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size,
|
|
||||||
[out] DWORD *services_ret
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 26 */
|
|
||||||
DWORD svcctl_EnumServicesStatusA(
|
|
||||||
[in] SC_RPC_HANDLE hmngr,
|
|
||||||
[in] DWORD type,
|
|
||||||
[in] DWORD state,
|
|
||||||
[out, size_is(size)] BYTE *buffer,
|
|
||||||
[in] DWORD size,
|
|
||||||
[out] DWORD *needed,
|
|
||||||
[out] DWORD *returned,
|
|
||||||
[in,out,unique] DWORD *resume
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 27 */
|
|
||||||
DWORD svcctl_OpenSCManagerA(
|
|
||||||
[in,unique] MACHINE_HANDLEA MachineName,
|
|
||||||
[in,unique] LPCSTR DatabaseName,
|
|
||||||
[in] DWORD dwAccessMask,
|
|
||||||
[out] SC_RPC_HANDLE *handle
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 28 */
|
|
||||||
DWORD svcctl_OpenServiceA(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCSTR lpServiceName,
|
|
||||||
[in] DWORD dwDesiredAccess,
|
|
||||||
[out] SC_RPC_HANDLE *phService
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 29 */
|
|
||||||
DWORD svcctl_QueryServiceConfigA(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[out] QUERY_SERVICE_CONFIGA *config,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size);
|
|
||||||
|
|
||||||
/* Function 30 */
|
|
||||||
DWORD svcctl_QueryServiceLockStatusA(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[out] QUERY_SERVICE_LOCK_STATUSA *status,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 31 */
|
|
||||||
DWORD svcctl_StartServiceA(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD argc,
|
|
||||||
[in, unique, size_is(argc)] LPCSTR *args
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 32 */
|
|
||||||
DWORD svcctl_GetServiceDisplayNameA(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCSTR servicename,
|
|
||||||
[out, string, size_is(*buf_size+1)] CHAR buffer[],
|
|
||||||
[in, out] DWORD *buf_size);
|
|
||||||
|
|
||||||
/* Function 33 */
|
|
||||||
DWORD svcctl_GetServiceKeyNameA(
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
|
||||||
[in] LPCSTR servicename,
|
|
||||||
[out, string, size_is(*buf_size+1)] CHAR buffer[],
|
|
||||||
[in, out] DWORD *buf_size);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 34 */
|
|
||||||
DWORD svcctl_GetCurrentGroupStateW(/* FIXME */);
|
|
||||||
|
|
||||||
/* Function 35 */
|
|
||||||
DWORD svcctl_EnumServiceGroupW(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD service_state,
|
|
||||||
[out, size_is(buf_size)] BYTE *buffer,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size,
|
|
||||||
[out] DWORD *returned_size,
|
|
||||||
[in, out, unique] DWORD *resume_index,
|
|
||||||
[in, string, unique] LPCWSTR groupname
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 36 */
|
|
||||||
DWORD svcctl_ChangeServiceConfig2A(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] SC_RPC_CONFIG_INFOA info
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 37 */
|
|
||||||
DWORD svcctl_ChangeServiceConfig2W(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] SC_RPC_CONFIG_INFOW info
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 38 */
|
|
||||||
DWORD svcctl_QueryServiceConfig2A(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD info_level,
|
|
||||||
[out, size_is(buf_size)] BYTE *buffer,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 39 */
|
|
||||||
DWORD svcctl_QueryServiceConfig2W(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[in] DWORD InfoLevel,
|
|
||||||
[out,size_is(cbBufSize)] BYTE lpBuffer[],
|
|
||||||
[in] DWORD cbBufSize,
|
|
||||||
[out] LPDWORD pcbBytesNeeded
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 40 */
|
|
||||||
DWORD svcctl_QueryServiceStatusEx(
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
|
||||||
[in] SC_STATUS_TYPE InfoLevel,
|
|
||||||
[out,size_is(cbBufSize)] BYTE *lpBuffer,
|
|
||||||
[in] DWORD cbBufSize,
|
|
||||||
[out] LPDWORD pcbBytesNeeded
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 41 */
|
|
||||||
DWORD svcctl_EnumServicesStatusExA(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in] SC_ENUM_TYPE info_level,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD service_state,
|
|
||||||
[out, size_is(buf_size)] BYTE *buffer,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size,
|
|
||||||
[out] DWORD *services_count,
|
|
||||||
[in, out, unique] DWORD *resume_index,
|
|
||||||
[in, string, unique] LPCSTR groupname
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 42 */
|
|
||||||
DWORD svcctl_EnumServicesStatusExW(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in] SC_ENUM_TYPE info_level,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD service_state,
|
|
||||||
[out, size_is(buf_size)] BYTE *buffer,
|
|
||||||
[in] DWORD buf_size,
|
|
||||||
[out] DWORD *needed_size,
|
|
||||||
[out] DWORD *services_count,
|
|
||||||
[in, out, unique] DWORD *resume_index,
|
|
||||||
[in, string, unique] LPCWSTR groupname
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 43 */
|
|
||||||
DWORD svcctl_unknown43(/*FIXME*/);
|
|
||||||
|
|
||||||
/* Function 44 */
|
|
||||||
DWORD svcctl_CreateServiceWOW64A(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in, string] LPCSTR servicename,
|
|
||||||
[in, string, unique] LPCSTR displayname,
|
|
||||||
[in] DWORD accessmask,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD start_type,
|
|
||||||
[in] DWORD error_control,
|
|
||||||
[in, string] LPCSTR imagepath,
|
|
||||||
[in, string, unique] LPCSTR loadordergroup,
|
|
||||||
[in, out, unique] DWORD *tagid,
|
|
||||||
[in, unique, size_is(depend_size)] const BYTE *dependencies,
|
|
||||||
[in] DWORD depend_size,
|
|
||||||
[in, string, unique] LPCSTR start_name,
|
|
||||||
[in, unique, size_is(password_size)] const BYTE *password,
|
|
||||||
[in] DWORD password_size,
|
|
||||||
[out] SC_RPC_HANDLE *service
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 45 */
|
|
||||||
DWORD svcctl_CreateServiceWOW64W(
|
|
||||||
[in] SC_RPC_HANDLE scmanager,
|
|
||||||
[in, string] LPCWSTR servicename,
|
|
||||||
[in, string, unique] LPCWSTR displayname,
|
|
||||||
[in] DWORD accessmask,
|
|
||||||
[in] DWORD service_type,
|
|
||||||
[in] DWORD start_type,
|
|
||||||
[in] DWORD error_control,
|
|
||||||
[in, string] LPCWSTR imagepath,
|
|
||||||
[in, string, unique] LPCWSTR loadordergroup,
|
|
||||||
[in, out, unique] DWORD *tagid,
|
|
||||||
[in, unique, size_is(depend_size)] const BYTE *dependencies,
|
|
||||||
[in] DWORD depend_size,
|
|
||||||
[in, string, unique] LPCWSTR start_name,
|
|
||||||
[in, unique, size_is(password_size)] const BYTE *password,
|
|
||||||
[in] DWORD password_size,
|
|
||||||
[out] SC_RPC_HANDLE *service
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 46 */
|
|
||||||
DWORD svcctl_unknown46(/*FIXME*/);
|
|
||||||
|
|
||||||
/* Function 47 */
|
|
||||||
DWORD svcctl_NotifyServiceStatusChange(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] SC_RPC_NOTIFY_PARAMS params,
|
|
||||||
[in] GUID *clientprocessguid,
|
|
||||||
[out] GUID *scmprocessguid,
|
|
||||||
[out] BOOL *createremotequeue,
|
|
||||||
[out] SC_NOTIFY_RPC_HANDLE *notify
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 48 */
|
|
||||||
DWORD svcctl_GetNotifyResults(
|
|
||||||
[in] SC_NOTIFY_RPC_HANDLE notify,
|
|
||||||
[out] SC_RPC_NOTIFY_PARAMS_LIST **params
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 49 */
|
|
||||||
DWORD svcctl_CloseNotifyHandle(
|
|
||||||
[in, out] SC_NOTIFY_RPC_HANDLE *notify,
|
|
||||||
[out] BOOL *apc_fired
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 50 */
|
|
||||||
DWORD svcctl_ControlServiceExA(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD control,
|
|
||||||
[in] DWORD info_level,
|
|
||||||
[in, switch_is(info_level)] SC_RPC_SERVICE_CONTROL_IN_PARAMSA *in_params,
|
|
||||||
[out, switch_is(info_level)] SC_RPC_SERVICE_CONTROL_OUT_PARAMSA *out_params
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Function 51 */
|
|
||||||
DWORD svcctl_ControlServiceExW(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD control,
|
|
||||||
[in] DWORD info_level,
|
|
||||||
[in, switch_is(info_level)] SC_RPC_SERVICE_CONTROL_IN_PARAMSW *in_params,
|
|
||||||
[out, switch_is(info_level)] SC_RPC_SERVICE_CONTROL_OUT_PARAMSW *out_params
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 52 */
|
|
||||||
DWORD svcctl_unknown52();
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 53 */
|
|
||||||
DWORD svcctl_unknown53();
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 54 */
|
|
||||||
DWORD svcctl_unknown54();
|
|
||||||
|
|
||||||
/* Not compatible with Windows function 55 */
|
|
||||||
DWORD svcctl_unknown55();
|
|
||||||
|
|
||||||
/* Function 56 */
|
|
||||||
DWORD svcctl_QueryServiceConfigEx(
|
|
||||||
[in] SC_RPC_HANDLE service,
|
|
||||||
[in] DWORD info_level,
|
|
||||||
[out] SC_RPC_CONFIG_INFOW *info
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,452 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2002 Alexandre Julliard
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_ACCCTRL_H
|
|
||||||
#define __WINE_ACCCTRL_H
|
|
||||||
|
|
||||||
#include <wtypes.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef enum _SE_OBJECT_TYPE
|
|
||||||
{
|
|
||||||
SE_UNKNOWN_OBJECT_TYPE = 0,
|
|
||||||
SE_FILE_OBJECT,
|
|
||||||
SE_SERVICE,
|
|
||||||
SE_PRINTER,
|
|
||||||
SE_REGISTRY_KEY,
|
|
||||||
SE_LMSHARE,
|
|
||||||
SE_KERNEL_OBJECT,
|
|
||||||
SE_WINDOW_OBJECT,
|
|
||||||
SE_DS_OBJECT,
|
|
||||||
SE_DS_OBJECT_ALL,
|
|
||||||
SE_PROVIDER_DEFINED_OBJECT,
|
|
||||||
SE_WMIGUID_OBJECT,
|
|
||||||
SE_REGISTRY_WOW64_32KEY,
|
|
||||||
SE_REGISTRY_WOW64_64KEY,
|
|
||||||
} SE_OBJECT_TYPE;
|
|
||||||
|
|
||||||
typedef enum _TRUSTEE_TYPE
|
|
||||||
{
|
|
||||||
TRUSTEE_IS_UNKNOWN,
|
|
||||||
TRUSTEE_IS_USER,
|
|
||||||
TRUSTEE_IS_GROUP,
|
|
||||||
TRUSTEE_IS_DOMAIN,
|
|
||||||
TRUSTEE_IS_ALIAS,
|
|
||||||
TRUSTEE_IS_WELL_KNOWN_GROUP,
|
|
||||||
TRUSTEE_IS_DELETED,
|
|
||||||
TRUSTEE_IS_INVALID,
|
|
||||||
TRUSTEE_IS_COMPUTER
|
|
||||||
} TRUSTEE_TYPE;
|
|
||||||
|
|
||||||
typedef enum _TRUSTEE_FORM
|
|
||||||
{
|
|
||||||
TRUSTEE_IS_SID,
|
|
||||||
TRUSTEE_IS_NAME,
|
|
||||||
TRUSTEE_BAD_FORM,
|
|
||||||
TRUSTEE_IS_OBJECTS_AND_SID,
|
|
||||||
TRUSTEE_IS_OBJECTS_AND_NAME
|
|
||||||
} TRUSTEE_FORM;
|
|
||||||
|
|
||||||
typedef enum _MULTIPLE_TRUSTEE_OPERATION
|
|
||||||
{
|
|
||||||
NO_MULTIPLE_TRUSTEE,
|
|
||||||
TRUSTEE_IS_IMPERSONATE,
|
|
||||||
} MULTIPLE_TRUSTEE_OPERATION;
|
|
||||||
|
|
||||||
typedef struct _OBJECTS_AND_SID
|
|
||||||
{
|
|
||||||
DWORD ObjectsPresent;
|
|
||||||
GUID ObjectTypeGuid;
|
|
||||||
GUID InheritedObjectTypeGuid;
|
|
||||||
SID *pSid;
|
|
||||||
} OBJECTS_AND_SID, *POBJECTS_AND_SID;
|
|
||||||
|
|
||||||
typedef struct _OBJECTS_AND_NAME_A
|
|
||||||
{
|
|
||||||
DWORD ObjectsPresent;
|
|
||||||
SE_OBJECT_TYPE ObjectType;
|
|
||||||
LPSTR ObjectTypeName;
|
|
||||||
LPSTR InheritedObjectTypeName;
|
|
||||||
LPSTR ptstrName;
|
|
||||||
} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
|
|
||||||
|
|
||||||
typedef struct _OBJECTS_AND_NAME_W
|
|
||||||
{
|
|
||||||
DWORD ObjectsPresent;
|
|
||||||
SE_OBJECT_TYPE ObjectType;
|
|
||||||
LPWSTR ObjectTypeName;
|
|
||||||
LPWSTR InheritedObjectTypeName;
|
|
||||||
LPWSTR ptstrName;
|
|
||||||
} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(OBJECTS_AND_NAME_)
|
|
||||||
DECL_WINELIB_TYPE_AW(POBJECTS_AND_NAME_)
|
|
||||||
|
|
||||||
typedef struct _TRUSTEE_A
|
|
||||||
{
|
|
||||||
struct _TRUSTEE_A *pMultipleTrustee;
|
|
||||||
MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
|
|
||||||
TRUSTEE_FORM TrusteeForm;
|
|
||||||
TRUSTEE_TYPE TrusteeType;
|
|
||||||
LPSTR ptstrName;
|
|
||||||
} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA;
|
|
||||||
|
|
||||||
typedef struct _TRUSTEE_W
|
|
||||||
{
|
|
||||||
struct _TRUSTEE_W *pMultipleTrustee;
|
|
||||||
MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
|
|
||||||
TRUSTEE_FORM TrusteeForm;
|
|
||||||
TRUSTEE_TYPE TrusteeType;
|
|
||||||
LPWSTR ptstrName;
|
|
||||||
} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(TRUSTEE_)
|
|
||||||
DECL_WINELIB_TYPE_AW(PTRUSTEE_)
|
|
||||||
DECL_WINELIB_TYPE_AW(TRUSTEE)
|
|
||||||
DECL_WINELIB_TYPE_AW(PTRUSTEE)
|
|
||||||
|
|
||||||
typedef enum _ACCESS_MODE
|
|
||||||
{
|
|
||||||
NOT_USED_ACCESS = 0,
|
|
||||||
GRANT_ACCESS,
|
|
||||||
SET_ACCESS,
|
|
||||||
DENY_ACCESS,
|
|
||||||
REVOKE_ACCESS,
|
|
||||||
SET_AUDIT_SUCCESS,
|
|
||||||
SET_AUDIT_FAILURE
|
|
||||||
} ACCESS_MODE;
|
|
||||||
|
|
||||||
#define NO_INHERITANCE 0x0
|
|
||||||
#define SUB_OBJECTS_ONLY_INHERIT 0x1
|
|
||||||
#define SUB_CONTAINERS_ONLY_INHERIT 0x2
|
|
||||||
#define SUB_CONTAINERS_AND_OBJECTS_INHERIT 0x3
|
|
||||||
#define INHERIT_NO_PROPAGATE 0x4
|
|
||||||
#define INHERIT_ONLY 0x8
|
|
||||||
#define INHERITED_ACCESS_ENTRY 0x10
|
|
||||||
#define INHERITED_PARENT 0x10000000
|
|
||||||
#define INHERITED_GRANDPARENT 0x20000000
|
|
||||||
|
|
||||||
typedef struct _EXPLICIT_ACCESS_A
|
|
||||||
{
|
|
||||||
DWORD grfAccessPermissions;
|
|
||||||
ACCESS_MODE grfAccessMode;
|
|
||||||
DWORD grfInheritance;
|
|
||||||
TRUSTEE_A Trustee;
|
|
||||||
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;
|
|
||||||
|
|
||||||
typedef struct _EXPLICIT_ACCESS_W
|
|
||||||
{
|
|
||||||
DWORD grfAccessPermissions;
|
|
||||||
ACCESS_MODE grfAccessMode;
|
|
||||||
DWORD grfInheritance;
|
|
||||||
TRUSTEE_W Trustee;
|
|
||||||
} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(EXPLICIT_ACCESS_)
|
|
||||||
DECL_WINELIB_TYPE_AW(PEXPLICIT_ACCESS_)
|
|
||||||
DECL_WINELIB_TYPE_AW(EXPLICIT_ACCESS)
|
|
||||||
DECL_WINELIB_TYPE_AW(PEXPLICIT_ACCESS)
|
|
||||||
|
|
||||||
typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS;
|
|
||||||
typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_ENTRYA
|
|
||||||
{
|
|
||||||
TRUSTEE_A Trustee;
|
|
||||||
ULONG fAccessFlags;
|
|
||||||
ACCESS_RIGHTS Access;
|
|
||||||
ACCESS_RIGHTS ProvSpecificAccess;
|
|
||||||
INHERIT_FLAGS Inheritance;
|
|
||||||
LPSTR lpInheritProperty;
|
|
||||||
} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_ENTRYW
|
|
||||||
{
|
|
||||||
TRUSTEE_W Trustee;
|
|
||||||
ULONG fAccessFlags;
|
|
||||||
ACCESS_RIGHTS Access;
|
|
||||||
ACCESS_RIGHTS ProvSpecificAccess;
|
|
||||||
INHERIT_FLAGS Inheritance;
|
|
||||||
LPWSTR lpInheritProperty;
|
|
||||||
} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_ACCESS_ENTRY)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_ACCESS_ENTRY)
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_ENTRY_LISTA
|
|
||||||
{
|
|
||||||
ULONG cEntries;
|
|
||||||
ACTRL_ACCESS_ENTRYA *pAccessList;
|
|
||||||
} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_ENTRY_LISTW
|
|
||||||
{
|
|
||||||
ULONG cEntries;
|
|
||||||
ACTRL_ACCESS_ENTRYW *pAccessList;
|
|
||||||
} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_ACCESS_ENTRY_LIST)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_ACCESS_ENTRY_LIST)
|
|
||||||
|
|
||||||
typedef struct _ACTRL_PROPERTY_ENTRYA
|
|
||||||
{
|
|
||||||
LPSTR lpProperty;
|
|
||||||
PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
|
|
||||||
ULONG fListFlags;
|
|
||||||
} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_PROPERTY_ENTRYW
|
|
||||||
{
|
|
||||||
LPWSTR lpProperty;
|
|
||||||
PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
|
|
||||||
ULONG fListFlags;
|
|
||||||
} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_PROPERTY_ENTRY)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_PROPERTY_ENTRY)
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ALISTA
|
|
||||||
{
|
|
||||||
ULONG cEntries;
|
|
||||||
PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
|
|
||||||
} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ALISTW
|
|
||||||
{
|
|
||||||
ULONG cEntries;
|
|
||||||
PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
|
|
||||||
} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_ACCESS)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_ACCESS)
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_AUDIT)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_AUDIT)
|
|
||||||
|
|
||||||
#define TRUSTEE_ACCESS_ALLOWED 0x00000001
|
|
||||||
#define TRUSTEE_ACCESS_READ 0x00000002
|
|
||||||
#define TRUSTEE_ACCESS_WRITE 0x00000004
|
|
||||||
|
|
||||||
#define TRUSTEE_ACCESS_EXPLICIT 0x00000001
|
|
||||||
#define TRUSTEE_ACCESS_READ_WRITE (TRUSTEE_ACCESS_READ|TRUSTEE_ACCESS_WRITE)
|
|
||||||
#define TRUSTEE_ACCESS_ALL 0xFFFFFFFF
|
|
||||||
|
|
||||||
typedef struct _TRUSTEE_ACCESSA
|
|
||||||
{
|
|
||||||
LPSTR lpProperty;
|
|
||||||
ACCESS_RIGHTS Access;
|
|
||||||
ULONG fAccessFlags;
|
|
||||||
ULONG fReturnedAccess;
|
|
||||||
} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA;
|
|
||||||
|
|
||||||
typedef struct _TRUSTEE_ACCESSW
|
|
||||||
{
|
|
||||||
LPWSTR lpProperty;
|
|
||||||
ACCESS_RIGHTS Access;
|
|
||||||
ULONG fAccessFlags;
|
|
||||||
ULONG fReturnedAccess;
|
|
||||||
} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(TRUSTEE_ACCESS)
|
|
||||||
DECL_WINELIB_TYPE_AW(PTRUSTEE_ACCESS)
|
|
||||||
|
|
||||||
#define ACTRL_RESERVED 0x00000000
|
|
||||||
#define ACTRL_PERM_1 0x00000001
|
|
||||||
#define ACTRL_PERM_2 0x00000002
|
|
||||||
#define ACTRL_PERM_3 0x00000004
|
|
||||||
#define ACTRL_PERM_4 0x00000008
|
|
||||||
#define ACTRL_PERM_5 0x00000010
|
|
||||||
#define ACTRL_PERM_6 0x00000020
|
|
||||||
#define ACTRL_PERM_7 0x00000040
|
|
||||||
#define ACTRL_PERM_8 0x00000080
|
|
||||||
#define ACTRL_PERM_9 0x00000100
|
|
||||||
#define ACTRL_PERM_10 0x00000200
|
|
||||||
#define ACTRL_PERM_11 0x00000400
|
|
||||||
#define ACTRL_PERM_12 0x00000800
|
|
||||||
#define ACTRL_PERM_13 0x00001000
|
|
||||||
#define ACTRL_PERM_14 0x00002000
|
|
||||||
#define ACTRL_PERM_15 0x00004000
|
|
||||||
#define ACTRL_PERM_16 0x00008000
|
|
||||||
#define ACTRL_PERM_17 0x00010000
|
|
||||||
#define ACTRL_PERM_18 0x00020000
|
|
||||||
#define ACTRL_PERM_19 0x00040000
|
|
||||||
#define ACTRL_PERM_20 0x00080000
|
|
||||||
|
|
||||||
#define ACTRL_ACCESS_ALLOWED 0x00000001
|
|
||||||
#define ACTRL_ACCESS_DENIED 0x00000002
|
|
||||||
#define ACTRL_AUDIT_SUCCESS 0x00000004
|
|
||||||
#define ACTRL_AUDIT_FAILURE 0x00000008
|
|
||||||
|
|
||||||
#define ACTRL_ACCESS_PROTECTED 0x00000001
|
|
||||||
|
|
||||||
#define ACTRL_SYSTEM_ACCESS 0x04000000
|
|
||||||
#define ACTRL_DELETE 0x08000000
|
|
||||||
#define ACTRL_READ_CONTROL 0x10000000
|
|
||||||
#define ACTRL_CHANGE_ACCESS 0x20000000
|
|
||||||
#define ACTRL_CHANGE_OWNER 0x40000000
|
|
||||||
#define ACTRL_SYNCHRONIZE 0x80000000
|
|
||||||
#define ACTRL_STD_RIGHTS_ALL 0xf8000000
|
|
||||||
#define ACTRL_STD_RIGHT_REQUIRED (ACTRL_STD_RIGHTS_ALL & ~ACTRL_SYNCHRONIZE)
|
|
||||||
|
|
||||||
#define ACTRL_DS_OPEN ACTRL_RESERVED
|
|
||||||
#define ACTRL_DS_CREATE_CHILD ACTRL_PERM_1
|
|
||||||
#define ACTRL_DS_DELETE_CHILD ACTRL_PERM_2
|
|
||||||
#define ACTRL_DS_LIST ACTRL_PERM_3
|
|
||||||
#define ACTRL_DS_SELF ACTRL_PERM_4
|
|
||||||
#define ACTRL_DS_READ_PROP ACTRL_PERM_5
|
|
||||||
#define ACTRL_DS_WRITE_PROP ACTRL_PERM_6
|
|
||||||
#define ACTRL_DS_DELETE_TREE ACTRL_PERM_7
|
|
||||||
#define ACTRL_DS_LIST_OBJECT ACTRL_PERM_8
|
|
||||||
#define ACTRL_DS_CONTROL_ACCESS ACTRL_PERM_9
|
|
||||||
|
|
||||||
#define ACTRL_FILE_READ ACTRL_PERM_1
|
|
||||||
#define ACTRL_FILE_WRITE ACTRL_PERM_2
|
|
||||||
#define ACTRL_FILE_APPEND ACTRL_PERM_3
|
|
||||||
#define ACTRL_FILE_READ_PROP ACTRL_PERM_4
|
|
||||||
#define ACTRL_FILE_WRITE_PROP ACTRL_PERM_5
|
|
||||||
#define ACTRL_FILE_EXECUTE ACTRL_PERM_6
|
|
||||||
#define ACTRL_FILE_READ_ATTRIB ACTRL_PERM_8
|
|
||||||
#define ACTRL_FILE_WRITE_ATTRIB ACTRL_PERM_9
|
|
||||||
#define ACTRL_FILE_CREATE_PIPE ACTRL_PERM_10
|
|
||||||
#define ACTRL_DIR_LIST ACTRL_PERM_1
|
|
||||||
#define ACTRL_DIR_CREATE_OBJECT ACTRL_PERM_2
|
|
||||||
#define ACTRL_DIR_CREATE_CHILD ACTRL_PERM_3
|
|
||||||
#define ACTRL_DIR_DELETE_CHILD ACTRL_PERM_7
|
|
||||||
#define ACTRL_DIR_TRAVERSE ACTRL_PERM_6
|
|
||||||
#define ACTRL_KERNEL_TERMINATE ACTRL_PERM_1
|
|
||||||
#define ACTRL_KERNEL_THREAD ACTRL_PERM_2
|
|
||||||
#define ACTRL_KERNEL_VM ACTRL_PERM_3
|
|
||||||
#define ACTRL_KERNEL_VM_READ ACTRL_PERM_4
|
|
||||||
#define ACTRL_KERNEL_VM_WRITE ACTRL_PERM_5
|
|
||||||
#define ACTRL_KERNEL_DUP_HANDLE ACTRL_PERM_6
|
|
||||||
#define ACTRL_KERNEL_PROCESS ACTRL_PERM_7
|
|
||||||
#define ACTRL_KERNEL_SET_INFO ACTRL_PERM_8
|
|
||||||
#define ACTRL_KERNEL_GET_INFO ACTRL_PERM_9
|
|
||||||
#define ACTRL_KERNEL_CONTROL ACTRL_PERM_10
|
|
||||||
#define ACTRL_KERNEL_ALERT ACTRL_PERM_11
|
|
||||||
#define ACTRL_KERNEL_GET_CONTEXT ACTRL_PERM_12
|
|
||||||
#define ACTRL_KERNEL_SET_CONTEXT ACTRL_PERM_13
|
|
||||||
#define ACTRL_KERNEL_TOKEN ACTRL_PERM_14
|
|
||||||
#define ACTRL_KERNEL_IMPERSONATE ACTRL_PERM_15
|
|
||||||
#define ACTRL_KERNEL_DIMPERSONATE ACTRL_PERM_16
|
|
||||||
#define ACTRL_PRINT_SADMIN ACTRL_PERM_1
|
|
||||||
#define ACTRL_PRINT_SLIST ACTRL_PERM_2
|
|
||||||
#define ACTRL_PRINT_PADMIN ACTRL_PERM_3
|
|
||||||
#define ACTRL_PRINT_PUSE ACTRL_PERM_4
|
|
||||||
#define ACTRL_PRINT_JADMIN ACTRL_PERM_5
|
|
||||||
#define ACTRL_SVC_GET_INFO ACTRL_PERM_1
|
|
||||||
#define ACTRL_SVC_SET_INFO ACTRL_PERM_2
|
|
||||||
#define ACTRL_SVC_STATUS ACTRL_PERM_3
|
|
||||||
#define ACTRL_SVC_LIST ACTRL_PERM_4
|
|
||||||
#define ACTRL_SVC_START ACTRL_PERM_5
|
|
||||||
#define ACTRL_SVC_STOP ACTRL_PERM_6
|
|
||||||
#define ACTRL_SVC_PAUSE ACTRL_PERM_7
|
|
||||||
#define ACTRL_SVC_INTERROGATE ACTRL_PERM_8
|
|
||||||
#define ACTRL_SVC_UCONTROL ACTRL_PERM_9
|
|
||||||
#define ACTRL_REG_QUERY ACTRL_PERM_1
|
|
||||||
#define ACTRL_REG_SET ACTRL_PERM_2
|
|
||||||
#define ACTRL_REG_CREATE_CHILD ACTRL_PERM_3
|
|
||||||
#define ACTRL_REG_LIST ACTRL_PERM_4
|
|
||||||
#define ACTRL_REG_NOTIFY ACTRL_PERM_5
|
|
||||||
#define ACTRL_REG_LINK ACTRL_PERM_6
|
|
||||||
#define ACTRL_WIN_CLIPBRD ACTRL_PERM_1
|
|
||||||
#define ACTRL_WIN_GLOBAL_ATOMS ACTRL_PERM_2
|
|
||||||
#define ACTRL_WIN_CREATE ACTRL_PERM_3
|
|
||||||
#define ACTRL_WIN_LIST_DESK ACTRL_PERM_4
|
|
||||||
#define ACTRL_WIN_LIST ACTRL_PERM_5
|
|
||||||
#define ACTRL_WIN_READ_ATTRIBS ACTRL_PERM_6
|
|
||||||
#define ACTRL_WIN_WRITE_ATTRIBS ACTRL_PERM_7
|
|
||||||
#define ACTRL_WIN_SCREEN ACTRL_PERM_8
|
|
||||||
#define ACTRL_WIN_EXIT ACTRL_PERM_9
|
|
||||||
|
|
||||||
#define ACTRL_ACCESS_NO_OPTIONS 0x00000000
|
|
||||||
#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES 0x00000001
|
|
||||||
|
|
||||||
typedef struct _ACTRL_OVERLAPPED
|
|
||||||
{
|
|
||||||
union {
|
|
||||||
PVOID Provider;
|
|
||||||
ULONG Reserved1;
|
|
||||||
} DUMMYUNIONNAME;
|
|
||||||
ULONG Reserved2;
|
|
||||||
HANDLE hEvent;
|
|
||||||
} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_INFOA
|
|
||||||
{
|
|
||||||
ULONG fAccessPermission;
|
|
||||||
LPSTR lpAccessPermissionName;
|
|
||||||
} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_ACCESS_INFOW
|
|
||||||
{
|
|
||||||
ULONG fAccessPermission;
|
|
||||||
LPWSTR lpAccessPermissionName;
|
|
||||||
} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_ACCESS_INFO)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_ACCESS_INFO)
|
|
||||||
|
|
||||||
typedef struct _ACTRL_CONTROL_INFOA
|
|
||||||
{
|
|
||||||
LPSTR lpControlId;
|
|
||||||
LPSTR lpControlName;
|
|
||||||
} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA;
|
|
||||||
|
|
||||||
typedef struct _ACTRL_CONTROL_INFOW
|
|
||||||
{
|
|
||||||
LPWSTR lpControlId;
|
|
||||||
LPWSTR lpControlName;
|
|
||||||
} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(ACTRL_CONTROL_INFO)
|
|
||||||
DECL_WINELIB_TYPE_AW(PACTRL_CONTROL_INFO)
|
|
||||||
|
|
||||||
typedef enum _PROGRESS_INVOKE_SETTING {
|
|
||||||
ProgressInvokeNever = 1,
|
|
||||||
ProgressInvokeEveryObject,
|
|
||||||
ProgressInvokeOnError,
|
|
||||||
ProgressCancelOperation,
|
|
||||||
ProgressRetryOperation
|
|
||||||
} PROG_INVOKE_SETTING, *PPROG_INVOKE_SETTING;
|
|
||||||
|
|
||||||
typedef struct _INHERITED_FROMA
|
|
||||||
{
|
|
||||||
LONG GenerationGap;
|
|
||||||
LPSTR AncestorName;
|
|
||||||
} INHERITED_FROMA, *PINHERITED_FROMA;
|
|
||||||
|
|
||||||
typedef struct _INHERITED_FROMW
|
|
||||||
{
|
|
||||||
LONG GenerationGap;
|
|
||||||
LPWSTR AncestorName;
|
|
||||||
} INHERITED_FROMW, *PINHERITED_FROMW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(INHERITED_FROM)
|
|
||||||
DECL_WINELIB_TYPE_AW(PINHERITED_FROM)
|
|
||||||
|
|
||||||
#define AccFree LocalFree
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_ACCCTRL_H */
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2009 Huw Davies
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#pragma makedep install
|
|
||||||
#endif
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(0c733a8c-2a1c-11ce-ade5-00aa0044773d),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IAccessor : IUnknown
|
|
||||||
{
|
|
||||||
|
|
||||||
typedef DWORD DBACCESSORFLAGS;
|
|
||||||
|
|
||||||
typedef DWORD DBBINDSTATUS;
|
|
||||||
|
|
||||||
enum DBACCESSORFLAGSENUM
|
|
||||||
{
|
|
||||||
DBACCESSOR_INVALID = 0x00,
|
|
||||||
DBACCESSOR_PASSBYREF = 0x01,
|
|
||||||
DBACCESSOR_ROWDATA = 0x02,
|
|
||||||
DBACCESSOR_PARAMETERDATA = 0x04,
|
|
||||||
DBACCESSOR_OPTIMIZED = 0x08,
|
|
||||||
DBACCESSOR_INHERITED = 0x10,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum DBBINDSTATUSENUM
|
|
||||||
{
|
|
||||||
DBBINDSTATUS_OK = 0,
|
|
||||||
DBBINDSTATUS_BADORDINAL = 1,
|
|
||||||
DBBINDSTATUS_UNSUPPORTEDCONVERSION = 2,
|
|
||||||
DBBINDSTATUS_BADBINDINFO = 3,
|
|
||||||
DBBINDSTATUS_BADSTORAGEFLAGS = 4,
|
|
||||||
DBBINDSTATUS_NOINTERFACE = 5,
|
|
||||||
DBBINDSTATUS_MULTIPLESTORAGE = 6,
|
|
||||||
};
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT AddRefAccessor([in] HACCESSOR hAccessor,
|
|
||||||
[in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount);
|
|
||||||
|
|
||||||
[call_as(AddRefAccessor)]
|
|
||||||
HRESULT RemoteAddRefAccessor([in] HACCESSOR hAccessor,
|
|
||||||
[in, out, unique] DBREFCOUNT *pcRefCount,
|
|
||||||
[out] IErrorInfo **ppErrorInfoRem);
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT CreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags,
|
|
||||||
[in] DBCOUNTITEM cBindings,
|
|
||||||
[in, size_is(cBindings), annotation("__in_ecount(cBindings)")] const DBBINDING rgBindings[],
|
|
||||||
[in] DBLENGTH cbRowSize,
|
|
||||||
[out, annotation("__out")] HACCESSOR *phAccessor,
|
|
||||||
[out, size_is(cBindings), annotation("__out_ecount_opt(cBindings)")] DBBINDSTATUS rgStatus[]);
|
|
||||||
|
|
||||||
[call_as(CreateAccessor)]
|
|
||||||
HRESULT RemoteCreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags,
|
|
||||||
[in] DBCOUNTITEM cBindings,
|
|
||||||
[in, unique, size_is((ULONG)cBindings)] DBBINDING *rgBindings,
|
|
||||||
[in] DBLENGTH cbRowSize,
|
|
||||||
[out] HACCESSOR *phAccessor,
|
|
||||||
[in, out, unique, size_is((ULONG)cBindings)] DBBINDSTATUS *rgStatus,
|
|
||||||
[out] IErrorInfo **ppErrorInfoRem);
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT GetBindings([in] HACCESSOR hAccessor,
|
|
||||||
[out, annotation("__out")] DBACCESSORFLAGS *pdwAccessorFlags,
|
|
||||||
[in, out, annotation("__out_opt")] DBCOUNTITEM *pcBindings,
|
|
||||||
[out, size_is(,*pcBindings), annotation("__deref_out_ecount_opt(*pcBindings)")] DBBINDING **prgBindings);
|
|
||||||
|
|
||||||
[call_as(GetBindings)]
|
|
||||||
HRESULT RemoteGetBindings([in] HACCESSOR hAccessor,
|
|
||||||
[out] DBACCESSORFLAGS *pdwAccessorFlags,
|
|
||||||
[in, out] DBCOUNTITEM *pcBindings,
|
|
||||||
[out, size_is(,(ULONG)*pcBindings)] DBBINDING **prgBindings,
|
|
||||||
[out] IErrorInfo **ppErrorInfoRem);
|
|
||||||
|
|
||||||
[local]
|
|
||||||
HRESULT ReleaseAccessor([in] HACCESSOR hAccessor,
|
|
||||||
[in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount);
|
|
||||||
|
|
||||||
[call_as(ReleaseAccessor)]
|
|
||||||
HRESULT RemoteReleaseAccessor([in] HACCESSOR hAccessor,
|
|
||||||
[in, out, unique] DBREFCOUNT *pcRefCount,
|
|
||||||
[out] IErrorInfo **ppErrorInfoRem);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2004 Mike McCormack
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_ACLAPI_H
|
|
||||||
#define __WINE_ACLAPI_H
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include <accctrl.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef void (*FN_PROGRESS)(LPWSTR,DWORD,PPROG_INVOKE_SETTING,PVOID,BOOL);
|
|
||||||
|
|
||||||
WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA( PACL, PULONG, PEXPLICIT_ACCESS_A* );
|
|
||||||
WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW( PACL, PULONG, PEXPLICIT_ACCESS_W* );
|
|
||||||
#define GetExplicitEntriesFromAcl WINELIB_NAME_AW(GetExplicitEntriesFromAcl)
|
|
||||||
WINADVAPI DWORD WINAPI GetSecurityInfo( HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
|
|
||||||
WINADVAPI DWORD WINAPI GetSecurityInfoExA(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, LPCSTR, LPCSTR, PACTRL_ACCESSA*, PACTRL_AUDITA*, LPSTR*, LPSTR*);
|
|
||||||
WINADVAPI DWORD WINAPI GetSecurityInfoExW(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, LPCWSTR, LPCWSTR, PACTRL_ACCESSW*, PACTRL_AUDITW*, LPWSTR*, LPWSTR*);
|
|
||||||
#define GetSecurityInfoEx WINELIB_NAME_AW(GetSecurityInfoEx)
|
|
||||||
WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(const char *, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
|
|
||||||
WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(const WCHAR *, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
|
|
||||||
#define GetNamedSecurityInfo WINELIB_NAME_AW(GetNamedSecurityInfo)
|
|
||||||
WINADVAPI DWORD WINAPI SetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID, PSID, PACL, PACL);
|
|
||||||
WINADVAPI DWORD WINAPI SetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID, PSID, PACL, PACL);
|
|
||||||
#define SetNamedSecurityInfo WINELIB_NAME_AW(SetNamedSecurityInfo)
|
|
||||||
WINADVAPI DWORD WINAPI SetEntriesInAclA( ULONG, PEXPLICIT_ACCESSA, PACL, PACL*);
|
|
||||||
WINADVAPI DWORD WINAPI SetEntriesInAclW( ULONG, PEXPLICIT_ACCESSW, PACL, PACL*);
|
|
||||||
#define SetEntriesInAcl WINELIB_NAME_AW(SetEntriesInAcl)
|
|
||||||
WINADVAPI DWORD WINAPI SetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID, PSID, PACL, PACL);
|
|
||||||
WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormA( PTRUSTEEA );
|
|
||||||
WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormW( PTRUSTEEW );
|
|
||||||
#define GetTrusteeForm WINELIB_NAME_AW(GetTrusteeForm)
|
|
||||||
WINADVAPI LPSTR WINAPI GetTrusteeNameA( PTRUSTEEA );
|
|
||||||
WINADVAPI LPWSTR WINAPI GetTrusteeNameW( PTRUSTEEW );
|
|
||||||
#define GetTrusteeName WINELIB_NAME_AW(GetTrusteeName)
|
|
||||||
WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeA( PTRUSTEEA );
|
|
||||||
WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeW( PTRUSTEEW );
|
|
||||||
#define GetTrusteeType WINELIB_NAME_AW(GetTrusteeType)
|
|
||||||
WINADVAPI DWORD WINAPI BuildSecurityDescriptorA( PTRUSTEEA, PTRUSTEEA, ULONG, PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR, PULONG, PSECURITY_DESCRIPTOR* );
|
|
||||||
WINADVAPI DWORD WINAPI BuildSecurityDescriptorW( PTRUSTEEW, PTRUSTEEW, ULONG, PEXPLICIT_ACCESS_W, ULONG, PEXPLICIT_ACCESS_W, PSECURITY_DESCRIPTOR, PULONG, PSECURITY_DESCRIPTOR* );
|
|
||||||
#define BuildSecurityDescriptor WINELIB_NAME_AW(BuildSecurityDescriptor)
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithNameA( PTRUSTEEA, LPSTR );
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithNameW( PTRUSTEEW, LPWSTR );
|
|
||||||
#define BuildTrusteeWithName WINELIB_NAME_AW(BuildTrusteeWithName)
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEEA, POBJECTS_AND_NAME_A, SE_OBJECT_TYPE, LPSTR, LPSTR, LPSTR);
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEEW, POBJECTS_AND_NAME_W, SE_OBJECT_TYPE, LPWSTR, LPWSTR, LPWSTR);
|
|
||||||
#define BuildTrusteeWithObjectsAndName WINELIB_NAME_AW(BuildTrusteeWithObjectsAndName)
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEEA, POBJECTS_AND_SID, GUID*, GUID*, PSID);
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEEW, POBJECTS_AND_SID, GUID*, GUID*, PSID);
|
|
||||||
#define BuildTrusteeWithObjectsAndSid WINELIB_NAME_AW(BuildTrusteeWithObjectsAndSid)
|
|
||||||
WINADVAPI void WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA, LPSTR, DWORD, ACCESS_MODE, DWORD);
|
|
||||||
WINADVAPI void WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW, LPWSTR, DWORD, ACCESS_MODE, DWORD);
|
|
||||||
#define BuildExplicitAccessWithName WINELIB_NAME_AW(BuildExplicitAccessWithName)
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithSidA(PTRUSTEEA pTrustee, PSID pSid);
|
|
||||||
WINADVAPI void WINAPI BuildTrusteeWithSidW(PTRUSTEEW pTrustee, PSID pSid);
|
|
||||||
#define BuildTrusteeWithSid WINELIB_NAME_AW(BuildTrusteeWithSid)
|
|
||||||
WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
|
|
||||||
WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
|
|
||||||
#define GetEffectiveRightsFromAcl WINELIB_NAME_AW(GetEffectiveRightsFromAcl)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_ACLAPI_H */
|
|
||||||
@@ -1,238 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2009 Nikolay Sivov
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_ACLUI_H
|
|
||||||
#define __WINE_ACLUI_H
|
|
||||||
|
|
||||||
#include <objbase.h>
|
|
||||||
#include <commctrl.h>
|
|
||||||
#include <accctrl.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
typedef struct _SI_OBJECT_INFO
|
|
||||||
{
|
|
||||||
DWORD dwFlags;
|
|
||||||
HINSTANCE hInstance;
|
|
||||||
LPWSTR pszServerName;
|
|
||||||
LPWSTR pszObjectName;
|
|
||||||
LPWSTR pszPageTitle;
|
|
||||||
GUID guidObjectType;
|
|
||||||
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;
|
|
||||||
|
|
||||||
#define SI_EDIT_PERMS 0x00000000
|
|
||||||
#define SI_EDIT_OWNER 0x00000001
|
|
||||||
#define SI_EDIT_AUDITS 0x00000002
|
|
||||||
#define SI_CONTAINER 0x00000004
|
|
||||||
#define SI_READONLY 0x00000008
|
|
||||||
#define SI_ADVANCED 0x00000010
|
|
||||||
#define SI_RESET 0x00000020
|
|
||||||
#define SI_OWNER_READONLY 0x00000040
|
|
||||||
#define SI_EDIT_PROPERTIES 0x00000080
|
|
||||||
#define SI_OWNER_RECURSE 0x00000100
|
|
||||||
#define SI_NO_ACL_PROTECT 0x00000200
|
|
||||||
#define SI_NO_TREE_APPLY 0x00000400
|
|
||||||
#define SI_PAGE_TITLE 0x00000800
|
|
||||||
#define SI_SERVER_IS_DC 0x00001000
|
|
||||||
#define SI_RESET_DACL_TREE 0x00004000
|
|
||||||
#define SI_RESET_SACL_TREE 0x00008000
|
|
||||||
#define SI_OBJECT_GUID 0x00010000
|
|
||||||
#define SI_EDIT_EFFECTIVE 0x00020000
|
|
||||||
#define SI_RESET_DACL 0x00040000
|
|
||||||
#define SI_RESET_SACL 0x00080000
|
|
||||||
#define SI_RESET_OWNER 0x00100000
|
|
||||||
#define SI_NO_ADDITIONAL_PERMISSION 0x00200000
|
|
||||||
#define SI_VIEW_ONLY 0x00400000
|
|
||||||
#define SI_PERMS_ELEVATION_REQUIRED 0x01000000
|
|
||||||
#define SI_AUDITS_ELEVATION_REQUIRED 0x02000000
|
|
||||||
#define SI_OWNER_ELEVATION_REQUIRED 0x04000000
|
|
||||||
#define SI_MAY_WRITE 0x10000000
|
|
||||||
|
|
||||||
#define SI_EDIT_ALL (SI_EDIT_PERMS | SI_EDIT_OWNER | SI_EDIT_AUDITS)
|
|
||||||
|
|
||||||
typedef struct _SI_ACCESS
|
|
||||||
{
|
|
||||||
const GUID *pguid;
|
|
||||||
ACCESS_MASK mask;
|
|
||||||
LPCWSTR pszName;
|
|
||||||
DWORD dwFlags;
|
|
||||||
} SI_ACCESS, *PSI_ACCESS;
|
|
||||||
|
|
||||||
#define SI_ACCESS_SPECIFIC 0x00010000
|
|
||||||
#define SI_ACCESS_GENERAL 0x00020000
|
|
||||||
#define SI_ACCESS_CONTAINER 0x00040000
|
|
||||||
#define SI_ACCESS_PROPERTY 0x00080000
|
|
||||||
|
|
||||||
typedef struct _SI_INHERIT_TYPE
|
|
||||||
{
|
|
||||||
const GUID *pguid;
|
|
||||||
ULONG dwFlags;
|
|
||||||
LPCWSTR pszName;
|
|
||||||
} SI_INHERIT_TYPE, *PSI_INHERIT_TYPE;
|
|
||||||
|
|
||||||
typedef enum _SI_PAGE_TYPE
|
|
||||||
{
|
|
||||||
SI_PAGE_PERM,
|
|
||||||
SI_PAGE_ADVPERM,
|
|
||||||
SI_PAGE_AUDIT,
|
|
||||||
SI_PAGE_OWNER,
|
|
||||||
SI_PAGE_EFFECTIVE,
|
|
||||||
SI_PAGE_TAKEOWNERSHIP
|
|
||||||
} SI_PAGE_TYPE;
|
|
||||||
|
|
||||||
#define PSPCB_SI_INITDIALOG (WM_USER + 1)
|
|
||||||
|
|
||||||
#undef INTERFACE
|
|
||||||
#define INTERFACE ISecurityInformation
|
|
||||||
DECLARE_INTERFACE_IID_(ISecurityInformation, IUnknown, "965fc360-16ff-11d0-91cb-00aa00bbb723")
|
|
||||||
{
|
|
||||||
/* IUnknown methods */
|
|
||||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
||||||
|
|
||||||
/* ISecurityInformation methods */
|
|
||||||
STDMETHOD(GetObjectInformation) (THIS_ PSI_OBJECT_INFO pObjectInfo ) PURE;
|
|
||||||
STDMETHOD(GetSecurity) (THIS_ SECURITY_INFORMATION RequestedInformation,
|
|
||||||
PSECURITY_DESCRIPTOR *ppSecurityDescriptor,
|
|
||||||
BOOL fDefault ) PURE;
|
|
||||||
STDMETHOD(SetSecurity) (THIS_ SECURITY_INFORMATION SecurityInformation,
|
|
||||||
PSECURITY_DESCRIPTOR pSecurityDescriptor ) PURE;
|
|
||||||
STDMETHOD(GetAccessRights) (THIS_ const GUID* pguidObjectType,
|
|
||||||
DWORD dwFlags,
|
|
||||||
PSI_ACCESS *ppAccess,
|
|
||||||
ULONG *pcAccesses,
|
|
||||||
ULONG *piDefaultAccess ) PURE;
|
|
||||||
STDMETHOD(MapGeneric) (THIS_ const GUID *pguidObjectType,
|
|
||||||
UCHAR *pAceFlags,
|
|
||||||
ACCESS_MASK *pMask) PURE;
|
|
||||||
STDMETHOD(GetInheritTypes) (THIS_ PSI_INHERIT_TYPE *ppInheritTypes,
|
|
||||||
ULONG *pcInheritTypes ) PURE;
|
|
||||||
STDMETHOD(PropertySheetPageCallback)(THIS_ HWND hwnd, UINT uMsg, SI_PAGE_TYPE uPage ) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
typedef ISecurityInformation *LPSECURITYINFO;
|
|
||||||
|
|
||||||
#define INTERFACE ISecurityInformation2
|
|
||||||
DECLARE_INTERFACE_IID_(ISecurityInformation2, IUnknown, "c3ccfdb4-6f88-11d2-a3ce-00c04fb1782a")
|
|
||||||
{
|
|
||||||
/* IUnknown methods */
|
|
||||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
||||||
|
|
||||||
/* ISecurityInformation2 methods */
|
|
||||||
STDMETHOD_(BOOL,IsDaclCanonical) (THIS_ PACL pDacl) PURE;
|
|
||||||
STDMETHOD(LookupSids) (THIS_ ULONG cSids, PSID *rgpSids, LPDATAOBJECT *ppdo) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
typedef ISecurityInformation2 *LPSECURITYINFO2;
|
|
||||||
|
|
||||||
#define CFSTR_ACLUI_SID_INFO_LIST TEXT("CFSTR_ACLUI_SID_INFO_LIST")
|
|
||||||
|
|
||||||
typedef struct _SID_INFO
|
|
||||||
{
|
|
||||||
PSID pSid;
|
|
||||||
PWSTR pwzCommonName;
|
|
||||||
PWSTR pwzClass;
|
|
||||||
PWSTR pwzUPN;
|
|
||||||
} SID_INFO, *PSID_INFO;
|
|
||||||
|
|
||||||
typedef struct _SID_INFO_LIST
|
|
||||||
{
|
|
||||||
ULONG cItems;
|
|
||||||
SID_INFO aSidInfo[ANYSIZE_ARRAY];
|
|
||||||
} SID_INFO_LIST, *PSID_INFO_LIST;
|
|
||||||
|
|
||||||
|
|
||||||
#define INTERFACE IEffectivePermission
|
|
||||||
DECLARE_INTERFACE_IID_(IEffectivePermission, IUnknown, "3853dc76-9f35-407c-88a1-d19344365fbc")
|
|
||||||
{
|
|
||||||
/* IUnknown methods */
|
|
||||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
||||||
|
|
||||||
/* ISecurityInformation methods */
|
|
||||||
STDMETHOD(GetEffectivePermission) (THIS_
|
|
||||||
const GUID* pguidObjectType,
|
|
||||||
PSID pUserSid,
|
|
||||||
LPCWSTR pszServerName,
|
|
||||||
PSECURITY_DESCRIPTOR pSD,
|
|
||||||
POBJECT_TYPE_LIST *ppObjectTypeList,
|
|
||||||
ULONG *pcObjectTypeListLength,
|
|
||||||
PACCESS_MASK *ppGrantedAccessList,
|
|
||||||
ULONG *pcGrantedAccessListLength) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
typedef IEffectivePermission *LPEFFECTIVEPERMISSION;
|
|
||||||
|
|
||||||
#define INTERFACE ISecurityObjectTypeInfo
|
|
||||||
DECLARE_INTERFACE_IID_(ISecurityObjectTypeInfo, IUnknown, "fc3066eb-79ef-444b-9111-d18a75ebf2fa")
|
|
||||||
{
|
|
||||||
/* IUnknown methods */
|
|
||||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
||||||
|
|
||||||
/* ISecurityInformation methods */
|
|
||||||
STDMETHOD(GetInheritSource)(THIS_ SECURITY_INFORMATION si,
|
|
||||||
PACL pACL,
|
|
||||||
#ifndef WINE_NO_UNICODE_MACROS
|
|
||||||
PINHERITED_FROM *ppInheritArray
|
|
||||||
#else
|
|
||||||
PINHERITED_FROMW *ppInheritArray
|
|
||||||
#endif
|
|
||||||
) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
typedef ISecurityObjectTypeInfo *LPSecurityObjectTypeInfo;
|
|
||||||
|
|
||||||
|
|
||||||
#define INTERFACE ISecurityInformation3
|
|
||||||
DECLARE_INTERFACE_IID_(ISecurityInformation3, IUnknown, "e2cdc9cc-31bd-4f8f-8c8b-b641af516a1a")
|
|
||||||
{
|
|
||||||
/* IUnknown methods */
|
|
||||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
||||||
|
|
||||||
/* ISecurityInformation3 methods */
|
|
||||||
STDMETHOD(GetFullResourceName) (THIS_ LPWSTR *ppszResourceName) PURE;
|
|
||||||
STDMETHOD(OpenElevatedEditor) (THIS_ HWND hWnd, SI_PAGE_TYPE uPage) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
typedef ISecurityInformation3 *LPSECURITYINFO3;
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_ISecurityInformation, 0x965fc360, 0x16ff, 0x11d0, 0x91, 0xcb, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x23);
|
|
||||||
DEFINE_GUID(IID_ISecurityInformation2, 0xc3ccfdb4, 0x6f88, 0x11d2, 0xa3, 0xce, 0x0, 0xc0, 0x4f, 0xb1, 0x78, 0x2a);
|
|
||||||
DEFINE_GUID(IID_IEffectivePermission, 0x3853dc76, 0x9f35, 0x407c, 0x88, 0xa1, 0xd1, 0x93, 0x44, 0x36, 0x5f, 0xbc);
|
|
||||||
DEFINE_GUID(IID_ISecurityObjectTypeInfo, 0xfc3066eb, 0x79ef, 0x444b, 0x91, 0x11, 0xd1, 0x8a, 0x75, 0xeb, 0xf2, 0xfa);
|
|
||||||
DEFINE_GUID(IID_ISecurityInformation3, 0xe2cdc9cc, 0x31bd, 0x4f8f, 0x8c, 0x8b, 0xb6, 0x41, 0xaf, 0x51, 0x6a, 0x1a);
|
|
||||||
|
|
||||||
HPROPSHEETPAGE WINAPI CreateSecurityPage(LPSECURITYINFO psi);
|
|
||||||
BOOL WINAPI EditSecurity(HWND owner, LPSECURITYINFO psi);
|
|
||||||
HRESULT WINAPI EditSecurityAdvanced(HWND owner, LPSECURITYINFO psi, SI_PAGE_TYPE uSIPage);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif /* __WINE_ACLUI_H */
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/activation.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __activation_h__
|
|
||||||
#define __activation_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
#ifndef __IActivationFactory_FWD_DEFINED__
|
|
||||||
#define __IActivationFactory_FWD_DEFINED__
|
|
||||||
typedef interface IActivationFactory IActivationFactory;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
interface IActivationFactory;
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
#include <inspectable.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IActivationFactory interface
|
|
||||||
*/
|
|
||||||
#ifndef __IActivationFactory_INTERFACE_DEFINED__
|
|
||||||
#define __IActivationFactory_INTERFACE_DEFINED__
|
|
||||||
|
|
||||||
DEFINE_GUID(IID_IActivationFactory, 0x00000035, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
||||||
MIDL_INTERFACE("00000035-0000-0000-c000-000000000046")
|
|
||||||
IActivationFactory : public IInspectable
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE ActivateInstance(
|
|
||||||
IInspectable **instance) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#ifdef __CRT_UUID_DECL
|
|
||||||
__CRT_UUID_DECL(IActivationFactory, 0x00000035, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
typedef struct IActivationFactoryVtbl {
|
|
||||||
BEGIN_INTERFACE
|
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
||||||
IActivationFactory *This,
|
|
||||||
REFIID riid,
|
|
||||||
void **ppvObject);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
||||||
IActivationFactory *This);
|
|
||||||
|
|
||||||
ULONG (STDMETHODCALLTYPE *Release)(
|
|
||||||
IActivationFactory *This);
|
|
||||||
|
|
||||||
/*** IInspectable methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *GetIids)(
|
|
||||||
IActivationFactory *This,
|
|
||||||
ULONG *iidCount,
|
|
||||||
IID **iids);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
|
|
||||||
IActivationFactory *This,
|
|
||||||
HSTRING *className);
|
|
||||||
|
|
||||||
HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
|
|
||||||
IActivationFactory *This,
|
|
||||||
TrustLevel *trustLevel);
|
|
||||||
|
|
||||||
/*** IActivationFactory methods ***/
|
|
||||||
HRESULT (STDMETHODCALLTYPE *ActivateInstance)(
|
|
||||||
IActivationFactory *This,
|
|
||||||
IInspectable **instance);
|
|
||||||
|
|
||||||
END_INTERFACE
|
|
||||||
} IActivationFactoryVtbl;
|
|
||||||
|
|
||||||
interface IActivationFactory {
|
|
||||||
CONST_VTBL IActivationFactoryVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IActivationFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
||||||
#define IActivationFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
||||||
#define IActivationFactory_Release(This) (This)->lpVtbl->Release(This)
|
|
||||||
/*** IInspectable methods ***/
|
|
||||||
#define IActivationFactory_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
|
|
||||||
#define IActivationFactory_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
|
|
||||||
#define IActivationFactory_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
|
|
||||||
/*** IActivationFactory methods ***/
|
|
||||||
#define IActivationFactory_ActivateInstance(This,instance) (This)->lpVtbl->ActivateInstance(This,instance)
|
|
||||||
#else
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
static inline HRESULT IActivationFactory_QueryInterface(IActivationFactory* This,REFIID riid,void **ppvObject) {
|
|
||||||
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
||||||
}
|
|
||||||
static inline ULONG IActivationFactory_AddRef(IActivationFactory* This) {
|
|
||||||
return This->lpVtbl->AddRef(This);
|
|
||||||
}
|
|
||||||
static inline ULONG IActivationFactory_Release(IActivationFactory* This) {
|
|
||||||
return This->lpVtbl->Release(This);
|
|
||||||
}
|
|
||||||
/*** IInspectable methods ***/
|
|
||||||
static inline HRESULT IActivationFactory_GetIids(IActivationFactory* This,ULONG *iidCount,IID **iids) {
|
|
||||||
return This->lpVtbl->GetIids(This,iidCount,iids);
|
|
||||||
}
|
|
||||||
static inline HRESULT IActivationFactory_GetRuntimeClassName(IActivationFactory* This,HSTRING *className) {
|
|
||||||
return This->lpVtbl->GetRuntimeClassName(This,className);
|
|
||||||
}
|
|
||||||
static inline HRESULT IActivationFactory_GetTrustLevel(IActivationFactory* This,TrustLevel *trustLevel) {
|
|
||||||
return This->lpVtbl->GetTrustLevel(This,trustLevel);
|
|
||||||
}
|
|
||||||
/*** IActivationFactory methods ***/
|
|
||||||
static inline HRESULT IActivationFactory_ActivateInstance(IActivationFactory* This,IInspectable **instance) {
|
|
||||||
return This->lpVtbl->ActivateInstance(This,instance);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __IActivationFactory_INTERFACE_DEFINED__ */
|
|
||||||
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __activation_h__ */
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2016 Michael Müller
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
import "inspectable.idl";
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(00000035-0000-0000-c000-000000000046),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActivationFactory : IInspectable
|
|
||||||
{
|
|
||||||
HRESULT ActivateInstance([out] IInspectable **instance);
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/activaut.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __activaut_h__
|
|
||||||
#define __activaut_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
#include <ocidl.h>
|
|
||||||
#include <oleidl.h>
|
|
||||||
#include <oaidl.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _NO_AUTHOR_GUIDS
|
|
||||||
DEFINE_GUID(CATID_ActiveScriptAuthor, 0xaee2a92,0xbcbb,0x11d0,0x8c,0x72,0x0,0xc0,0x4f,0xc2,0xb0,0x85);
|
|
||||||
#endif
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __activaut_h__ */
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2008 Jacek Caban for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DO_NO_IMPORTS
|
|
||||||
import "ocidl.idl";
|
|
||||||
import "oleidl.idl";
|
|
||||||
import "oaidl.idl";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
cpp_quote("#ifndef _NO_AUTHOR_GUIDS")
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CATID_ActiveScriptAuthor, 0xaee2a92,0xbcbb,0x11d0,0x8c,0x72,0x0,0xc0,0x4f,0xc2,0xb0,0x85);")
|
|
||||||
|
|
||||||
cpp_quote("#endif")
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,581 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2008 Jacek Caban for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
import "ocidl.idl";
|
|
||||||
import "activscp.idl";
|
|
||||||
/* import "dbgprop.idl"; */
|
|
||||||
|
|
||||||
interface IDebugDocumentContext;
|
|
||||||
interface IRemoteDebugApplication;
|
|
||||||
interface IEnumDebugCodeContexts;
|
|
||||||
|
|
||||||
/* FIXME: */
|
|
||||||
interface IEnumDebugStackFrames;
|
|
||||||
interface IDebugStackFrame;
|
|
||||||
interface IApplicationDebugger;
|
|
||||||
interface IEnumRemoteDebugApplicationThreads;
|
|
||||||
interface IDebugApplicationNode;
|
|
||||||
interface IEnumDebugExpressionContexts;
|
|
||||||
interface IDebugApplicationThread;
|
|
||||||
interface IDebugSyncOperation;
|
|
||||||
interface IDebugAsyncOperation;
|
|
||||||
interface IDebugStackFrameSniffer;
|
|
||||||
interface IDebugThreadCall32;
|
|
||||||
interface IActiveScriptErrorDebug;
|
|
||||||
interface IProvideExpressionContexts;
|
|
||||||
|
|
||||||
typedef enum tagBREAKPOINT_STATE {
|
|
||||||
BREAKPOINT_DELETED,
|
|
||||||
BREAKPOINT_DISABLED,
|
|
||||||
BREAKPOINT_ENABLED
|
|
||||||
} BREAKPOINT_STATE;
|
|
||||||
|
|
||||||
typedef DWORD APPBREAKFLAGS;
|
|
||||||
|
|
||||||
typedef enum tagBREAKREASON {
|
|
||||||
BREAKREASON_STEP,
|
|
||||||
BREAKREASON_BREAKPOINT,
|
|
||||||
BREAKREASON_DEBUGGER_BLOCK,
|
|
||||||
BREAKREASON_HOST_INITIATED,
|
|
||||||
BREAKREASON_LANGUAGE_INITIATED,
|
|
||||||
BREAKREASON_DEBUGGER_HALT,
|
|
||||||
BREAKREASON_ERROR,
|
|
||||||
BREAKREASON_JIT
|
|
||||||
} BREAKREASON;
|
|
||||||
|
|
||||||
typedef enum tagBREAKRESUME_ACTION {
|
|
||||||
BREAKRESUMEACTION_ABORT,
|
|
||||||
BREAKRESUMEACTION_CONTINUE,
|
|
||||||
BREAKRESUMEACTION_STEP_INTO,
|
|
||||||
BREAKRESUMEACTION_STEP_OVER,
|
|
||||||
BREAKRESUMEACTION_STEP_OUT,
|
|
||||||
BREAKRESUMEACTION_IGNORE
|
|
||||||
} BREAKRESUMEACTION;
|
|
||||||
|
|
||||||
typedef enum tagDOCUMENTNAMETYPE {
|
|
||||||
DOCUMENTNAMETYPE_APPNODE,
|
|
||||||
DOCUMENTNAMETYPE_TITLE,
|
|
||||||
DOCUMENTNAMETYPE_FILE_TAIL,
|
|
||||||
DOCUMENTNAMETYPE_URL
|
|
||||||
} DOCUMENTNAMETYPE;
|
|
||||||
|
|
||||||
typedef enum tagERRORRESUMEACTION {
|
|
||||||
ERRORRESUMEACTION_ReexecuteErrorStatement,
|
|
||||||
ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller,
|
|
||||||
ERRORRESUMEACTION_SkipErrorStatement,
|
|
||||||
} ERRORRESUMEACTION;
|
|
||||||
|
|
||||||
typedef WORD SOURCE_TEXT_ATTR;
|
|
||||||
|
|
||||||
#ifdef INTEROPLIB
|
|
||||||
enum enum_SOURCE_TEXT_ATTR
|
|
||||||
{
|
|
||||||
SOURCETEXT_ATTR_KEYWORD = 0x01,
|
|
||||||
SOURCETEXT_ATTR_COMMENT = 0x02,
|
|
||||||
SOURCETEXT_ATTR_NONSOURCE = 0x04,
|
|
||||||
SOURCETEXT_ATTR_OPERATOR = 0x08,
|
|
||||||
SOURCETEXT_ATTR_NUMBER = 0x10,
|
|
||||||
SOURCETEXT_ATTR_STRING = 0x20,
|
|
||||||
SOURCETEXT_ATTR_FUNCTION_START = 0x40
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_KEYWORD = 0x01;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_COMMENT = 0x02;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NONSOURCE = 0x04;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_OPERATOR = 0x08;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NUMBER = 0x10;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_STRING = 0x20;
|
|
||||||
const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_FUNCTION_START = 0x40;
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IActiveScriptDebug32
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c10-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptDebug32 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetScriptTextAttributes(
|
|
||||||
[in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
|
|
||||||
[in] ULONG uNumCodeChars,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
|
|
||||||
|
|
||||||
HRESULT GetScriptletTextAttributes(
|
|
||||||
[in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
|
|
||||||
[in] ULONG uNumCodeChars,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
|
|
||||||
|
|
||||||
HRESULT EnumCodeContextsOfPosition(
|
|
||||||
[in] DWORD dwSourceContext,
|
|
||||||
[in] ULONG uCharacterOffset,
|
|
||||||
[in] ULONG uNumChars,
|
|
||||||
[out] IEnumDebugCodeContexts **ppescc);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(bc437e23-f5b8-47f4-bb79-7d1ce5483b86),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptDebug64 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetScriptTextAttributes(
|
|
||||||
[in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
|
|
||||||
[in] ULONG uNumCodeChars,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
|
|
||||||
|
|
||||||
HRESULT GetScriptletTextAttributes(
|
|
||||||
[in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
|
|
||||||
[in] ULONG uNumCodeChars,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
|
|
||||||
|
|
||||||
HRESULT EnumCodeContextsOfPosition(
|
|
||||||
[in] DWORDLONG dwSourceContext,
|
|
||||||
[in] ULONG uCharacterOffset,
|
|
||||||
[in] ULONG uNumChars,
|
|
||||||
[out] IEnumDebugCodeContexts **ppescc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugDocumentInfo
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c1f-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDebugDocumentInfo : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetName(
|
|
||||||
[in] DOCUMENTNAMETYPE dnt,
|
|
||||||
[out] BSTR *pbstrName);
|
|
||||||
|
|
||||||
HRESULT GetDocumentClassId(
|
|
||||||
[out] CLSID *pclsidDocument);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugDocument
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c21-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDebugDocument : IDebugDocumentInfo
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugCodeContext
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c13-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDebugCodeContext : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetDocumentContext(
|
|
||||||
[out] IDebugDocumentContext **ppsc);
|
|
||||||
|
|
||||||
HRESULT SetBreakPoint(
|
|
||||||
[in] BREAKPOINT_STATE bps);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IEnumDebugCodeContexts
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c1d-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IEnumDebugCodeContexts : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT Next(
|
|
||||||
[in] ULONG celt,
|
|
||||||
[out] IDebugCodeContext **pscc,
|
|
||||||
[out] ULONG *pceltFetched);
|
|
||||||
|
|
||||||
HRESULT Skip(
|
|
||||||
[in] ULONG celt);
|
|
||||||
|
|
||||||
HRESULT Reset();
|
|
||||||
|
|
||||||
HRESULT Clone(
|
|
||||||
[out] IEnumDebugCodeContexts **ppescc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugDocumentContext
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c28-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDebugDocumentContext : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetDocument(
|
|
||||||
[out] IDebugDocument **ppsd);
|
|
||||||
|
|
||||||
HRESULT EnumCodeContexts(
|
|
||||||
[out] IEnumDebugCodeContexts **ppescc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IRemoteDebugApplicationThread
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c37-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IRemoteDebugApplicationThread : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetSystemThreadId(
|
|
||||||
[out] DWORD *dwThreadId);
|
|
||||||
|
|
||||||
HRESULT GetApplication(
|
|
||||||
[out] IRemoteDebugApplication **pprda);
|
|
||||||
|
|
||||||
HRESULT EnumStackFrames(
|
|
||||||
[out] IEnumDebugStackFrames **ppedsf);
|
|
||||||
|
|
||||||
HRESULT GetDescription(
|
|
||||||
[out] BSTR *pbstrDescription,
|
|
||||||
[out] BSTR *pbstrState);
|
|
||||||
|
|
||||||
HRESULT SetNextStatement(
|
|
||||||
[in] IDebugStackFrame *pStackFrame,
|
|
||||||
[in] IDebugCodeContext *pCodeContext);
|
|
||||||
|
|
||||||
HRESULT GetState(
|
|
||||||
[out] DWORD *pState);
|
|
||||||
|
|
||||||
HRESULT Suspend(
|
|
||||||
[out] DWORD *pdwCount);
|
|
||||||
|
|
||||||
HRESULT Resume(
|
|
||||||
[out] DWORD *pdwCount);
|
|
||||||
|
|
||||||
HRESULT GetSuspendCount(
|
|
||||||
[out] DWORD *pdwCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IRemoteDebugApplication
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c30-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IRemoteDebugApplication : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT ResumeFromBreakPoint(
|
|
||||||
[in] IRemoteDebugApplicationThread *prptFocus,
|
|
||||||
[in] BREAKRESUMEACTION bra,
|
|
||||||
[in] ERRORRESUMEACTION era);
|
|
||||||
|
|
||||||
HRESULT CauseBreak();
|
|
||||||
|
|
||||||
HRESULT ConnectDebugger(
|
|
||||||
[in] IApplicationDebugger *pad);
|
|
||||||
|
|
||||||
HRESULT DisconnectDebugger();
|
|
||||||
|
|
||||||
HRESULT GetDebugger(
|
|
||||||
[out] IApplicationDebugger **pad);
|
|
||||||
|
|
||||||
HRESULT CreateInstanceAtApplication(
|
|
||||||
[in] REFCLSID rclsid,
|
|
||||||
[in] IUnknown *pUnkOuter,
|
|
||||||
[in] DWORD dwClsContext,
|
|
||||||
[in] REFIID riid,
|
|
||||||
[out, iid_is(riid)] IUnknown **ppvObject);
|
|
||||||
|
|
||||||
HRESULT QueryAlive();
|
|
||||||
|
|
||||||
HRESULT EnumThreads(
|
|
||||||
[out] IEnumRemoteDebugApplicationThreads **pperdat);
|
|
||||||
|
|
||||||
HRESULT GetName(
|
|
||||||
[out] BSTR *pbstrName);
|
|
||||||
|
|
||||||
HRESULT GetRootNode(
|
|
||||||
[out] IDebugApplicationNode **ppdanRoot);
|
|
||||||
|
|
||||||
HRESULT EnumGlobalExpressionContexts(
|
|
||||||
[out] IEnumDebugExpressionContexts **ppedec);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugApplication32
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c32-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IDebugApplication32 : IRemoteDebugApplication
|
|
||||||
{
|
|
||||||
HRESULT SetName(
|
|
||||||
[in] LPCOLESTR pstrName);
|
|
||||||
|
|
||||||
HRESULT StepOutComplete();
|
|
||||||
|
|
||||||
HRESULT DebugOutput(
|
|
||||||
[in] LPCOLESTR pstr);
|
|
||||||
|
|
||||||
HRESULT StartDebugSession();
|
|
||||||
|
|
||||||
HRESULT HandleBreakPoint(
|
|
||||||
[in] BREAKREASON br,
|
|
||||||
[out] BREAKRESUMEACTION *pbra);
|
|
||||||
|
|
||||||
HRESULT Close();
|
|
||||||
|
|
||||||
HRESULT GetBreakFlags(
|
|
||||||
[out] APPBREAKFLAGS *pabf,
|
|
||||||
[out] IRemoteDebugApplicationThread **pprdatSteppingThread);
|
|
||||||
|
|
||||||
cpp_quote("#undef GetCurrentThread")
|
|
||||||
HRESULT GetCurrentThread(
|
|
||||||
[out] IDebugApplicationThread **pat);
|
|
||||||
|
|
||||||
HRESULT CreateAsyncDebugOperation(
|
|
||||||
[in] IDebugSyncOperation *psdo,
|
|
||||||
[out] IDebugAsyncOperation **ppado);
|
|
||||||
|
|
||||||
HRESULT AddStackFrameSniffer(
|
|
||||||
[in] IDebugStackFrameSniffer *pdsfs,
|
|
||||||
[out] DWORD *pdwCookie);
|
|
||||||
|
|
||||||
HRESULT RemoveStackFrameSniffer(
|
|
||||||
[in] DWORD dwCookie);
|
|
||||||
|
|
||||||
HRESULT QueryCurrentThreadIsDebuggerThread();
|
|
||||||
|
|
||||||
HRESULT SynchronousCallInDebuggerThread(
|
|
||||||
[in] IDebugThreadCall32 *pptc,
|
|
||||||
[in] DWORD dwParam1,
|
|
||||||
[in] DWORD dwParam2,
|
|
||||||
[in] DWORD dwParam3);
|
|
||||||
|
|
||||||
HRESULT CreateApplicationNode(
|
|
||||||
[out] IDebugApplicationNode **ppdanNew);
|
|
||||||
|
|
||||||
HRESULT FireDebuggerEvent(
|
|
||||||
[in] REFGUID riid,
|
|
||||||
[in] IUnknown *punk);
|
|
||||||
|
|
||||||
HRESULT HandleRuntimeError(
|
|
||||||
[in] IActiveScriptErrorDebug *pErrorDebug,
|
|
||||||
[in] IActiveScriptSite *pScriptSite,
|
|
||||||
[out] BREAKRESUMEACTION *pbra,
|
|
||||||
[out] ERRORRESUMEACTION *perra,
|
|
||||||
[out] BOOL *pfCallOnScriptError);
|
|
||||||
|
|
||||||
BOOL FCanJitDebug();
|
|
||||||
|
|
||||||
BOOL FIsAutoJitDebugEnabled();
|
|
||||||
|
|
||||||
HRESULT AddGlobalExpressionContextProvider(
|
|
||||||
[in] IProvideExpressionContexts *pdsfs,
|
|
||||||
[out] DWORD *pdwCookie);
|
|
||||||
|
|
||||||
HRESULT RemoveGlobalExpressionContextProvider(
|
|
||||||
[in] DWORD dwCookie);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IDebugApplication64
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(4dedc754-04c7-4f10-9e60-16a390fe6e62),
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IDebugApplication64 : IRemoteDebugApplication
|
|
||||||
{
|
|
||||||
HRESULT SetName(
|
|
||||||
[in] LPCOLESTR pstrName);
|
|
||||||
|
|
||||||
HRESULT StepOutComplete();
|
|
||||||
|
|
||||||
HRESULT DebugOutput(
|
|
||||||
[in] LPCOLESTR pstr);
|
|
||||||
|
|
||||||
HRESULT StartDebugSession();
|
|
||||||
|
|
||||||
HRESULT HandleBreakPoint(
|
|
||||||
[in] BREAKREASON br,
|
|
||||||
[out] BREAKRESUMEACTION *pbra);
|
|
||||||
|
|
||||||
HRESULT Close();
|
|
||||||
|
|
||||||
HRESULT GetBreakFlags(
|
|
||||||
[out] APPBREAKFLAGS *pabf,
|
|
||||||
[out] IRemoteDebugApplicationThread **pprdatSteppingThread);
|
|
||||||
|
|
||||||
HRESULT GetCurrentThread(
|
|
||||||
[out] IDebugApplicationThread **pat);
|
|
||||||
|
|
||||||
HRESULT CreateAsyncDebugOperation(
|
|
||||||
[in] IDebugSyncOperation *psdo,
|
|
||||||
[out] IDebugAsyncOperation **ppado);
|
|
||||||
|
|
||||||
HRESULT AddStackFrameSniffer(
|
|
||||||
[in] IDebugStackFrameSniffer *pdsfs,
|
|
||||||
[out] DWORD *pdwCookie);
|
|
||||||
|
|
||||||
HRESULT RemoveStackFrameSniffer(
|
|
||||||
[in] DWORD dwCookie);
|
|
||||||
|
|
||||||
HRESULT QueryCurrentThreadIsDebuggerThread();
|
|
||||||
|
|
||||||
HRESULT SynchronousCallInDebuggerThread(
|
|
||||||
[in] IDebugThreadCall32 *pptc,
|
|
||||||
[in] DWORDLONG dwParam1,
|
|
||||||
[in] DWORDLONG dwParam2,
|
|
||||||
[in] DWORDLONG dwParam3);
|
|
||||||
|
|
||||||
HRESULT CreateApplicationNode(
|
|
||||||
[out] IDebugApplicationNode **ppdanNew);
|
|
||||||
|
|
||||||
HRESULT FireDebuggerEvent(
|
|
||||||
[in] REFGUID riid,
|
|
||||||
[in] IUnknown *punk);
|
|
||||||
|
|
||||||
HRESULT HandleRuntimeError(
|
|
||||||
[in] IActiveScriptErrorDebug *pErrorDebug,
|
|
||||||
[in] IActiveScriptSite *pScriptSite,
|
|
||||||
[out] BREAKRESUMEACTION *pbra,
|
|
||||||
[out] ERRORRESUMEACTION *perra,
|
|
||||||
[out] BOOL *pfCallOnScriptError);
|
|
||||||
|
|
||||||
BOOL FCanJitDebug();
|
|
||||||
|
|
||||||
BOOL FIsAutoJitDebugEnabled();
|
|
||||||
|
|
||||||
HRESULT AddGlobalExpressionContextProvider(
|
|
||||||
[in] IProvideExpressionContexts *pdsfs,
|
|
||||||
[out] DWORDLONG *pdwCookie);
|
|
||||||
|
|
||||||
HRESULT RemoveGlobalExpressionContextProvider(
|
|
||||||
[in] DWORDLONG dwCookie);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IActiveScriptSiteDebug32
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(51973c11-cb0c-11d0-b5c9-00a0244a0e7a),
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IActiveScriptSiteDebug32 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetDocumentContextFromPosition(
|
|
||||||
[in] DWORD dwSourceContext,
|
|
||||||
[in] ULONG uCharacterOffset,
|
|
||||||
[in] ULONG uNumChars,
|
|
||||||
[out] IDebugDocumentContext **ppsc);
|
|
||||||
|
|
||||||
HRESULT GetApplication(
|
|
||||||
[out] IDebugApplication32 **ppda);
|
|
||||||
|
|
||||||
HRESULT GetRootApplicationNode(
|
|
||||||
[out] IDebugApplicationNode **ppdanRoot);
|
|
||||||
|
|
||||||
HRESULT OnScriptErrorDebug(
|
|
||||||
[in] IActiveScriptErrorDebug *pErrorDebug,
|
|
||||||
[out] BOOL *pfEnterDebugger,
|
|
||||||
[out] BOOL *pfCallOnScriptErrorWhenContinuing);
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************
|
|
||||||
* interface IActiveScriptSiteDebug64
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(d6b96b0a-7463-402c-92ac-89984226942f),
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IActiveScriptSiteDebug64 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetDocumentContextFromPosition(
|
|
||||||
[in] DWORDLONG dwSourceContext,
|
|
||||||
[in] ULONG uCharacterOffset,
|
|
||||||
[in] ULONG uNumChars,
|
|
||||||
[out] IDebugDocumentContext **ppsc);
|
|
||||||
|
|
||||||
HRESULT GetApplication(
|
|
||||||
[out] IDebugApplication64 **ppda);
|
|
||||||
|
|
||||||
HRESULT GetRootApplicationNode(
|
|
||||||
[out] IDebugApplicationNode **ppdanRoot);
|
|
||||||
|
|
||||||
HRESULT OnScriptErrorDebug(
|
|
||||||
[in] IActiveScriptErrorDebug *pErrorDebug,
|
|
||||||
[out] BOOL *pfEnterDebugger,
|
|
||||||
[out] BOOL *pfCallOnScriptErrorWhenContinuing);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
|
|
||||||
cpp_quote("#ifdef _WIN64")
|
|
||||||
|
|
||||||
cpp_quote("#define IActiveScriptDebug IActiveScriptDebug64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug64")
|
|
||||||
|
|
||||||
cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
|
|
||||||
|
|
||||||
cpp_quote("#define IDebugApplication IDebugApplication64")
|
|
||||||
cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
|
|
||||||
|
|
||||||
cpp_quote("#else")
|
|
||||||
|
|
||||||
cpp_quote("#define IActiveScriptDebug IActiveScriptDebug32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug32")
|
|
||||||
|
|
||||||
cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")
|
|
||||||
|
|
||||||
cpp_quote("#define IDebugApplication IDebugApplication32")
|
|
||||||
cpp_quote("#define IID_IDebugApplication IID_IDebugApplication32")
|
|
||||||
|
|
||||||
cpp_quote("#endif")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2023 Vitaly Lipatov
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <iads.h>
|
|
||||||
#include <adshlp.h>
|
|
||||||
#include <adserr.h>
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,578 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2004 Kevin Koltzau
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DO_NO_IMPORTS
|
|
||||||
import "ocidl.idl";
|
|
||||||
import "oleidl.idl";
|
|
||||||
import "oaidl.idl";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
cpp_quote("#ifndef _NO_SCRIPT_GUIDS")
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CATID_ActiveScript, 0xf0b7a1a1,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
|
|
||||||
cpp_quote("DEFINE_GUID(CATID_ActiveScriptParse, 0xf0b7a1a2,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
|
|
||||||
cpp_quote("DEFINE_GUID(CATID_ActiveScriptEncode, 0xf0b7a1a3,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);")
|
|
||||||
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
cpp_quote("#define SCRIPTPROP_NAME 0x00000000")
|
|
||||||
cpp_quote("#define SCRIPTPROP_MAJORVERSION 0x00000001")
|
|
||||||
cpp_quote("#define SCRIPTPROP_MINORVERSION 0x00000002")
|
|
||||||
cpp_quote("#define SCRIPTPROP_BUILDNUMBER 0x00000003")
|
|
||||||
cpp_quote("#define SCRIPTPROP_DELAYEDEVENTSINKING 0x00001000")
|
|
||||||
cpp_quote("#define SCRIPTPROP_CATCHEXCEPTION 0x00001001")
|
|
||||||
cpp_quote("#define SCRIPTPROP_CONVERSIONLCID 0x00001002")
|
|
||||||
cpp_quote("#define SCRIPTPROP_HOSTSTACKREQUIRED 0x00001003")
|
|
||||||
cpp_quote("#define SCRIPTPROP_DEBUGGER 0x00001100")
|
|
||||||
cpp_quote("#define SCRIPTPROP_JITDEBUG 0x00001101")
|
|
||||||
cpp_quote("#define SCRIPTPROP_INVOKEVERSIONING 0x00004000")
|
|
||||||
|
|
||||||
cpp_quote("#define SCRIPTPROP_HACK_FIBERSUPPORT 0x70000000")
|
|
||||||
cpp_quote("#define SCRIPTPROP_HACK_TRIDENTEVENTSINK 0x70000001")
|
|
||||||
cpp_quote("#define SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION 0x70000002")
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTLANGUAGEVERSION {
|
|
||||||
SCRIPTLANGUAGEVERSION_DEFAULT = 0,
|
|
||||||
SCRIPTLANGUAGEVERSION_5_7 = 1,
|
|
||||||
SCRIPTLANGUAGEVERSION_5_8 = 2,
|
|
||||||
SCRIPTLANGUAGEVERSION_MAX = 255
|
|
||||||
} SCRIPTLANGUAGEVERSION;
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTSTATE {
|
|
||||||
SCRIPTSTATE_UNINITIALIZED = 0,
|
|
||||||
SCRIPTSTATE_STARTED = 1,
|
|
||||||
SCRIPTSTATE_CONNECTED = 2,
|
|
||||||
SCRIPTSTATE_DISCONNECTED = 3,
|
|
||||||
SCRIPTSTATE_CLOSED = 4,
|
|
||||||
SCRIPTSTATE_INITIALIZED = 5
|
|
||||||
} SCRIPTSTATE;
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTTHREADSTATE {
|
|
||||||
SCRIPTTHREADSTATE_NOTINSCRIPT = 0,
|
|
||||||
SCRIPTTHREADSTATE_RUNNING = 1
|
|
||||||
} SCRIPTTHREADSTATE;
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTUICITEM {
|
|
||||||
SCRIPTUICITEM_INPUTBOX = 1,
|
|
||||||
SCRIPTUICITEM_MSGBOX = 2
|
|
||||||
} SCRIPTUICITEM;
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTUICHANDLING {
|
|
||||||
SCRIPTUICHANDLING_ALLOW = 0,
|
|
||||||
SCRIPTUICHANDLING_NOUIERROR = 1,
|
|
||||||
SCRIPTUICHANDLING_NOUIDEFAULT = 2
|
|
||||||
} SCRIPTUICHANDLING;
|
|
||||||
|
|
||||||
typedef enum tagSCRIPTGCTYPE {
|
|
||||||
SCRIPTGCTYPE_NORMAL = 0,
|
|
||||||
SCRIPTGCTYPE_EXHAUSTIVE = 1
|
|
||||||
} SCRIPTGCTYPE;
|
|
||||||
|
|
||||||
typedef DWORD SCRIPTTHREADID;
|
|
||||||
cpp_quote("#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1)")
|
|
||||||
cpp_quote("#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2)")
|
|
||||||
cpp_quote("#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3)")
|
|
||||||
|
|
||||||
cpp_quote("#define SCRIPTITEM_ISVISIBLE 0x00000002")
|
|
||||||
cpp_quote("#define SCRIPTITEM_ISSOURCE 0x00000004")
|
|
||||||
cpp_quote("#define SCRIPTITEM_GLOBALMEMBERS 0x00000008")
|
|
||||||
cpp_quote("#define SCRIPTITEM_ISPERSISTENT 0x00000040")
|
|
||||||
cpp_quote("#define SCRIPTITEM_CODEONLY 0x00000200")
|
|
||||||
cpp_quote("#define SCRIPTITEM_NOCODE 0x00000400")
|
|
||||||
cpp_quote("#define SCRIPTITEM_ALL_FLAGS (SCRIPTITEM_ISSOURCE | \\")
|
|
||||||
cpp_quote(" SCRIPTITEM_ISVISIBLE | \\")
|
|
||||||
cpp_quote(" SCRIPTITEM_ISPERSISTENT | \\")
|
|
||||||
cpp_quote(" SCRIPTITEM_GLOBALMEMBERS | \\")
|
|
||||||
cpp_quote(" SCRIPTITEM_NOCODE | \\")
|
|
||||||
cpp_quote(" SCRIPTITEM_CODEONLY)")
|
|
||||||
cpp_quote("#define SCRIPTTYPELIB_ISCONTROL 0x00000010")
|
|
||||||
cpp_quote("#define SCRIPTTYPELIB_ISPERSISTENT 0x00000040")
|
|
||||||
cpp_quote("#define SCRIPTTYPELIB_ALL_FLAGS (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT)")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_DELAYEXECUTION 0x00000001")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_ISVISIBLE 0x00000002")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_ISEXPRESSION 0x00000020")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_ISPERSISTENT 0x00000040")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_HOSTMANAGESSOURCE 0x00000080")
|
|
||||||
cpp_quote("#define SCRIPTTEXT_ALL_FLAGS (SCRIPTTEXT_DELAYEXECUTION | \\")
|
|
||||||
cpp_quote(" SCRIPTTEXT_ISVISIBLE | \\")
|
|
||||||
cpp_quote(" SCRIPTTEXT_ISEXPRESSION | \\")
|
|
||||||
cpp_quote(" SCRIPTTEXT_ISPERSISTENT | \\")
|
|
||||||
cpp_quote(" SCRIPTTEXT_HOSTMANAGESSOURCE)")
|
|
||||||
cpp_quote("#define SCRIPTPROC_ISEXPRESSION 0x00000020")
|
|
||||||
cpp_quote("#define SCRIPTPROC_HOSTMANAGESSOURCE 0x00000080")
|
|
||||||
cpp_quote("#define SCRIPTPROC_IMPLICIT_THIS 0x00000100")
|
|
||||||
cpp_quote("#define SCRIPTPROC_IMPLICIT_PARENTS 0x00000200")
|
|
||||||
cpp_quote("#define SCRIPTPROC_ALL_FLAGS (SCRIPTPROC_ISEXPRESSION | \\")
|
|
||||||
cpp_quote(" SCRIPTPROC_HOSTMANAGESSOURCE | \\")
|
|
||||||
cpp_quote(" SCRIPTPROC_IMPLICIT_THIS | \\")
|
|
||||||
cpp_quote(" SCRIPTPROC_IMPLICIT_PARENTS)")
|
|
||||||
cpp_quote("#define SCRIPTINFO_IUNKNOWN 0x00000001")
|
|
||||||
cpp_quote("#define SCRIPTINFO_ITYPEINFO 0x00000002")
|
|
||||||
cpp_quote("#define SCRIPTINFO_ALL_FLAGS (SCRIPTINFO_IUNKNOWN | SCRIPTINFO_ITYPEINFO)")
|
|
||||||
cpp_quote("#define SCRIPTINTERRUPT_DEBUG 0x00000001")
|
|
||||||
cpp_quote("#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002")
|
|
||||||
cpp_quote("#define SCRIPTINTERRUPT_ALL_FLAGS (SCRIPTINTERRUPT_DEBUG | SCRIPTINTERRUPT_RAISEEXCEPTION)")
|
|
||||||
cpp_quote("#define SCRIPTSTAT_STATEMENT_COUNT 1")
|
|
||||||
cpp_quote("#define SCRIPTSTAT_INSTRUCTION_COUNT 2")
|
|
||||||
cpp_quote("#define SCRIPTSTAT_INTSTRUCTION_TIME 3")
|
|
||||||
cpp_quote("#define SCRIPTSTAT_TOTAL_TIME 4")
|
|
||||||
|
|
||||||
cpp_quote("#define SCRIPT_E_RECORDED 0x86664004")
|
|
||||||
cpp_quote("#define SCRIPT_E_REPORTED 0x80020101")
|
|
||||||
cpp_quote("#define SCRIPT_E_PROPAGATE 0x80020102")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(EAE1BA61-A4ED-11cf-8F20-00805F2CD064),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptError : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetExceptionInfo(
|
|
||||||
[out] EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetSourcePosition(
|
|
||||||
[out] DWORD *pdwSourceContext,
|
|
||||||
[out] ULONG *pulLineNumber,
|
|
||||||
[out] LONG *plCharacterPosition
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetSourceLineText(
|
|
||||||
[out] BSTR *pbstrSourceLine
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(DB01A1E3-A42B-11cf-8F20-00805F2CD064),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptSite : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetLCID(
|
|
||||||
[out] LCID *plcid);
|
|
||||||
|
|
||||||
HRESULT GetItemInfo(
|
|
||||||
[in] LPCOLESTR pstrName,
|
|
||||||
[in] DWORD dwReturnMask,
|
|
||||||
[out] IUnknown **ppiunkItem,
|
|
||||||
[out] ITypeInfo **ppti
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetDocVersionString(
|
|
||||||
[out] BSTR *pbstrVersion
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT OnScriptTerminate(
|
|
||||||
[in] const VARIANT *pvarResult,
|
|
||||||
[in] const EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT OnStateChange(
|
|
||||||
[in] SCRIPTSTATE ssScriptState
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT OnScriptError(
|
|
||||||
[in] IActiveScriptError *pscripterror
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT OnEnterScript(void);
|
|
||||||
|
|
||||||
HRESULT OnLeaveScript(void);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("typedef IActiveScriptSite *PIActiveScriptSite;")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(D10F6761-83E9-11cf-8F20-00805F2CD064),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptSiteWindow : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetWindow(
|
|
||||||
[out] HWND *phwnd
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT EnableModeless(
|
|
||||||
[in] BOOL fEnable
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(aedae97e-d7ee-4796-b960-7f092ae844ab),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptSiteUIControl : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetUIBehavior(
|
|
||||||
[in] SCRIPTUICITEM UicItem,
|
|
||||||
[out] SCRIPTUICHANDLING *pUicHandling);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(539698A0-CDCA-11CF-A5EB-00AA0047A063),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptSiteInterruptPoll : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT QueryContinue();
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(BB1A2AE1-A4F9-11cf-8F20-00805F2CD064),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScript : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT SetScriptSite(
|
|
||||||
[in] IActiveScriptSite *pass
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetScriptSite(
|
|
||||||
[in] REFIID riid,
|
|
||||||
[out, iid_is(riid)] void **ppvObject
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT SetScriptState(
|
|
||||||
[in] SCRIPTSTATE ss
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetScriptState(
|
|
||||||
[out] SCRIPTSTATE *pssState
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT Close(void);
|
|
||||||
|
|
||||||
HRESULT AddNamedItem(
|
|
||||||
[in] LPCOLESTR pstrName,
|
|
||||||
[in] DWORD dwFlags
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT AddTypeLib(
|
|
||||||
[in] REFGUID rguidTypeLib,
|
|
||||||
[in] DWORD dwMajor,
|
|
||||||
[in] DWORD dwMinor,
|
|
||||||
[in] DWORD dwFlags
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetScriptDispatch(
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[out] IDispatch **ppdisp
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetCurrentScriptThreadID(
|
|
||||||
[out] SCRIPTTHREADID *pstidThread
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetScriptThreadID(
|
|
||||||
[in] DWORD dwWin32ThreadId,
|
|
||||||
[out] SCRIPTTHREADID *pstidThread
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetScriptThreadState(
|
|
||||||
[in] SCRIPTTHREADID stidThread,
|
|
||||||
[out] SCRIPTTHREADSTATE *pstsState
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT InterruptScriptThread(
|
|
||||||
[in] SCRIPTTHREADID stidThread,
|
|
||||||
[in] const EXCEPINFO *pexcepinfo,
|
|
||||||
[in] DWORD dwFlags
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT Clone(
|
|
||||||
[out] IActiveScript **ppscript
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("typedef IActiveScript *PIActiveScript;")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(BB1A2AE2-A4F9-11cf-8F20-00805F2CD064),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParse32 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT InitNew(void);
|
|
||||||
|
|
||||||
HRESULT AddScriptlet(
|
|
||||||
[in] LPCOLESTR pstrDefaultName,
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] LPCOLESTR pstrSubItemName,
|
|
||||||
[in] LPCOLESTR pstrEventName,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] BSTR *pbstrName,
|
|
||||||
[out] EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT ParseScriptText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] VARIANT *pvarResult,
|
|
||||||
[out] EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(c7ef7658-e1ee-480e-97ea-d52cb4d76d17),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParse64 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT InitNew(void);
|
|
||||||
|
|
||||||
HRESULT AddScriptlet(
|
|
||||||
[in] LPCOLESTR pstrDefaultName,
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] LPCOLESTR pstrSubItemName,
|
|
||||||
[in] LPCOLESTR pstrEventName,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORDLONG dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] BSTR *pbstrName,
|
|
||||||
[out] EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT ParseScriptText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORDLONG dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] VARIANT *pvarResult,
|
|
||||||
[out] EXCEPINFO *pexcepinfo
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("#ifdef _WIN64")
|
|
||||||
cpp_quote("#define IActiveScriptParse IActiveScriptParse64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse64")
|
|
||||||
cpp_quote("#else")
|
|
||||||
cpp_quote("#define IActiveScriptParse IActiveScriptParse32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse32")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
cpp_quote("typedef IActiveScriptParse *PIActiveScriptParse;")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(1CFF0050-6FDD-11d0-9328-00A0C90DCAA9),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedureOld32 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT ParseProcedureText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrFormalParams,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] IDispatch **ppdisp
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(21f57128-08c9-4638-ba12-22d15d88dc5c),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedureOld64 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT ParseProcedureText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrFormalParams,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORDLONG dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] IDispatch **ppdisp
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("#ifdef _WIN64")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld64")
|
|
||||||
cpp_quote("#else")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld32")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(AA5B6A80-B834-11d0-932F-00A0C90DCAA9),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedure32 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT ParseProcedureText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrFormalParams,
|
|
||||||
[in] LPCOLESTR pstrProcedureName,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORD dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] IDispatch **ppdisp
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(c64713b6-e029-4cc5-9200-438b72890b6a),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedure64 : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT ParseProcedureText(
|
|
||||||
[in] LPCOLESTR pstrCode,
|
|
||||||
[in] LPCOLESTR pstrFormalParams,
|
|
||||||
[in] LPCOLESTR pstrProcedureName,
|
|
||||||
[in] LPCOLESTR pstrItemName,
|
|
||||||
[in] IUnknown *punkContext,
|
|
||||||
[in] LPCOLESTR pstrDelimiter,
|
|
||||||
[in] DWORDLONG dwSourceContextCookie,
|
|
||||||
[in] ULONG ulStartingLineNumber,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] IDispatch **ppdisp
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("#ifdef _WIN64")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure64")
|
|
||||||
cpp_quote("#else")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure32")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(71ee5b20-fb04-11d1-b3a8-00a0c911e8b2),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedure2_32 : IActiveScriptParseProcedure32
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(fe7c4271-210c-448d-9f54-76dab7047b28),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptParseProcedure2_64 : IActiveScriptParseProcedure64
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("#ifdef _WIN64")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_64")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_64")
|
|
||||||
cpp_quote("#else")
|
|
||||||
cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_32")
|
|
||||||
cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_32")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IBindEventHandler : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT BindHandler(
|
|
||||||
[in] LPCOLESTR pstrEvent,
|
|
||||||
[in] IDispatch *pdisp
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(B8DA6310-E19B-11d0-933C-00A0C90DCAA9),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptStats : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetStat(
|
|
||||||
[in] DWORD stid,
|
|
||||||
[out] ULONG *pluHi,
|
|
||||||
[out] ULONG *pluLo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT GetStatEx(
|
|
||||||
[in] REFGUID guid,
|
|
||||||
[out] ULONG *pluHi,
|
|
||||||
[out] ULONG *pluLo
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT ResetStats(void);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(4954e0d0-fbc7-11d1-8410-006008c3fbfc),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptProperty : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetProperty(
|
|
||||||
[in] DWORD dwProperty,
|
|
||||||
[in] VARIANT *pvarIndex,
|
|
||||||
[out] VARIANT *pvarValue);
|
|
||||||
|
|
||||||
HRESULT SetProperty(
|
|
||||||
[in] DWORD dwProperty,
|
|
||||||
[in] VARIANT *pvarIndex,
|
|
||||||
[in] VARIANT *pvarValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(6aa2c4a0-2b53-11d4-a2a0-00104bd35090),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IActiveScriptGarbageCollector : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT CollectGarbage(
|
|
||||||
[in] SCRIPTGCTYPE gctype);
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2019 Dmitry Timoshkov
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __ADSERR_H
|
|
||||||
#define __ADSERR_H
|
|
||||||
|
|
||||||
#ifdef RC_INVOKED
|
|
||||||
#define _HRESULT_TYPEDEF_(x) (x)
|
|
||||||
#else
|
|
||||||
#define _HRESULT_TYPEDEF_(x) ((HRESULT)x)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define E_ADS_BAD_PATHNAME _HRESULT_TYPEDEF_(0x80005000)
|
|
||||||
#define E_ADS_INVALID_DOMAIN_OBJECT _HRESULT_TYPEDEF_(0x80005001)
|
|
||||||
#define E_ADS_INVALID_USER_OBJECT _HRESULT_TYPEDEF_(0x80005002)
|
|
||||||
#define E_ADS_INVALID_COMPUTER_OBJECT _HRESULT_TYPEDEF_(0x80005003)
|
|
||||||
#define E_ADS_UNKNOWN_OBJECT _HRESULT_TYPEDEF_(0x80005004)
|
|
||||||
#define E_ADS_PROPERTY_NOT_SET _HRESULT_TYPEDEF_(0x80005005)
|
|
||||||
#define E_ADS_PROPERTY_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80005006)
|
|
||||||
#define E_ADS_PROPERTY_INVALID _HRESULT_TYPEDEF_(0x80005007)
|
|
||||||
#define E_ADS_BAD_PARAMETER _HRESULT_TYPEDEF_(0x80005008)
|
|
||||||
#define E_ADS_OBJECT_UNBOUND _HRESULT_TYPEDEF_(0x80005009)
|
|
||||||
#define E_ADS_PROPERTY_NOT_MODIFIED _HRESULT_TYPEDEF_(0x8000500A)
|
|
||||||
#define E_ADS_PROPERTY_MODIFIED _HRESULT_TYPEDEF_(0x8000500B)
|
|
||||||
#define E_ADS_CANT_CONVERT_DATATYPE _HRESULT_TYPEDEF_(0x8000500C)
|
|
||||||
#define E_ADS_PROPERTY_NOT_FOUND _HRESULT_TYPEDEF_(0x8000500D)
|
|
||||||
#define E_ADS_OBJECT_EXISTS _HRESULT_TYPEDEF_(0x8000500E)
|
|
||||||
#define E_ADS_SCHEMA_VIOLATION _HRESULT_TYPEDEF_(0x8000500F)
|
|
||||||
#define E_ADS_COLUMN_NOT_SET _HRESULT_TYPEDEF_(0x80005010)
|
|
||||||
#define S_ADS_ERRORSOCCURRED _HRESULT_TYPEDEF_(0x00005011)
|
|
||||||
#define S_ADS_NOMORE_ROWS _HRESULT_TYPEDEF_(0x00005012)
|
|
||||||
#define S_ADS_NOMORE_COLUMNS _HRESULT_TYPEDEF_(0x00005013)
|
|
||||||
#define E_ADS_INVALID_FILTER _HRESULT_TYPEDEF_(0x80005014)
|
|
||||||
|
|
||||||
#endif /* __ADSERR_H */
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005 Francois Gouget
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_ADSHLP_H
|
|
||||||
#define __WINE_ADSHLP_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
BOOL WINAPI FreeADsMem(void*);
|
|
||||||
void* WINAPI AllocADsMem(DWORD) __WINE_ALLOC_SIZE(1) __WINE_DEALLOC(FreeADsMem) __WINE_MALLOC;
|
|
||||||
void* WINAPI ReallocADsMem(void*,DWORD,DWORD) __WINE_ALLOC_SIZE(3) __WINE_DEALLOC(FreeADsMem);
|
|
||||||
BOOL WINAPI FreeADsStr(WCHAR*);
|
|
||||||
WCHAR* WINAPI AllocADsStr(WCHAR*) __WINE_DEALLOC(FreeADsStr) __WINE_MALLOC;
|
|
||||||
|
|
||||||
HRESULT WINAPI ADsBuildEnumerator(IADsContainer*,IEnumVARIANT**);
|
|
||||||
HRESULT WINAPI ADsBuildVarArrayStr(LPWSTR*,DWORD,VARIANT*);
|
|
||||||
HRESULT WINAPI ADsBuildVarArrayInt(LPDWORD,DWORD,VARIANT*);
|
|
||||||
HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT*,ULONG,VARIANT*,ULONG*);
|
|
||||||
HRESULT WINAPI ADsGetObject(LPCWSTR,REFIID,VOID**);
|
|
||||||
HRESULT WINAPI ADsOpenObject(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,REFIID,VOID**);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,284 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2004 Huw D M Davies
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef __WINE_ADVPUB_H
|
|
||||||
#define __WINE_ADVPUB_H
|
|
||||||
|
|
||||||
#include <setupapi.h>
|
|
||||||
#include <cfgmgr32.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef S_ASYNCHRONOUS
|
|
||||||
#define S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _CabInfoA
|
|
||||||
{
|
|
||||||
LPSTR pszCab;
|
|
||||||
LPSTR pszInf;
|
|
||||||
LPSTR pszSection;
|
|
||||||
CHAR szSrcPath[MAX_PATH];
|
|
||||||
DWORD dwFlags;
|
|
||||||
} CABINFOA, *PCABINFOA;
|
|
||||||
|
|
||||||
typedef struct _CabInfoW
|
|
||||||
{
|
|
||||||
LPWSTR pszCab;
|
|
||||||
LPWSTR pszInf;
|
|
||||||
LPWSTR pszSection;
|
|
||||||
WCHAR szSrcPath[MAX_PATH];
|
|
||||||
DWORD dwFlags;
|
|
||||||
} CABINFOW, *PCABINFOW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(CABINFO)
|
|
||||||
DECL_WINELIB_TYPE_AW(PCABINFO)
|
|
||||||
|
|
||||||
typedef struct _PERUSERSECTIONA
|
|
||||||
{
|
|
||||||
CHAR szGUID[39 /*MAX_GUID_STRING_LEN*/ + 20];
|
|
||||||
CHAR szDispName[128];
|
|
||||||
CHAR szLocale[10];
|
|
||||||
CHAR szStub[MAX_PATH * 4];
|
|
||||||
CHAR szVersion[32];
|
|
||||||
CHAR szCompID[128];
|
|
||||||
DWORD dwIsInstalled;
|
|
||||||
BOOL bRollback;
|
|
||||||
} PERUSERSECTIONA, *PPERUSERSECTIONA;
|
|
||||||
|
|
||||||
typedef struct _PERUSERSECTIONW
|
|
||||||
{
|
|
||||||
WCHAR szGUID[39 /*MAX_GUID_STRING_LEN*/ + 20];
|
|
||||||
WCHAR szDispName[128];
|
|
||||||
WCHAR szLocale[10];
|
|
||||||
WCHAR szStub[MAX_PATH * 4];
|
|
||||||
WCHAR szVersion[32];
|
|
||||||
WCHAR szCompID[128];
|
|
||||||
DWORD dwIsInstalled;
|
|
||||||
BOOL bRollback;
|
|
||||||
} PERUSERSECTIONW, *PPERUSERSECTIONW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(PERUSERSECTION)
|
|
||||||
DECL_WINELIB_TYPE_AW(PPERUSERSECTION)
|
|
||||||
|
|
||||||
typedef struct _StrEntryA
|
|
||||||
{
|
|
||||||
LPSTR pszName;
|
|
||||||
LPSTR pszValue;
|
|
||||||
} STRENTRYA, *LPSTRENTRYA;
|
|
||||||
|
|
||||||
typedef struct _StrEntryW
|
|
||||||
{
|
|
||||||
LPWSTR pszName;
|
|
||||||
LPWSTR pszValue;
|
|
||||||
} STRENTRYW, *LPSTRENTRYW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(STRENTRY)
|
|
||||||
DECL_WINELIB_TYPE_AW(LPSTRENTRY)
|
|
||||||
|
|
||||||
typedef struct _StrTableA
|
|
||||||
{
|
|
||||||
DWORD cEntries;
|
|
||||||
STRENTRYA* pse;
|
|
||||||
} STRTABLEA, *LPSTRTABLEA;
|
|
||||||
typedef const STRTABLEA CSTRTABLEA, *LPCSTRTABLEA;
|
|
||||||
|
|
||||||
typedef struct _StrTableW
|
|
||||||
{
|
|
||||||
DWORD cEntries;
|
|
||||||
STRENTRYW* pse;
|
|
||||||
} STRTABLEW, *LPSTRTABLEW;
|
|
||||||
typedef const STRTABLEW CSTRTABLEW, *LPCSTRTABLEW;
|
|
||||||
|
|
||||||
DECL_WINELIB_TYPE_AW(STRTABLE)
|
|
||||||
DECL_WINELIB_TYPE_AW(CSTRTABLE)
|
|
||||||
DECL_WINELIB_TYPE_AW(LPSTRTABLE)
|
|
||||||
DECL_WINELIB_TYPE_AW(LPCSTRTABLE)
|
|
||||||
|
|
||||||
/* Flags for AddDelBackupEntry */
|
|
||||||
#define AADBE_ADD_ENTRY 0x01
|
|
||||||
#define AADBE_DEL_ENTRY 0x02
|
|
||||||
|
|
||||||
/* Flags for AdvInstallFile */
|
|
||||||
#define AIF_WARNIFSKIP 0x00000001
|
|
||||||
#define AIF_NOSKIP 0x00000002
|
|
||||||
#define AIF_NOVERSIONCHECK 0x00000004
|
|
||||||
#define AIF_FORCE_FILE_IN_USE 0x00000008
|
|
||||||
#define AIF_NOOVERWRITE 0x00000010
|
|
||||||
#define AIF_NO_VERSION_DIALOG 0x00000020
|
|
||||||
#define AIF_REPLACEONLY 0x00000400
|
|
||||||
#define AIF_NOLANGUAGECHECK 0x10000000
|
|
||||||
#define AIF_QUIET 0x20000000
|
|
||||||
|
|
||||||
/* Flags for RunSetupCommand */
|
|
||||||
#define RSC_FLAG_INF 0x00000001
|
|
||||||
#define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002
|
|
||||||
#define RSC_FLAG_QUIET 0x00000004
|
|
||||||
#define RSC_FLAG_NGCONV 0x00000008
|
|
||||||
#define RSC_FLAG_UPDHLPDLLS 0x00000010
|
|
||||||
#define RSC_FLAG_DELAYREGISTEROCX 0x00000200
|
|
||||||
#define RSC_FLAG_SETUPAPI 0x00000400
|
|
||||||
|
|
||||||
/* Flags for LaunchINFSection */
|
|
||||||
#define LIS_QUIET 0x00000001
|
|
||||||
#define LIS_NOGRPCONV 0x00000002
|
|
||||||
|
|
||||||
/* Flags for DelNode */
|
|
||||||
#define ADN_DEL_IF_EMPTY 0x00000001
|
|
||||||
#define ADN_DONT_DEL_SUBDIRS 0x00000002
|
|
||||||
#define ADN_DONT_DEL_DIR 0x00000004
|
|
||||||
#define ADN_DEL_UNC_PATHS 0x00000008
|
|
||||||
|
|
||||||
/* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */
|
|
||||||
#define IE4_RESTORE 0x00000001
|
|
||||||
#define IE4_BACKNEW 0x00000002
|
|
||||||
#define IE4_NODELETENEW 0x00000004
|
|
||||||
#define IE4_NOMESSAGES 0x00000008
|
|
||||||
#define IE4_NOPROGRESS 0x00000010
|
|
||||||
#define IE4_NOENUMKEY 0x00000020
|
|
||||||
#define IE4_NO_CRC_MAPPING 0x00000040
|
|
||||||
#define IE4_REGSECTION 0x00000080
|
|
||||||
#define IE4_FRDOALL 0x00000100
|
|
||||||
#define IE4_UPDREFCNT 0x00000200
|
|
||||||
#define IE4_USEREFCNT 0x00000400
|
|
||||||
#define IE4_EXTRAINCREFCNT 0x00000800
|
|
||||||
|
|
||||||
/* Flags for file save and restore functions */
|
|
||||||
#define AFSR_RESTORE IE4_RESTORE
|
|
||||||
#define AFSR_BACKNEW IE4_BACKNEW
|
|
||||||
#define AFSR_NODELETENEW IE4_NODELETENEW
|
|
||||||
#define AFSR_NOMESSAGES IE4_NOMESSAGES
|
|
||||||
#define AFSR_NOPROGRESS IE4_NOPROGRESS
|
|
||||||
#define AFSR_UPDREFCNT IE4_UPDREFCNT
|
|
||||||
#define AFSR_USEREFCNT IE4_USEREFCNT
|
|
||||||
#define AFSR_EXTRAINCREFCNT IE4_EXTRAINCREFCNT
|
|
||||||
|
|
||||||
HRESULT WINAPI AddDelBackupEntryA(LPCSTR lpcszFileList, LPCSTR lpcszBackupDir,
|
|
||||||
LPCSTR lpcszBaseName, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI AddDelBackupEntryW(LPCWSTR lpcszFileList, LPCWSTR lpcszBackupDir,
|
|
||||||
LPCWSTR lpcszBaseName, DWORD dwFlags);
|
|
||||||
#define AddDelBackupEntry WINELIB_NAME_AW(AddDelBackupEntry)
|
|
||||||
HRESULT WINAPI AdvInstallFileA(HWND hwnd, LPCSTR lpszSourceDir,
|
|
||||||
LPCSTR lpszSourceFile, LPCSTR lpszDestDir, LPCSTR lpszDestFile,
|
|
||||||
DWORD dwFlags, DWORD dwReserved);
|
|
||||||
HRESULT WINAPI AdvInstallFileW(HWND hwnd, LPCWSTR lpszSourceDir,
|
|
||||||
LPCWSTR lpszSourceFile, LPCWSTR lpszDestDir, LPCWSTR lpszDestFile,
|
|
||||||
DWORD dwFlags, DWORD dwReserved);
|
|
||||||
#define AdvInstallFile WINELIB_NAME_AW(AdvInstallFile)
|
|
||||||
HRESULT WINAPI CloseINFEngine(HINF hInf);
|
|
||||||
HRESULT WINAPI DelNodeA(LPCSTR pszFileOrDirName, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI DelNodeW(LPCWSTR pszFileOrDirName, DWORD dwFlags);
|
|
||||||
#define DelNode WINELIB_NAME_AW(DelNode)
|
|
||||||
HRESULT WINAPI DelNodeRunDLL32A(HWND,HINSTANCE,LPSTR,INT);
|
|
||||||
HRESULT WINAPI DelNodeRunDLL32W(HWND,HINSTANCE,LPWSTR,INT);
|
|
||||||
#define DelNodeRunDLL32 WINELIB_NAME_AW(DelNodeRunDLL32)
|
|
||||||
HRESULT WINAPI ExecuteCabA( HWND hwnd, CABINFOA* pCab, LPVOID pReserved );
|
|
||||||
HRESULT WINAPI ExecuteCabW( HWND hwnd, CABINFOW* pCab, LPVOID pReserved );
|
|
||||||
#define ExecuteCab WINELIB_NAME_AW(ExecuteCab)
|
|
||||||
HRESULT WINAPI ExtractFilesA(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD);
|
|
||||||
HRESULT WINAPI ExtractFilesW(LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPVOID,DWORD);
|
|
||||||
#define ExtractFiles WINELIB_NAME_AW(ExtractFiles)
|
|
||||||
HRESULT WINAPI FileSaveMarkNotExistA(LPSTR pszFileList, LPSTR pszDir, LPSTR pszBaseName);
|
|
||||||
HRESULT WINAPI FileSaveMarkNotExistW(LPWSTR pszFileList, LPWSTR pszDir, LPWSTR pszBaseName);
|
|
||||||
#define FileSaveMarkNotExist WINELIB_NAME_AW(FileSaveMarkNotExist)
|
|
||||||
HRESULT WINAPI FileSaveRestoreA(HWND hDlg, LPSTR pszFileList, LPSTR pszDir,
|
|
||||||
LPSTR pszBaseName, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI FileSaveRestoreW(HWND hDlg, LPWSTR pszFileList, LPWSTR pszDir,
|
|
||||||
LPWSTR pszBaseName, DWORD dwFlags);
|
|
||||||
#define FileSaveRestore WINELIB_NAME_AW(FileSaveRestore)
|
|
||||||
HRESULT WINAPI FileSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
|
|
||||||
LPCSTR pszSection, LPCSTR pszBackupDir, LPCSTR pszBaseBackupFile, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI FileSaveRestoreOnINFW(HWND hWnd, LPCWSTR pszTitle, LPCWSTR pszINF,
|
|
||||||
LPCWSTR pszSection, LPCWSTR pszBackupDir, LPCWSTR pszBaseBackupFile, DWORD dwFlags);
|
|
||||||
#define FileSaveRestoreOnINF WINELIB_NAME_AW(FileSaveRestoreOnINF)
|
|
||||||
HRESULT WINAPI GetVersionFromFileA(LPCSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
|
|
||||||
HRESULT WINAPI GetVersionFromFileW(LPCWSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
|
|
||||||
#define GetVersionFromFile WINELIB_NAME_AW(GetVersionFromFile)
|
|
||||||
HRESULT WINAPI GetVersionFromFileExA(LPCSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
|
|
||||||
HRESULT WINAPI GetVersionFromFileExW(LPCWSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
|
|
||||||
#define GetVersionFromFileEx WINELIB_NAME_AW(GetVersionFromFileEx)
|
|
||||||
BOOL WINAPI IsNTAdmin(DWORD,LPDWORD);
|
|
||||||
INT WINAPI LaunchINFSectionA(HWND,HINSTANCE,LPSTR,INT);
|
|
||||||
INT WINAPI LaunchINFSectionW(HWND,HINSTANCE,LPWSTR,INT);
|
|
||||||
#define LaunchINFSection WINELIB_NAME_AW(LaunchINFSection)
|
|
||||||
HRESULT WINAPI LaunchINFSectionExA(HWND,HINSTANCE,LPSTR,INT);
|
|
||||||
HRESULT WINAPI LaunchINFSectionExW(HWND,HINSTANCE,LPWSTR,INT);
|
|
||||||
#define LaunchINFSectionEx WINELIB_NAME_AW(LaunchINFSectionEx)
|
|
||||||
DWORD WINAPI NeedRebootInit(VOID);
|
|
||||||
BOOL WINAPI NeedReboot(DWORD dwRebootCheck);
|
|
||||||
HRESULT WINAPI OpenINFEngineA(LPCSTR pszInfFilename, LPCSTR pszInstallSection,
|
|
||||||
DWORD dwFlags, HINF *phInf, PVOID pvReserved);
|
|
||||||
HRESULT WINAPI OpenINFEngineW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection,
|
|
||||||
DWORD dwFlags, HINF *phInf, PVOID pvReserved);
|
|
||||||
#define OpenINFEngine WINELIB_NAME_AW(OpenINFEngine)
|
|
||||||
HRESULT WINAPI RebootCheckOnInstallA(HWND hWnd, LPCSTR pszINF, LPCSTR pszSec, DWORD dwReserved);
|
|
||||||
HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF, LPCWSTR pszSec, DWORD dwReserved);
|
|
||||||
#define RebootCheckOnInstall WINELIB_NAME_AW(RebootCheckOnInstall)
|
|
||||||
HRESULT WINAPI RegInstallA(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable);
|
|
||||||
HRESULT WINAPI RegInstallW(HMODULE hm, LPCWSTR pszSection, const STRTABLEW* pstTable);
|
|
||||||
#define RegInstall WINELIB_NAME_AW(RegInstall)
|
|
||||||
HRESULT WINAPI RegRestoreAllA(HWND hWnd, LPSTR pszTitleString, HKEY hkBackupKey);
|
|
||||||
HRESULT WINAPI RegRestoreAllW(HWND hWnd, LPWSTR pszTitleString, HKEY hkBackupKey);
|
|
||||||
#define RegRestoreAll WINELIB_NAME_AW(RegRestoreAll)
|
|
||||||
HRESULT WINAPI RegSaveRestoreA(HWND hWnd, LPCSTR pszTitleString, HKEY hkBackupKey,
|
|
||||||
LPCSTR pcszRootKey, LPCSTR pcszSubKey, LPCSTR pcszValueName, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI RegSaveRestoreW(HWND hWnd, LPCWSTR pszTitleString, HKEY hkBackupKey,
|
|
||||||
LPCWSTR pcszRootKey, LPCWSTR pcszSubKey, LPCWSTR pcszValueName, DWORD dwFlags);
|
|
||||||
#define RegSaveRestore WINELIB_NAME_AW(RegSaveRestore)
|
|
||||||
HRESULT WINAPI RegSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
|
|
||||||
LPCSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
|
|
||||||
HRESULT WINAPI RegSaveRestoreOnINFW(HWND hWnd, LPCWSTR pszTitle, LPCWSTR pszINF,
|
|
||||||
LPCWSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
|
|
||||||
#define RegSaveRestoreOnINF WINELIB_NAME_AW(RegSaveRestoreOnINF)
|
|
||||||
HRESULT WINAPI RunSetupCommandA(HWND hWnd,
|
|
||||||
LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle,
|
|
||||||
HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
|
|
||||||
HRESULT WINAPI RunSetupCommandW(HWND hWnd,
|
|
||||||
LPCWSTR szCmdName, LPCWSTR szInfSection, LPCWSTR szDir, LPCWSTR lpszTitle,
|
|
||||||
HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
|
|
||||||
#define RunSetupCommand WINELIB_NAME_AW(RunSetupCommand)
|
|
||||||
HRESULT WINAPI SetPerUserSecValuesA(PERUSERSECTIONA* pPerUser);
|
|
||||||
HRESULT WINAPI SetPerUserSecValuesW(PERUSERSECTIONW* pPerUser);
|
|
||||||
#define SetPerUserSecValues WINELIB_NAME_AW(SetPerUserSecValues)
|
|
||||||
HRESULT WINAPI TranslateInfStringA(LPCSTR pszInfFilename, LPCSTR pszInstallSection,
|
|
||||||
LPCSTR pszTranslateSection, LPCSTR pszTranslateKey, LPSTR pszBuffer,
|
|
||||||
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
|
|
||||||
HRESULT WINAPI TranslateInfStringW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection,
|
|
||||||
LPCWSTR pszTranslateSection, LPCWSTR pszTranslateKey, LPWSTR pszBuffer,
|
|
||||||
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
|
|
||||||
#define TranslateInfString WINELIB_NAME_AW(TranslateInfString)
|
|
||||||
HRESULT WINAPI TranslateInfStringExA(HINF hInf, LPCSTR pszInfFilename,
|
|
||||||
LPCSTR pszTranslateSection, LPCSTR pszTranslateKey, LPSTR pszBuffer,
|
|
||||||
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
|
|
||||||
HRESULT WINAPI TranslateInfStringExW(HINF hInf, LPCWSTR pszInfFilename,
|
|
||||||
LPCWSTR pszTranslateSection, LPCWSTR pszTranslateKey, LPWSTR pszBuffer,
|
|
||||||
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
|
|
||||||
#define TranslateInfStringEx WINELIB_NAME_AW(TranslateInfStringEx)
|
|
||||||
HRESULT WINAPI UserInstStubWrapperA(HWND hWnd, HINSTANCE hInstance, LPSTR pszParms, INT nShow);
|
|
||||||
HRESULT WINAPI UserInstStubWrapperW(HWND hWnd, HINSTANCE hInstance, LPWSTR pszParms, INT nShow);
|
|
||||||
#define UserInstStubWrapper WINELIB_NAME_AW(UserInstStubWrapper)
|
|
||||||
HRESULT WINAPI UserUnInstStubWrapperA(HWND hWnd, HINSTANCE hInstance, LPSTR pszParms, INT nShow);
|
|
||||||
HRESULT WINAPI UserUnInstStubWrapperW(HWND hWnd, HINSTANCE hInstance, LPWSTR pszParms, INT nShow);
|
|
||||||
#define UserUnInstStubWrapper WINELIB_NAME_AW(UserUnInstStubWrapper)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __WINE_ADVPUB_H */
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2009 Juan Lang
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
#ifndef AF_IRDA_H
|
|
||||||
#define AF_IRDA_H
|
|
||||||
|
|
||||||
typedef struct _IRDA_DEVICE_INFO
|
|
||||||
{
|
|
||||||
UCHAR irdaDeviceID[4];
|
|
||||||
char irdaDeviceName[22];
|
|
||||||
UCHAR irdaDeviceHints1;
|
|
||||||
UCHAR irdaDeviceHints2;
|
|
||||||
UCHAR irdaCharSet;
|
|
||||||
} IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO;
|
|
||||||
|
|
||||||
typedef struct _DEVICELIST
|
|
||||||
{
|
|
||||||
ULONG numDevice;
|
|
||||||
IRDA_DEVICE_INFO Device[1];
|
|
||||||
} DEVICELIST, *PDEVICELIST;
|
|
||||||
|
|
||||||
typedef struct _SOCKADDR_IRDA
|
|
||||||
{
|
|
||||||
USHORT irdaAddressFamily;
|
|
||||||
UCHAR irdaDeviceID[4];
|
|
||||||
char irdaServiceName[25];
|
|
||||||
} SOCKADDR_IRDA, *PSOCKADDR_IRDA, *LPSOCKADDR_IRDA;
|
|
||||||
|
|
||||||
#ifdef USE_WS_PREFIX
|
|
||||||
|
|
||||||
/* Socket levels and options */
|
|
||||||
#define WS_SOL_IRLMP 0xff
|
|
||||||
|
|
||||||
#define WS_IRLMP_ENUMDEVICES ((ULONG)0x10)
|
|
||||||
#define WS_IRLMP_IAS_SET ((ULONG)0x11)
|
|
||||||
#define WS_IRLMP_IAS_QUERY ((ULONG)0x12)
|
|
||||||
#define WS_IRLMP_SEND_PDU_LEN ((ULONG)0x13)
|
|
||||||
#define WS_IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
|
|
||||||
#define WS_IRLMP_IRLPT_MODE ((ULONG)0x15)
|
|
||||||
#define WS_IRLMP_9WIRE_MODE ((ULONG)0x16)
|
|
||||||
#define WS_IRLMP_TINYTP_MODE ((ULONG)0x17)
|
|
||||||
#define WS_IRLMP_PARAMETERS ((ULONG)0x18)
|
|
||||||
#define WS_IRLMP_DISCOVER_MODE ((ULONG)0x19)
|
|
||||||
#define WS_IRLMP_SHARP_MODE ((ULONG)0x20)
|
|
||||||
|
|
||||||
#define WS_IAS_MAX_CLASSNAME 64
|
|
||||||
#define WS_IAS_MAX_ATTRIBNAME 256
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/* Socket levels and options */
|
|
||||||
#define SOL_IRLMP 0xff
|
|
||||||
|
|
||||||
#define IRLMP_ENUMDEVICES ((ULONG)0x10)
|
|
||||||
#define IRLMP_IAS_SET ((ULONG)0x11)
|
|
||||||
#define IRLMP_IAS_QUERY ((ULONG)0x12)
|
|
||||||
#define IRLMP_SEND_PDU_LEN ((ULONG)0x13)
|
|
||||||
#define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
|
|
||||||
#define IRLMP_IRLPT_MODE ((ULONG)0x15)
|
|
||||||
#define IRLMP_9WIRE_MODE ((ULONG)0x16)
|
|
||||||
#define IRLMP_TINYTP_MODE ((ULONG)0x17)
|
|
||||||
#define IRLMP_PARAMETERS ((ULONG)0x18)
|
|
||||||
#define IRLMP_DISCOVER_MODE ((ULONG)0x19)
|
|
||||||
#define IRLMP_SHARP_MODE ((ULONG)0x20)
|
|
||||||
|
|
||||||
#define IAS_MAX_CLASSNAME 64
|
|
||||||
#define IAS_MAX_ATTRIBNAME 256
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define IAS_MAX_OCTET_STRING 1024
|
|
||||||
#define IAS_MAX_USER_STRING 256
|
|
||||||
|
|
||||||
#define LmCharSetASCII 0x00
|
|
||||||
#define LmCharSetISO_8859_1 0x01
|
|
||||||
#define LmCharSetISO_8859_2 0x02
|
|
||||||
#define LmCharSetISO_8859_3 0x03
|
|
||||||
#define LmCharSetISO_8859_4 0x04
|
|
||||||
#define LmCharSetISO_8859_5 0x05
|
|
||||||
#define LmCharSetISO_8859_6 0x06
|
|
||||||
#define LmCharSetISO_8859_7 0x07
|
|
||||||
#define LmCharSetISO_8859_8 0x08
|
|
||||||
#define LmCharSetISO_8859_9 0x09
|
|
||||||
#define LmCharSetUNICODE 0xff
|
|
||||||
|
|
||||||
#endif /* AF_IRDA_H */
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2023 Ally Sommers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WS2AFUNIX_
|
|
||||||
#define _WS2AFUNIX_
|
|
||||||
|
|
||||||
#ifdef USE_WS_PREFIX
|
|
||||||
# define WS(x) WS_##x
|
|
||||||
#else
|
|
||||||
# define WS(x) x
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define UNIX_PATH_MAX 108
|
|
||||||
|
|
||||||
typedef struct WS(sockaddr_un)
|
|
||||||
{
|
|
||||||
ADDRESS_FAMILY sun_family;
|
|
||||||
char sun_path[UNIX_PATH_MAX];
|
|
||||||
} SOCKADDR_UN, *PSOCKADDR_UN;
|
|
||||||
|
|
||||||
#endif /* _WS2AFUNIX_ */
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2010 Maarten Lankhorst for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __AMAUDIO__
|
|
||||||
#define __AMAUDIO__
|
|
||||||
|
|
||||||
#include <mmsystem.h>
|
|
||||||
#include <dsound.h>
|
|
||||||
|
|
||||||
#undef INTERFACE
|
|
||||||
#define INTERFACE IAMDirectSound
|
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IAMDirectSound,IUnknown)
|
|
||||||
{
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
||||||
|
|
||||||
/*** IAMDirectSound methods ***/
|
|
||||||
STDMETHOD(GetDirectSoundInterface)(THIS_ IDirectSound **ds) PURE;
|
|
||||||
STDMETHOD(GetPrimaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
|
|
||||||
STDMETHOD(GetSecondaryBufferInterface)(THIS_ IDirectSoundBuffer **buf) PURE;
|
|
||||||
STDMETHOD(ReleaseDirectSoundInterface)(THIS_ IDirectSound *ds) PURE;
|
|
||||||
STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
|
|
||||||
STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ IDirectSoundBuffer *buf) PURE;
|
|
||||||
STDMETHOD(SetFocusWindow)(THIS_ HWND hwnd, BOOL bgaudible) PURE;
|
|
||||||
STDMETHOD(GetFocusWindow)(THIS_ HWND *hwnd, BOOL *bgaudible) PURE;
|
|
||||||
};
|
|
||||||
#undef INTERFACE
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
/*** Autogenerated by WIDL 10.17 from /home/runner/build_wine/wine/include/amsi.idl - Do not edit ***/
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
||||||
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
||||||
#endif
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef COM_NO_WINDOWS_H
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __amsi_h__
|
|
||||||
#define __amsi_h__
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
|
|
||||||
/* Headers for imported files */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DECLARE_HANDLE(HAMSICONTEXT);
|
|
||||||
DECLARE_HANDLE(HAMSISESSION);
|
|
||||||
typedef enum AMSI_RESULT {
|
|
||||||
AMSI_RESULT_CLEAN = 0x0,
|
|
||||||
AMSI_RESULT_NOT_DETECTED = 0x1,
|
|
||||||
AMSI_RESULT_BLOCKED_BY_ADMIN_START = 0x4000,
|
|
||||||
AMSI_RESULT_BLOCKED_BY_ADMIN_END = 0x4fff,
|
|
||||||
AMSI_RESULT_DETECTED = 0x8000
|
|
||||||
} AMSI_RESULT;
|
|
||||||
void WINAPI AmsiCloseSession(HAMSICONTEXT,HAMSISESSION);
|
|
||||||
HRESULT WINAPI AmsiInitialize(const WCHAR*,HAMSICONTEXT*);
|
|
||||||
HRESULT WINAPI AmsiOpenSession(HAMSICONTEXT,HAMSISESSION*);
|
|
||||||
HRESULT WINAPI AmsiScanBuffer(HAMSICONTEXT,void*,ULONG,const WCHAR*,HAMSISESSION,AMSI_RESULT*);
|
|
||||||
HRESULT WINAPI AmsiScanString(HAMSICONTEXT,const WCHAR*,const WCHAR *,HAMSISESSION,AMSI_RESULT*);
|
|
||||||
void WINAPI AmsiUninitialize(HAMSICONTEXT);
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __amsi_h__ */
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2019 Hans Leidekker for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
cpp_quote("DECLARE_HANDLE(HAMSICONTEXT);")
|
|
||||||
cpp_quote("DECLARE_HANDLE(HAMSISESSION);")
|
|
||||||
|
|
||||||
typedef [v1_enum] enum AMSI_RESULT
|
|
||||||
{
|
|
||||||
AMSI_RESULT_CLEAN = 0x00,
|
|
||||||
AMSI_RESULT_NOT_DETECTED = 0x01,
|
|
||||||
AMSI_RESULT_BLOCKED_BY_ADMIN_START = 0x4000,
|
|
||||||
AMSI_RESULT_BLOCKED_BY_ADMIN_END = 0x4fff,
|
|
||||||
AMSI_RESULT_DETECTED = 0x8000,
|
|
||||||
} AMSI_RESULT;
|
|
||||||
|
|
||||||
cpp_quote("void WINAPI AmsiCloseSession(HAMSICONTEXT,HAMSISESSION);")
|
|
||||||
cpp_quote("HRESULT WINAPI AmsiInitialize(const WCHAR*,HAMSICONTEXT*);")
|
|
||||||
cpp_quote("HRESULT WINAPI AmsiOpenSession(HAMSICONTEXT,HAMSISESSION*);")
|
|
||||||
cpp_quote("HRESULT WINAPI AmsiScanBuffer(HAMSICONTEXT,void*,ULONG,const WCHAR*,HAMSISESSION,AMSI_RESULT*);")
|
|
||||||
cpp_quote("HRESULT WINAPI AmsiScanString(HAMSICONTEXT,const WCHAR*,const WCHAR *,HAMSISESSION,AMSI_RESULT*);")
|
|
||||||
cpp_quote("void WINAPI AmsiUninitialize(HAMSICONTEXT);")
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,318 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2004 Christian Costa
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
import "unknwn.idl";
|
|
||||||
import "mmstream.idl";
|
|
||||||
import "strmif.idl";
|
|
||||||
|
|
||||||
cpp_quote("#include <ddraw.h>")
|
|
||||||
cpp_quote("#include <mmsystem.h>")
|
|
||||||
cpp_quote("#include <mmstream.h>")
|
|
||||||
cpp_quote("#include <ddstream.h>")
|
|
||||||
cpp_quote("#include <austream.h>")
|
|
||||||
|
|
||||||
cpp_quote("#if 0")
|
|
||||||
interface IDirectDraw;
|
|
||||||
interface IDirectDrawSurface;
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
interface IAMMultiMediaStream;
|
|
||||||
interface IAMMediaStream;
|
|
||||||
interface IMediaStreamFilter;
|
|
||||||
interface IAMMediaTypeStream;
|
|
||||||
interface IAMMediaTypeSample;
|
|
||||||
|
|
||||||
enum {
|
|
||||||
AMMSF_NOGRAPHTHREAD = 0x00000001
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
AMMSF_ADDDEFAULTRENDERER = 0x00000001,
|
|
||||||
AMMSF_CREATEPEER = 0x00000002,
|
|
||||||
AMMSF_STOPIFNOSAMPLES = 0x00000004,
|
|
||||||
AMMSF_NOSTALL = 0x00000008
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
AMMSF_RENDERTYPEMASK = 0x00000003,
|
|
||||||
AMMSF_RENDERTOEXISTING = 0x00000000,
|
|
||||||
AMMSF_RENDERALLSTREAMS = 0x00000001,
|
|
||||||
AMMSF_NORENDER = 0x00000002,
|
|
||||||
AMMSF_NOCLOCK = 0x00000004,
|
|
||||||
AMMSF_RUN = 0x00000008
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
typedef [v1_enum] enum {
|
|
||||||
Disabled = 0,
|
|
||||||
ReadData = 1,
|
|
||||||
RenderData = 2
|
|
||||||
} OUTPUT_STATE;
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D),
|
|
||||||
dual,
|
|
||||||
helpstring("IDirectShowStream Interface"),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDirectShowStream : IDispatch
|
|
||||||
{
|
|
||||||
[propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal);
|
|
||||||
[propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal);
|
|
||||||
[propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal);
|
|
||||||
[propput, id(2), helpstring("property Video")] HRESULT Video([in] OUTPUT_STATE newVal);
|
|
||||||
[propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal);
|
|
||||||
[propput, id(3), helpstring("property Audio")] HRESULT Audio([in] OUTPUT_STATE newVal);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IAMMultiMediaStream : IMultiMediaStream
|
|
||||||
{
|
|
||||||
HRESULT Initialize(
|
|
||||||
[in] STREAM_TYPE StreamType,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in] IGraphBuilder *pFilterGraph);
|
|
||||||
|
|
||||||
HRESULT GetFilterGraph(
|
|
||||||
[out] IGraphBuilder **ppGraphBuilder);
|
|
||||||
|
|
||||||
HRESULT GetFilter(
|
|
||||||
[out] IMediaStreamFilter **ppFilter);
|
|
||||||
|
|
||||||
HRESULT AddMediaStream(
|
|
||||||
[in] IUnknown *pStreamObject,
|
|
||||||
[in] const MSPID *PurposeId,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[out] IMediaStream **ppNewStream);
|
|
||||||
|
|
||||||
HRESULT OpenFile(
|
|
||||||
[in] LPCWSTR pszFileName,
|
|
||||||
[in] DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT OpenMoniker(
|
|
||||||
[in] IBindCtx *pCtx,
|
|
||||||
[in] IMoniker *pMoniker,
|
|
||||||
[in] DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT Render(
|
|
||||||
[in] DWORD dwFlags);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IAMMediaStream : IMediaStream
|
|
||||||
{
|
|
||||||
HRESULT Initialize(
|
|
||||||
[in] IUnknown *pSourceObject,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in] REFMSPID PurposeId,
|
|
||||||
[in] const STREAM_TYPE StreamType);
|
|
||||||
|
|
||||||
HRESULT SetState(
|
|
||||||
[in] FILTER_STATE State);
|
|
||||||
|
|
||||||
HRESULT JoinAMMultiMediaStream(
|
|
||||||
[in] IAMMultiMediaStream *pAMMultiMediaStream);
|
|
||||||
|
|
||||||
HRESULT JoinFilter(
|
|
||||||
[in] IMediaStreamFilter *pMediaStreamFilter);
|
|
||||||
|
|
||||||
HRESULT JoinFilterGraph(
|
|
||||||
[in] IFilterGraph *pFilterGraph);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
local,
|
|
||||||
uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IMediaStreamFilter : IBaseFilter
|
|
||||||
{
|
|
||||||
HRESULT AddMediaStream(
|
|
||||||
[in] IAMMediaStream *pAMMediaStream);
|
|
||||||
|
|
||||||
HRESULT GetMediaStream(
|
|
||||||
[in] REFMSPID idPurpose,
|
|
||||||
[out] IMediaStream **ppMediaStream);
|
|
||||||
|
|
||||||
HRESULT EnumMediaStreams(
|
|
||||||
[in] long Index,
|
|
||||||
[out] IMediaStream **ppMediaStream);
|
|
||||||
|
|
||||||
HRESULT SupportSeeking(
|
|
||||||
[in] BOOL bRenderer);
|
|
||||||
|
|
||||||
HRESULT ReferenceTimeToStreamTime(
|
|
||||||
[in] [out] REFERENCE_TIME *pTime);
|
|
||||||
|
|
||||||
HRESULT GetCurrentStreamTime(
|
|
||||||
[out] REFERENCE_TIME *pCurrentStreamTime);
|
|
||||||
|
|
||||||
HRESULT WaitUntil(
|
|
||||||
[in] REFERENCE_TIME WaitStreamTime);
|
|
||||||
|
|
||||||
HRESULT Flush(
|
|
||||||
[in] BOOL bCancelEOS);
|
|
||||||
|
|
||||||
HRESULT EndOfStream();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
local,
|
|
||||||
uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDirectDrawMediaSampleAllocator : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
local,
|
|
||||||
uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IDirectDrawMediaSample : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetSurfaceAndReleaseLock(
|
|
||||||
[out] IDirectDrawSurface **ppDirectDrawSurface,
|
|
||||||
[out] RECT * pRect);
|
|
||||||
|
|
||||||
HRESULT LockMediaSamplePointer(void);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
local,
|
|
||||||
uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
|
|
||||||
interface IAMMediaTypeStream : IMediaStream
|
|
||||||
{
|
|
||||||
HRESULT GetFormat(
|
|
||||||
[out] AM_MEDIA_TYPE * pMediaType,
|
|
||||||
[in] DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT SetFormat(
|
|
||||||
[in] AM_MEDIA_TYPE * pMediaType,
|
|
||||||
[in] DWORD dwFlags);
|
|
||||||
|
|
||||||
HRESULT CreateSample(
|
|
||||||
[in] long lSampleSize,
|
|
||||||
[in] BYTE * pbBuffer,
|
|
||||||
[in] DWORD dwFlags,
|
|
||||||
[in] IUnknown *pUnkOuter,
|
|
||||||
[out] IAMMediaTypeSample ** ppAMMediaTypeSample);
|
|
||||||
|
|
||||||
HRESULT GetStreamAllocatorRequirements(
|
|
||||||
[out] ALLOCATOR_PROPERTIES *pProps);
|
|
||||||
|
|
||||||
HRESULT SetStreamAllocatorRequirements(
|
|
||||||
[in] ALLOCATOR_PROPERTIES *pProps);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
local,
|
|
||||||
uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IAMMediaTypeSample : IStreamSample
|
|
||||||
{
|
|
||||||
HRESULT SetPointer(
|
|
||||||
[in] BYTE *pBuffer,
|
|
||||||
[in] long lSize);
|
|
||||||
|
|
||||||
HRESULT GetPointer(
|
|
||||||
[out] BYTE ** ppBuffer);
|
|
||||||
|
|
||||||
long GetSize(void);
|
|
||||||
|
|
||||||
HRESULT GetTime(
|
|
||||||
[out] REFERENCE_TIME * pTimeStart,
|
|
||||||
[out] REFERENCE_TIME * pTimeEnd);
|
|
||||||
|
|
||||||
HRESULT SetTime(
|
|
||||||
[in] REFERENCE_TIME * pTimeStart,
|
|
||||||
[in] REFERENCE_TIME * pTimeEnd);
|
|
||||||
|
|
||||||
HRESULT IsSyncPoint(void);
|
|
||||||
|
|
||||||
HRESULT SetSyncPoint(
|
|
||||||
BOOL bIsSyncPoint);
|
|
||||||
|
|
||||||
HRESULT IsPreroll(void);
|
|
||||||
|
|
||||||
HRESULT SetPreroll(
|
|
||||||
BOOL bIsPreroll);
|
|
||||||
|
|
||||||
long GetActualDataLength(void);
|
|
||||||
|
|
||||||
HRESULT SetActualDataLength(long Len);
|
|
||||||
|
|
||||||
HRESULT GetMediaType(
|
|
||||||
AM_MEDIA_TYPE **ppMediaType);
|
|
||||||
|
|
||||||
HRESULT SetMediaType(
|
|
||||||
AM_MEDIA_TYPE *pMediaType);
|
|
||||||
|
|
||||||
HRESULT IsDiscontinuity(void);
|
|
||||||
|
|
||||||
HRESULT SetDiscontinuity(
|
|
||||||
BOOL bDiscontinuity);
|
|
||||||
|
|
||||||
HRESULT GetMediaTime(
|
|
||||||
[out] LONGLONG * pTimeStart,
|
|
||||||
[out] LONGLONG * pTimeEnd);
|
|
||||||
|
|
||||||
HRESULT SetMediaTime(
|
|
||||||
[in] LONGLONG * pTimeStart,
|
|
||||||
[in] LONGLONG * pTimeEnd);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
uuid(49C47CE5-9BA4-11d0-8212-00C04FC32C45)
|
|
||||||
]
|
|
||||||
coclass AMMultiMediaStream
|
|
||||||
{
|
|
||||||
[default] dispinterface IDirectShowStream;
|
|
||||||
}
|
|
||||||
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
|
|
||||||
cpp_quote("DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);")
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2022 Zebediah Figura for CodeWeavers
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __AMVA_INCLUDED__
|
|
||||||
#define __AMVA_INCLUDED__
|
|
||||||
|
|
||||||
typedef struct _tag_AMVABeginFrameInfo
|
|
||||||
{
|
|
||||||
DWORD dwDestSurfaceIndex;
|
|
||||||
void *pInputData;
|
|
||||||
DWORD dwSizeInputData;
|
|
||||||
void *pOutputData;
|
|
||||||
DWORD dwSizeOutputData;
|
|
||||||
} AMVABeginFrameInfo, *LPAMVABeginFrameInfo;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVABUFFERINFO
|
|
||||||
{
|
|
||||||
DWORD dwTypeIndex;
|
|
||||||
DWORD dwBufferIndex;
|
|
||||||
DWORD dwDataOffset;
|
|
||||||
DWORD dwDataSize;
|
|
||||||
} AMVABUFFERINFO, *LPAMVABUFFERINFO;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVACompBufferInfo
|
|
||||||
{
|
|
||||||
DWORD dwNumCompBuffers;
|
|
||||||
DWORD dwWidthToCreate;
|
|
||||||
DWORD dwHeightToCreate;
|
|
||||||
DWORD dwBytesToAllocate;
|
|
||||||
DDSCAPS2 ddCompCaps;
|
|
||||||
DDPIXELFORMAT ddPixelFormat;
|
|
||||||
} AMVACompBufferInfo, *LPAMVACompBufferInfo;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVAEndFrameInfo
|
|
||||||
{
|
|
||||||
DWORD dwSizeMiscData;
|
|
||||||
void *pMiscData;
|
|
||||||
} AMVAEndFrameInfo, *LPAMVAEndFrameInfo;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVAInternalMemInfo
|
|
||||||
{
|
|
||||||
DWORD dwScratchMemAlloc;
|
|
||||||
} AMVAInternalMemInfo, *LPAMVAInternalMemInfo;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVAUncompBufferInfo
|
|
||||||
{
|
|
||||||
DWORD dwMinNumSurfaces;
|
|
||||||
DWORD dwMaxNumSurfaces;
|
|
||||||
DDPIXELFORMAT ddUncompPixelFormat;
|
|
||||||
} AMVAUncompBufferInfo, *LPAMVAUncompBufferInfo;
|
|
||||||
|
|
||||||
typedef struct _tag_AMVAUncompDataInfo
|
|
||||||
{
|
|
||||||
DWORD dwUncompWidth;
|
|
||||||
DWORD dwUncompHeight;
|
|
||||||
DDPIXELFORMAT ddUncompPixelFormat;
|
|
||||||
} AMVAUncompDataInfo, *LPAMVAUncompDataInfo;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,241 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2003 Robert Shearman
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
import "objidl.idl";
|
|
||||||
|
|
||||||
/* trick widl into thinking that it knows the DirectDraw types
|
|
||||||
* as there is no IDL file for them (yet) */
|
|
||||||
cpp_quote("#if 0")
|
|
||||||
interface IDirectDraw;
|
|
||||||
typedef void DDSURFACEDESC,DDCAPS;
|
|
||||||
typedef DWORD RGBQUAD;
|
|
||||||
typedef LONGLONG REFERENCE_TIME;
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
DWORD biSize;
|
|
||||||
LONG biWidth;
|
|
||||||
LONG biHeight;
|
|
||||||
WORD biPlanes;
|
|
||||||
WORD biBitCount;
|
|
||||||
DWORD biCompression;
|
|
||||||
DWORD biSizeImage;
|
|
||||||
LONG biXPelsPerMeter;
|
|
||||||
LONG biYPelsPerMeter;
|
|
||||||
DWORD biClrUsed;
|
|
||||||
DWORD biClrImportant;
|
|
||||||
} BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
cpp_quote("#include <ddraw.h>")
|
|
||||||
|
|
||||||
cpp_quote("#define AMDDS_NONE 0x00")
|
|
||||||
cpp_quote("#define AMDDS_DCIPS 0x01")
|
|
||||||
cpp_quote("#define AMDDS_PS 0x02")
|
|
||||||
cpp_quote("#define AMDDS_RGBOVR 0x04")
|
|
||||||
cpp_quote("#define AMDDS_YUVOVR 0x08")
|
|
||||||
cpp_quote("#define AMDDS_RGBOFF 0x10")
|
|
||||||
cpp_quote("#define AMDDS_YUVOFF 0x20")
|
|
||||||
cpp_quote("#define AMDDS_RGBFLP 0x40")
|
|
||||||
cpp_quote("#define AMDDS_YUVFLP 0x80")
|
|
||||||
cpp_quote("#define AMDDS_ALL 0xFF")
|
|
||||||
cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL")
|
|
||||||
|
|
||||||
cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)")
|
|
||||||
cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)")
|
|
||||||
cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)")
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
/* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IDirectDrawVideo : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT GetSwitches([out] DWORD * pSwitches);
|
|
||||||
HRESULT SetSwitches([in] DWORD Switches);
|
|
||||||
HRESULT GetCaps([out] DDCAPS * pCaps);
|
|
||||||
HRESULT GetEmulatedCaps([out] DDCAPS *pCaps);
|
|
||||||
HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
|
|
||||||
HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
|
|
||||||
HRESULT SetDirectDraw([in] IDirectDraw *ddraw);
|
|
||||||
HRESULT GetDirectDraw([out] IDirectDraw **ddraw);
|
|
||||||
HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
|
|
||||||
HRESULT SetDefault();
|
|
||||||
HRESULT UseScanLine([in] long UseScanLine);
|
|
||||||
HRESULT CanUseScanLine([out] long * UseScanLine);
|
|
||||||
HRESULT UseOverlayStretch([in] long UseOverlayStretch);
|
|
||||||
HRESULT CanUseOverlayStretch([out] long * UseOverlayStretch);
|
|
||||||
HRESULT UseWhenFullScreen([in] long UseWhenFullScreen);
|
|
||||||
HRESULT WillUseFullScreen([out] long * UseWhenFullScreen);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
/* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IQualProp : IUnknown
|
|
||||||
{
|
|
||||||
[propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames);
|
|
||||||
[propget] HRESULT FramesDrawn([out] int * pcFramesDrawn);
|
|
||||||
[propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate);
|
|
||||||
[propget] HRESULT Jitter([out] int * iJitter);
|
|
||||||
[propget] HRESULT AvgSyncOffset([out] int * piAvg);
|
|
||||||
[propget] HRESULT DevSyncOffset([out] int * piDev);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
/* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IFullScreenVideo : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT CountModes([out] long * pModes);
|
|
||||||
HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth);
|
|
||||||
HRESULT GetCurrentMode([out] long * pMode);
|
|
||||||
HRESULT IsModeAvailable([in] long Mode);
|
|
||||||
HRESULT IsModeEnabled([in] long Mode);
|
|
||||||
HRESULT SetEnabled([in] long Mode, [in] long bEnabled);
|
|
||||||
HRESULT GetClipFactor([out] long * pClipFactor);
|
|
||||||
HRESULT SetClipFactor([in] long ClipFactor);
|
|
||||||
HRESULT SetMessageDrain([in] HWND hwnd);
|
|
||||||
HRESULT GetMessageDrain([out] HWND * hwnd);
|
|
||||||
HRESULT SetMonitor([in] long Monitor);
|
|
||||||
HRESULT GetMonitor([out] long * Monitor);
|
|
||||||
HRESULT HideOnDeactivate([in] long Hide);
|
|
||||||
HRESULT IsHideOnDeactivate();
|
|
||||||
HRESULT SetCaption([in] BSTR strCaption);
|
|
||||||
HRESULT GetCaption([out] BSTR * pstrCaption);
|
|
||||||
HRESULT SetDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
/* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IFullScreenVideoEx : IFullScreenVideo
|
|
||||||
{
|
|
||||||
HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel);
|
|
||||||
HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel);
|
|
||||||
HRESULT KeepPixelAspectRatio([in] long KeepAspect);
|
|
||||||
/* FIXME: not sure is this next method is an [out] */
|
|
||||||
HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect);
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
/* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */
|
|
||||||
pointer_default(unique),
|
|
||||||
local
|
|
||||||
]
|
|
||||||
interface IBaseVideoMixer : IUnknown
|
|
||||||
{
|
|
||||||
HRESULT SetLeadPin([in] int iPin);
|
|
||||||
HRESULT GetLeadPin([out] int * piPin);
|
|
||||||
HRESULT GetInputPinCount([out] int * piPinCount);
|
|
||||||
HRESULT IsUsingClock([out] int * pbValue);
|
|
||||||
HRESULT SetUsingClock([in] int bValue);
|
|
||||||
HRESULT GetClockPeriod([out] int * pbValue);
|
|
||||||
HRESULT SetClockPeriod([in] int bValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define iPALETTE_COLORS 256
|
|
||||||
#define iMASK_COLORS 3
|
|
||||||
|
|
||||||
cpp_quote("#define iPALETTE_COLORS 256")
|
|
||||||
cpp_quote("#define iEGA_COLORS 16")
|
|
||||||
cpp_quote("#define iMASK_COLORS 3")
|
|
||||||
cpp_quote("#define iTRUECOLOR 16")
|
|
||||||
cpp_quote("#define iRED 0")
|
|
||||||
cpp_quote("#define iGREEN 1")
|
|
||||||
cpp_quote("#define iBLUE 2")
|
|
||||||
cpp_quote("#define iPALETTE 8")
|
|
||||||
cpp_quote("#define iMAXBITS 8")
|
|
||||||
|
|
||||||
typedef struct tag_TRUECOLORINFO
|
|
||||||
{
|
|
||||||
DWORD dwBitMasks[iMASK_COLORS];
|
|
||||||
RGBQUAD bmiColors[iPALETTE_COLORS];
|
|
||||||
} TRUECOLORINFO;
|
|
||||||
|
|
||||||
typedef struct tagVIDEOINFOHEADER
|
|
||||||
{
|
|
||||||
RECT rcSource;
|
|
||||||
RECT rcTarget;
|
|
||||||
DWORD dwBitRate;
|
|
||||||
DWORD dwBitErrorRate;
|
|
||||||
REFERENCE_TIME AvgTimePerFrame;
|
|
||||||
|
|
||||||
BITMAPINFOHEADER bmiHeader;
|
|
||||||
} VIDEOINFOHEADER;
|
|
||||||
|
|
||||||
typedef struct tagVIDEOINFO
|
|
||||||
{
|
|
||||||
RECT rcSource;
|
|
||||||
RECT rcTarget;
|
|
||||||
DWORD dwBitRate;
|
|
||||||
DWORD dwBitErrorRate;
|
|
||||||
REFERENCE_TIME AvgTimePerFrame;
|
|
||||||
|
|
||||||
BITMAPINFOHEADER bmiHeader;
|
|
||||||
|
|
||||||
union
|
|
||||||
{
|
|
||||||
RGBQUAD bmiColors[iPALETTE_COLORS];
|
|
||||||
DWORD dwBitMasks[iMASK_COLORS];
|
|
||||||
TRUECOLORINFO TrueColorInfo;
|
|
||||||
};
|
|
||||||
} VIDEOINFO;
|
|
||||||
|
|
||||||
typedef struct tagMPEG1VIDEOINFO
|
|
||||||
{
|
|
||||||
VIDEOINFOHEADER hdr;
|
|
||||||
DWORD dwStartTimeCode;
|
|
||||||
DWORD cbSequenceHeader;
|
|
||||||
BYTE bSequenceHeader[1];
|
|
||||||
} MPEG1VIDEOINFO;
|
|
||||||
|
|
||||||
cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140")
|
|
||||||
cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)")
|
|
||||||
|
|
||||||
typedef struct tagAnalogVideoInfo
|
|
||||||
{
|
|
||||||
RECT rcSource;
|
|
||||||
RECT rcTarget;
|
|
||||||
DWORD dwActiveWidth;
|
|
||||||
DWORD dwActiveHeight;
|
|
||||||
REFERENCE_TIME AvgTimePerFrame;
|
|
||||||
} ANALOGVIDEOINFO;
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
AM_PROPERTY_FRAMESTEP_STEP = 0x01,
|
|
||||||
AM_PROPERTY_FRAMESTEP_CANCEL = 0x02,
|
|
||||||
AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03,
|
|
||||||
AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04
|
|
||||||
} AM_PROPERTY_FRAMESTEP;
|
|
||||||
|
|
||||||
typedef struct _AM_FRAMESTEP_STEP
|
|
||||||
{
|
|
||||||
DWORD dwFramesToStep;
|
|
||||||
} AM_FRAMESTEP_STEP;
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2012 Detlef Riekenberg
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __APPCOMPAT_H
|
|
||||||
#define __APPCOMPAT_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
BOOL WINAPI ApphelpCheckShellObject(REFCLSID, BOOL, ULONGLONG *);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __APPCOMPAT_H */
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2005 Mike McCormack
|
|
||||||
*
|
|
||||||
* This library 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.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _APPMGMT_H
|
|
||||||
#define _APPMGMT_H
|
|
||||||
|
|
||||||
typedef struct _MANAGEDAPPLICATION
|
|
||||||
{
|
|
||||||
LPWSTR pszPackageName;
|
|
||||||
LPWSTR pszPublisher;
|
|
||||||
DWORD dwVersionHi;
|
|
||||||
DWORD dwVersionLo;
|
|
||||||
DWORD dwRevision;
|
|
||||||
GUID GpoId;
|
|
||||||
LPWSTR pszPolicyName;
|
|
||||||
GUID ProductId;
|
|
||||||
LANGID Language;
|
|
||||||
LPWSTR pszOwner;
|
|
||||||
LPWSTR pszCompany;
|
|
||||||
LPWSTR pszComments;
|
|
||||||
LPWSTR pszContact;
|
|
||||||
LPWSTR pszSupportUrl;
|
|
||||||
DWORD dwPathType;
|
|
||||||
BOOL bInstalled;
|
|
||||||
} MANAGEDAPPLICATION, *PMANAGEDAPPLICATION;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR*,WCHAR*,DWORD*);
|
|
||||||
DWORD WINAPI GetManagedApplications(GUID*,DWORD,DWORD,LPDWORD,PMANAGEDAPPLICATION*);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _APPMGMT_H */
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user