154 lines
3.6 KiB
C
154 lines
3.6 KiB
C
|
/* ----------------------------------------------------------------------
|
|||
|
|
|||
|
Copyright (c) 1996, Microsoft Corporation
|
|||
|
All rights reserved
|
|||
|
|
|||
|
mbftpch.h
|
|||
|
|
|||
|
---------------------------------------------------------------------- */
|
|||
|
|
|||
|
#define _WINDOWS
|
|||
|
|
|||
|
// System Include files
|
|||
|
#include <windows.h>
|
|||
|
#include <windowsx.h>
|
|||
|
#include <objbase.h>
|
|||
|
#include <commdlg.h>
|
|||
|
#include <shellapi.h>
|
|||
|
#include <time.h>
|
|||
|
|
|||
|
// Oprah files
|
|||
|
#include <oprahcom.h>
|
|||
|
#include <confdbg.h>
|
|||
|
#include <cstring.hpp>
|
|||
|
|
|||
|
// Local Include files
|
|||
|
#include <ConfDbg.h>
|
|||
|
#include <debspew.h>
|
|||
|
#include <confreg.h>
|
|||
|
|
|||
|
// MBFT include files
|
|||
|
|
|||
|
extern "C"
|
|||
|
{
|
|||
|
#include "t120.h"
|
|||
|
}
|
|||
|
|
|||
|
#include <imcsapp.h>
|
|||
|
#include <igccapp.h>
|
|||
|
#include <imbft.h>
|
|||
|
|
|||
|
#include "mbftdbg.h"
|
|||
|
|
|||
|
#include "ms_util.h"
|
|||
|
#include "cntlist.h"
|
|||
|
|
|||
|
const USHORT _MBFT_CONTROL_CHANNEL = 9;
|
|||
|
const USHORT _MBFT_DATA_CHANNEL = 10;
|
|||
|
|
|||
|
const ULONG _iMBFT_PROSHARE_ALL_FILES = 0xFFFFFFFF;
|
|||
|
const UINT _iMBFT_DEFAULT_SESSION = _MBFT_CONTROL_CHANNEL; // 9
|
|||
|
const UINT _iMBFT_CREATE_NEW_SESSION = 0;
|
|||
|
const UINT _iMBFT_MAX_PATH = MAX_PATH; //Max chars in file pathname
|
|||
|
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
MBFT_STATIC_MODE,
|
|||
|
MBFT_MULTICAST_MODE,
|
|||
|
// MBFT_PRIVATE_MODE, // not used at all
|
|||
|
}
|
|||
|
MBFT_MODE;
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
MBFT_PRIVATE_SEND_TYPE,
|
|||
|
MBFT_PRIVATE_RECV_TYPE,
|
|||
|
MBFT_BROADCAST_RECV_TYPE,
|
|||
|
}
|
|||
|
MBFT_SESSION_TYPE;
|
|||
|
|
|||
|
|
|||
|
// A list of the notification callbacks to the app
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
iMBFT_FILE_OFFER,
|
|||
|
iMBFT_FILE_SEND_BEGIN,
|
|||
|
iMBFT_FILE_SEND_END,
|
|||
|
iMBFT_FILE_SEND_PROGRESS,
|
|||
|
iMBFT_FILE_RECEIVE_PROGRESS,
|
|||
|
iMBFT_FILE_RECEIVE_BEGIN,
|
|||
|
iMBFT_FILE_RECEIVE_END,
|
|||
|
}
|
|||
|
MBFT_NOTIFICATION;
|
|||
|
|
|||
|
|
|||
|
// Prototype of callback function that MBFT client apps must implement
|
|||
|
typedef void (CALLBACK * MBFTCALLBACK)(
|
|||
|
MBFT_NOTIFICATION eNotificationCode,
|
|||
|
WPARAM wParam, // error code if appropriate
|
|||
|
LPARAM lParam, // Ptr to struct with event info
|
|||
|
LPARAM lpCallerDefined); // Client defined - see MBFTInitialize
|
|||
|
|
|||
|
|
|||
|
// #define MAX_APP_KEY_SIZE 100
|
|||
|
#define MAX_APP_KEY_SIZE 16 // applet name
|
|||
|
|
|||
|
// global strings that should not be localized
|
|||
|
#define MY_APP_STR "_MSCONFFT"
|
|||
|
#define PROSHARE_STRING "NetMeeting 1 MBFT"
|
|||
|
#define PROSHARE_FILE_END_STRING "NetMeeting 1 FileEnd"
|
|||
|
#define PROSHARE_CHANNEL_LEAVE_STRING "NetMeeting 1 ChannelLeave"
|
|||
|
#define DATA_CHANNEL_RESOURCE_ID "D0"
|
|||
|
|
|||
|
// capabilities
|
|||
|
extern const GCCAppCap* g_aAppletCaps[4];
|
|||
|
extern const GCCNonCollCap* g_aAppletNonCollCaps[2];
|
|||
|
|
|||
|
// applet session key
|
|||
|
extern GCCSessionKey g_AppletSessionKey;
|
|||
|
|
|||
|
// work thread ID
|
|||
|
extern HINSTANCE g_hDllInst;
|
|||
|
extern DWORD g_dwWorkThreadID;
|
|||
|
extern CRITICAL_SECTION g_csWorkThread;
|
|||
|
extern TCHAR g_szMBFTWndClassName[32];
|
|||
|
|
|||
|
LRESULT CALLBACK MBFTNotifyWndProc(HWND, UINT, WPARAM, LPARAM);
|
|||
|
|
|||
|
#include "osshelp.hpp"
|
|||
|
#include "messages.hpp"
|
|||
|
#include "applet.hpp"
|
|||
|
#include "mbft.hpp"
|
|||
|
#include "mbftapi.hpp"
|
|||
|
|
|||
|
#include "ftui.h"
|
|||
|
#include "ftldr.h"
|
|||
|
|
|||
|
#include "t127pdus.h"
|
|||
|
|
|||
|
|
|||
|
#define GetFileNameFromPath ExtractFileName
|
|||
|
|
|||
|
// from mbftsend.cpp
|
|||
|
VOID MbftInitDelay(void);
|
|||
|
|
|||
|
#define ClearStruct(lpv) ZeroMemory((LPVOID) (lpv), sizeof(*(lpv)))
|
|||
|
|
|||
|
// nPeerID is actually nUserID of file transfer
|
|||
|
typedef DWORD MEMBER_ID;
|
|||
|
#define MAKE_MEMBER_ID(nPeerID,nNodeID) MAKELONG((nPeerID), (nNodeID))
|
|||
|
#define GET_PEER_ID_FROM_MEMBER_ID(nMemberID) LOWORD((nMemberID))
|
|||
|
#define GET_NODE_ID_FROM_MEMBER_ID(nMemberID) HIWORD((nMemberID))
|
|||
|
|
|||
|
|
|||
|
extern ULONG g_nSendDisbandDelay;
|
|||
|
extern ULONG g_nChannelResponseDelay;
|
|||
|
|
|||
|
extern BOOL g_fSendAllowed;
|
|||
|
extern BOOL g_fRecvAllowed;
|
|||
|
extern UINT_PTR g_cbMaxSendFileSize;
|
|||
|
|
|||
|
extern BOOL g_fNoUI;
|
|||
|
|
|||
|
|