262 lines
4.3 KiB
C
262 lines
4.3 KiB
C
/*++
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
ftpstub.c
|
||
|
||
Abstract:
|
||
|
||
Client stubs of the FTP Daemon APIs.
|
||
|
||
Author:
|
||
|
||
Dan Hinsley (DanHi) 23-Mar-1993
|
||
|
||
Environment:
|
||
|
||
User Mode - Win32
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#include "ftpsvc.h" // FTP_USER_ENUM_STRUCT
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpEnumerateUsers(
|
||
IN LPWSTR Server OPTIONAL,
|
||
OUT LPDWORD EntriesRead,
|
||
OUT LPFTP_USER_INFO * Buffer
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
FTP_USER_ENUM_STRUCT EnumStruct;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprEnumerateUsers(
|
||
Server,
|
||
&EnumStruct
|
||
);
|
||
*EntriesRead = EnumStruct.EntriesRead;
|
||
*Buffer = EnumStruct.Buffer;
|
||
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpDisconnectUser(
|
||
IN LPWSTR Server OPTIONAL,
|
||
IN DWORD User
|
||
)
|
||
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprDisconnectUser(
|
||
Server,
|
||
User
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpQueryVolumeSecurity(
|
||
IN LPWSTR Server OPTIONAL,
|
||
OUT LPDWORD ReadAccess,
|
||
OUT LPDWORD WriteAccess
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprQueryVolumeSecurity(
|
||
Server,
|
||
ReadAccess,
|
||
WriteAccess
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpSetVolumeSecurity(
|
||
IN LPWSTR Server OPTIONAL,
|
||
IN DWORD ReadAccess,
|
||
IN DWORD WriteAccess
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprSetVolumeSecurity(
|
||
Server,
|
||
ReadAccess,
|
||
WriteAccess
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpQueryStatistics(
|
||
IN LPWSTR Server OPTIONAL,
|
||
IN DWORD Level,
|
||
OUT LPBYTE * Buffer
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
*Buffer = NULL;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprQueryStatistics(
|
||
Server,
|
||
Level,
|
||
(LPSTATISTICS_INFO)Buffer
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
I_FtpClearStatistics(
|
||
IN LPWSTR Server OPTIONAL
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = I_FtprClearStatistics(
|
||
Server
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
|
||
}
|
||
|
||
|
||
NET_API_STATUS
|
||
NET_API_FUNCTION
|
||
FtpGetAdminInformation(
|
||
IN LPWSTR pszServer OPTIONAL,
|
||
OUT LPFTP_CONFIG_INFO * ppConfig
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = FtprGetAdminInformation(
|
||
pszServer,
|
||
ppConfig
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
}
|
||
|
||
NET_API_STATUS
|
||
NET_API_FUNCTION
|
||
FtpSetAdminInformation(
|
||
IN LPWSTR pszServer OPTIONAL,
|
||
IN LPFTP_CONFIG_INFO pConfig
|
||
)
|
||
{
|
||
NET_API_STATUS status;
|
||
|
||
RpcTryExcept {
|
||
|
||
//
|
||
// Try RPC (local or remote) version of API.
|
||
//
|
||
status = FtprSetAdminInformation(
|
||
pszServer,
|
||
pConfig
|
||
);
|
||
}
|
||
RpcExcept (1) {
|
||
status = RpcExceptionCode();
|
||
}
|
||
RpcEndExcept
|
||
|
||
return (status);
|
||
}
|
||
|