mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 20:14:06 +00:00
netapi32: Implement Wow64 entry points in the Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8a4b818a2d
commit
7693fb8091
|
@ -146,7 +146,7 @@ static NET_API_STATUS server_info_from_samba( DWORD level, const unsigned char *
|
||||||
|
|
||||||
static NTSTATUS server_getinfo( void *args )
|
static NTSTATUS server_getinfo( void *args )
|
||||||
{
|
{
|
||||||
struct server_getinfo_params *params = args;
|
const struct server_getinfo_params *params = args;
|
||||||
NET_API_STATUS status;
|
NET_API_STATUS status;
|
||||||
char *samba_server = NULL;
|
char *samba_server = NULL;
|
||||||
unsigned char *samba_buffer = NULL;
|
unsigned char *samba_buffer = NULL;
|
||||||
|
@ -707,7 +707,7 @@ static NET_API_STATUS share_info_to_samba( DWORD level, const BYTE *buf, unsigne
|
||||||
|
|
||||||
static NTSTATUS share_add( void *args )
|
static NTSTATUS share_add( void *args )
|
||||||
{
|
{
|
||||||
struct share_add_params *params = args;
|
const struct share_add_params *params = args;
|
||||||
char *samba_server = NULL;
|
char *samba_server = NULL;
|
||||||
unsigned char *samba_info;
|
unsigned char *samba_info;
|
||||||
NET_API_STATUS status;
|
NET_API_STATUS status;
|
||||||
|
@ -730,7 +730,7 @@ static NTSTATUS share_add( void *args )
|
||||||
|
|
||||||
static NTSTATUS share_del( void *args )
|
static NTSTATUS share_del( void *args )
|
||||||
{
|
{
|
||||||
struct share_del_params *params = args;
|
const struct share_del_params *params = args;
|
||||||
char *samba_server = NULL, *samba_share;
|
char *samba_server = NULL, *samba_share;
|
||||||
NET_API_STATUS status;
|
NET_API_STATUS status;
|
||||||
|
|
||||||
|
@ -807,7 +807,7 @@ static NET_API_STATUS wksta_info_from_samba( DWORD level, const unsigned char *b
|
||||||
|
|
||||||
static NTSTATUS wksta_getinfo( void *args )
|
static NTSTATUS wksta_getinfo( void *args )
|
||||||
{
|
{
|
||||||
struct wksta_getinfo_params *params = args;
|
const struct wksta_getinfo_params *params = args;
|
||||||
unsigned char *samba_buffer = NULL;
|
unsigned char *samba_buffer = NULL;
|
||||||
char *samba_server = NULL;
|
char *samba_server = NULL;
|
||||||
NET_API_STATUS status;
|
NET_API_STATUS status;
|
||||||
|
@ -888,7 +888,7 @@ static NTSTATUS netapi_init( void *args )
|
||||||
|
|
||||||
static NTSTATUS change_password( void *args )
|
static NTSTATUS change_password( void *args )
|
||||||
{
|
{
|
||||||
struct change_password_params *params = args;
|
const struct change_password_params *params = args;
|
||||||
NET_API_STATUS ret = NERR_Success;
|
NET_API_STATUS ret = NERR_Success;
|
||||||
static char option_silent[] = "-s";
|
static char option_silent[] = "-s";
|
||||||
static char option_user[] = "-U";
|
static char option_user[] = "-U";
|
||||||
|
@ -986,4 +986,123 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
|
||||||
change_password,
|
change_password,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
|
|
||||||
|
typedef ULONG PTR32;
|
||||||
|
|
||||||
|
static NTSTATUS wow64_server_getinfo( void *args )
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
PTR32 server;
|
||||||
|
DWORD level;
|
||||||
|
PTR32 buffer;
|
||||||
|
PTR32 size;
|
||||||
|
} const *params32 = args;
|
||||||
|
|
||||||
|
struct server_getinfo_params params =
|
||||||
|
{
|
||||||
|
ULongToPtr(params32->server),
|
||||||
|
params32->level,
|
||||||
|
ULongToPtr(params32->buffer),
|
||||||
|
ULongToPtr(params32->size)
|
||||||
|
};
|
||||||
|
|
||||||
|
return server_getinfo( ¶ms );
|
||||||
|
}
|
||||||
|
|
||||||
|
static NTSTATUS wow64_share_add( void *args )
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
PTR32 server;
|
||||||
|
DWORD level;
|
||||||
|
PTR32 info;
|
||||||
|
PTR32 err;
|
||||||
|
} const *params32 = args;
|
||||||
|
|
||||||
|
struct share_add_params params =
|
||||||
|
{
|
||||||
|
ULongToPtr(params32->server),
|
||||||
|
params32->level,
|
||||||
|
ULongToPtr(params32->info),
|
||||||
|
ULongToPtr(params32->err)
|
||||||
|
};
|
||||||
|
|
||||||
|
return share_add( ¶ms );
|
||||||
|
}
|
||||||
|
|
||||||
|
static NTSTATUS wow64_share_del( void *args )
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
PTR32 server;
|
||||||
|
PTR32 share;
|
||||||
|
DWORD reserved;
|
||||||
|
} const *params32 = args;
|
||||||
|
|
||||||
|
struct share_del_params params =
|
||||||
|
{
|
||||||
|
ULongToPtr(params32->server),
|
||||||
|
ULongToPtr(params32->share),
|
||||||
|
params32->reserved
|
||||||
|
};
|
||||||
|
|
||||||
|
return share_del( ¶ms );
|
||||||
|
}
|
||||||
|
|
||||||
|
static NTSTATUS wow64_wksta_getinfo( void *args )
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
PTR32 server;
|
||||||
|
DWORD level;
|
||||||
|
PTR32 buffer;
|
||||||
|
PTR32 size;
|
||||||
|
} const *params32 = args;
|
||||||
|
|
||||||
|
struct wksta_getinfo_params params =
|
||||||
|
{
|
||||||
|
ULongToPtr(params32->server),
|
||||||
|
params32->level,
|
||||||
|
ULongToPtr(params32->buffer),
|
||||||
|
ULongToPtr(params32->size)
|
||||||
|
};
|
||||||
|
|
||||||
|
return wksta_getinfo( ¶ms );
|
||||||
|
}
|
||||||
|
|
||||||
|
static NTSTATUS wow64_change_password( void *args )
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
PTR32 domain;
|
||||||
|
PTR32 user;
|
||||||
|
PTR32 old;
|
||||||
|
PTR32 new;
|
||||||
|
} const *params32 = args;
|
||||||
|
|
||||||
|
struct change_password_params params =
|
||||||
|
{
|
||||||
|
ULongToPtr(params32->domain),
|
||||||
|
ULongToPtr(params32->user),
|
||||||
|
ULongToPtr(params32->old),
|
||||||
|
ULongToPtr(params32->new)
|
||||||
|
};
|
||||||
|
|
||||||
|
return change_password( ¶ms );
|
||||||
|
}
|
||||||
|
|
||||||
|
const unixlib_entry_t __wine_unix_call_wow64_funcs[] =
|
||||||
|
{
|
||||||
|
netapi_init,
|
||||||
|
wow64_server_getinfo,
|
||||||
|
wow64_share_add,
|
||||||
|
wow64_share_del,
|
||||||
|
wow64_wksta_getinfo,
|
||||||
|
wow64_change_password,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _WIN64 */
|
||||||
|
|
||||||
#endif /* SONAME_LIBNETAPI */
|
#endif /* SONAME_LIBNETAPI */
|
||||||
|
|
Loading…
Reference in a new issue