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
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);
|
|
|