You've already forked FileManager
mirror of
https://github.com/Team-Resurgent/FileManager.git
synced 2026-04-30 10:38:50 -07:00
33 lines
1.2 KiB
C++
33 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "socketUtility.h"
|
|
#include "fileSystem.h"
|
|
#include <cstdio>
|
|
#include <xtl.h>
|
|
#include <winsockx.h>
|
|
|
|
class ftpServer {
|
|
public:
|
|
typedef enum _ReceiveStatus {
|
|
ReceiveStatus_OK = 1,
|
|
ReceiveStatus_Network_Error,
|
|
ReceiveStatus_Timeout,
|
|
ReceiveStatus_Invalid_Data,
|
|
ReceiveStatus_Insufficient_Buffer
|
|
} ReceiveStatus;
|
|
|
|
static bool WINAPI connectionThread(uint64_t pParam);
|
|
|
|
static bool WINAPI listenThread(LPVOID lParam);
|
|
|
|
static bool init();
|
|
static void close();
|
|
static bool socketSendString(uint64_t s, const char* format, ...);
|
|
static ReceiveStatus socketReceiveString(uint64_t s, char* psz, uint32_t dwMaxChars, uint32_t* pdwCharsReceived);
|
|
static ReceiveStatus socketReceiveLetter(uint64_t s, char* pch, uint32_t dwMaxChars, uint32_t* pdwCharsReceived);
|
|
static ReceiveStatus socketReceiveData(uint64_t s, char* psz, uint32_t dwBytesToRead, uint32_t* pdwBytesRead);
|
|
static uint64_t establishDataConnection(sockaddr_in* psaiData, uint64_t* psPasv);
|
|
static bool receiveSocketFile(uint64_t sCmd, uint64_t sData, uint32_t fileHandle);
|
|
static bool sendSocketFile(uint64_t sCmd, uint64_t sData, uint32_t fileHandle, uint32_t* pdwAbortFlag);
|
|
};
|