mirror of https://github.com/tongzx/nt5src
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.
92 lines
2.7 KiB
92 lines
2.7 KiB
/*
|
|
* declaration of client library functions for
|
|
* remote checksum server.
|
|
*
|
|
* statically linked to the calling program.
|
|
*/
|
|
|
|
/* -- functions defined in library ------------------------------- */
|
|
|
|
/* connect to the remote server */
|
|
HANDLE ss_connect(PSTR server);
|
|
|
|
/* send a request */
|
|
BOOL ss_sendrequest(HANDLE hpipe, long lCode, PSTR szPath, int lenpath, DWORD dwFlags);
|
|
|
|
/* receive a standard response block */
|
|
int ss_getresponse(HANDLE hpipe, PSSNEWRESP presp);
|
|
|
|
/* cleanly close a correctly-finished conversation */
|
|
void ss_terminate(HANDLE hpipe);
|
|
|
|
/* send a SSREQ_UNC */
|
|
BOOL ss_sendunc(HANDLE hpipe, PSTR password, PSTR server);
|
|
|
|
// I think this is obsolete - let's see if it still links without error.
|
|
// if so, please delete me!
|
|
// /* return a checksum for a file */
|
|
// ULONG ss_checksum(HANDLE hFile);
|
|
|
|
/* return a checksum for a block of data */
|
|
ULONG ss_checksum_block(PSTR block, int size);
|
|
|
|
/* checksum a single file using the checksum server */
|
|
BOOL ss_checksum_remote( HANDLE hpipe, PSTR path, ULONG * psum, FILETIME * pft, LONG * pSize,
|
|
DWORD *pAttr );
|
|
|
|
/* Call this before a sequence of ss_bulkcopy calls. This should be
|
|
considerably faster than calls to ss_copy_reliable.
|
|
Call ss_endcopy afterwards (the copying is not complete until endcopy
|
|
has completed.
|
|
*/
|
|
BOOL ss_startcopy(PSTR server, PSTR uncname, PSTR password);
|
|
|
|
/* negative retcode = number of bad files,
|
|
else number of files copied (none bad)
|
|
*/
|
|
int ss_endcopy(void);
|
|
|
|
/*
|
|
* request to copy a file
|
|
*
|
|
* returns TRUE if it succeeded or FALSE if the connection was lost
|
|
* TRUE only means the REQUEST was sent.
|
|
*/
|
|
BOOL ss_bulkcopy(PSTR server, PSTR remotepath, PSTR localpath, PSTR uncname,
|
|
PSTR password);
|
|
|
|
/*
|
|
* reliably copy a file (repeat (upto N times) until checksums match)
|
|
* unc connection is made first if uncname and password are non-null
|
|
*/
|
|
BOOL ss_copy_reliable(PSTR server, PSTR remotepath, PSTR localpath, PSTR uncname,
|
|
PSTR password);
|
|
|
|
/* copy one file using checksum server */
|
|
BOOL ss_copy_file(HANDLE hpipe, PSTR remotepath, PSTR localpath);
|
|
|
|
|
|
VOID ss_setretries(int retries);
|
|
|
|
/* get a block of unspecified type */
|
|
int ss_getblock(HANDLE hpipe, PSTR block, int blocksize);
|
|
|
|
/* --- functions called from library - defined in calling program ------ */
|
|
|
|
/*
|
|
* print a fatal error; allow 'cancel' button if fCancel TRUE. Returns
|
|
* TRUE for OK.
|
|
*/
|
|
BOOL APIENTRY Trace_Error(HWND hwnd, LPSTR str, BOOL fCancel);
|
|
|
|
/*
|
|
* print a status report on non-fatal error (eg 'retrying...').
|
|
* can be no-op if status not desired.
|
|
*/
|
|
void Trace_Status(LPSTR str);
|
|
|
|
/*
|
|
* client app must define this (can be set to NULL - used for MessageBox)
|
|
*/
|
|
extern HWND hwndClient;
|
|
|