Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

188 lines
5.1 KiB

/* File: D:\WACKER\xfer\xfer.hh (Created: 16-Dec-1993)
*
* Copyright 1994 by Hilgraeve Inc. -- Monroe, MI
* All rights reserved
*
* $Revision: 2 $
* $Date: 7/12/02 8:12a $
*/
#define FULL_HUNKS(n, s) ((n) / (s))
#define PART_HUNKS(n, s) ((long)(n) == 0L ? 0L : ((long)(n) - 1L) / (long)(s) + 1L)
/* XMODEM and YMODEM specific functions and data structures */
struct stXandYmodemParams
{ /* nSize MUST BE THE FIRST ITEM */
int nSize; /* the size of this data block */
#define XP_ECP_AUTOMATIC 1
#define XP_ECP_CRC 2
#define XP_ECP_CHECKSUM 3
int nErrCheckType; /* XMODEM - what type of error check */
int nPacketWait; /* 1 to 60 seconds */
int nByteWait; /* 1 to 60 seconds */
int nNumRetries; /* 1 - 25 retries */
};
typedef struct stXandYmodemParams XFR_XY_PARAMS;
extern int xfrInitializeXandYmodem(const HSESSION hSession,
VOID **ppData);
extern BOOL CALLBACK XandYmodemParamsDlg(HWND hDlg,
UINT wMsg,
WPARAM wPar,
LPARAM lPar);
extern int xfrModifyXmodem(const HSESSION hSession,
const HWND hwnd,
VOID *pData);
extern int xfrModifyYmodem(const HSESSION hSession,
const HWND hwnd,
VOID *pData);
/* ZMODEM specific functions and data structures */
struct stZmodemParams
{ /* nSize MUST BE THE FIRST ITEM */
int nSize; /* the size of this data block */
int nAutostartOK; /* TRUE if we allow autostarts */
int nFileExists; /* defines follow */
#define ZP_FE_SENDER 1 /* Follow sender A/O options */
#define ZP_FE_DLG 2 /* Follow dialog box options */
int nCrashRecRecv; /* defines follow */
#define ZP_CRR_NEG 1 /* Negotiate */
#define ZP_CRR_NEVER 2 /* Never recover */
#define ZP_CRR_ALWAYS 3 /* Always recover */
int nOverwriteOpt; /* defines follow */
#define ZP_OO_NONE 1 /* None */
#define ZP_OO_N_L 2 /* Newer or longer */
#define ZP_OO_CRC 3 /* CRC differs */
#define ZP_OO_APPEND 4 /* Append to file */
#define ZP_OO_ALWAYS 5 /* Overwrite always */
#define ZP_OO_NEWER 6 /* Newer */
#define ZP_OO_L_D 7 /* Length or date differ */
#define ZP_OO_NEVER 8 /* Never overwrite */
int nCrashRecSend; /* defines follow */
#define ZP_CRS_NEG 1 /* Negotiate */
#define ZP_CRS_ONCE 2 /* One time */
#define ZP_CRS_ALWAYS 3 /* Always */
int nXferMthd; /* defines follow */
#define ZP_XM_STREAM 1 /* Streaming mode */
#define ZP_XM_WINDOW 2 /* Windowed mode */
int nWinSize; /* Window size 1K to 32K */
/* TODO: check and document the format */
#if defined(UPPER_FEATURES)
int nBlkSize; /* Block size 32 - 1024 bytes */
/* TODO: check and document the format */
#endif // defined(UPPER_FEATURES)
int nCrcType; /* defines follow */
#define ZP_CRC_16 1
#define ZP_CRC_32 2
int nRetryWait; /* integer between 5 and 100 seconds */
int nEolConvert; /* EOL conversion TRUE or FALSE */
int nEscCtrlCodes; /* escape control codes, T or F */
};
typedef struct stZmodemParams XFR_Z_PARAMS;
extern int xfrInitializeZmodem(const HSESSION hSession,
int nProtocol,
VOID **ppData);
extern BOOL CALLBACK ZmodemParamsDlg(HWND hDlg,
UINT wMsg,
WPARAM wPar,
LPARAM lPar);
extern int xfrModifyZmodem(const HSESSION hSession,
const HWND hwnd,
VOID *pData);
/* HyperProtocol specific functions and data structures */
struct stHyperProtocolParams
{ /* nSize MUST BE THE FIRST ITEM */
int nSize; /* the size of this data block */
#define HP_CT_CHECKSUM 1
#define HP_CT_CRC 2
int nCheckType; /* the check type */
int nBlockSize; /* 128 - 16384 bytes */
int nResyncTimeout; /* 3-60 seconds */
};
typedef struct stHyperProtocolParams XFR_HP_PARAMS;
extern int xfrInitializeHyperProtocol(const HSESSION hSession,
VOID **ppData);
extern BOOL CALLBACK HyperProtocolParamsDlg(HWND hDlg,
UINT wMsg,
WPARAM wPar,
LPARAM lPar);
extern int xfrModifyHyperProtocol(const HSESSION hSession,
const HWND hwnd,
VOID *pData);
/* Kermit specific functions and data structures */
struct stKermitParams
{ /* nSize MUST BE THE FIRST ITEM */
int nSize; /* the size of this data block */
int nBytesPerPacket; /* you can guess */
int nSecondsWaitPacket;
int nErrorCheckSize;
int nRetryCount;
int nPacketStartChar;
int nPacketEndChar;
int nNumberPadChars;
int nPadChar;
};
typedef struct stKermitParams XFR_KR_PARAMS;
extern int xfrInitializeKermit(const HSESSION hSession,
VOID **ppData);
extern BOOL CALLBACK KermitParamsDlg(HWND hDlg,
UINT wMsg,
WPARAM wPar,
LPARAM lPar);
extern int xfrModifyKermit(const HSESSION hSession,
const HWND hwnd,
VOID *pData);
/* Generic functions */
extern int xfrInitializeParams(const HSESSION hSession,
const int nProtocol,
VOID **ppData);
extern int xfrModifyParams(const HSESSION hSession,
const int nProtocol,
const HWND hwnd,
VOID *pData);