Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

176 lines
3.5 KiB

#ifndef _RPLPULL_
#define _RPLPULL_
#ifdef __cplusplus
extern "C" {
#endif
/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
rplpull.h
Abstract:
Functions:
Portability:
This header is portable.
Author:
Pradeep Bahl (PradeepB) Jan-1993
Revision History:
Modification Date Person Description of Modification
------------------ ------- ---------------------------
--*/
/*
includes
*/
#include "wins.h"
#include "rpl.h"
/*
defines
*/
/*
macros
*/
/*
externs
*/
extern HANDLE RplPullCnfEvtHdl; //handle to event signaled by main
//thread when a configuration change
//has to be given to the Pull handler
//thread
#if 0
extern BOOL fRplPullAddDiffInCurrRplCycle;
extern BOOL fRplPullTriggeredWins; //indicates that during the current
//replication cycle, one or more
//WINS's were triggered. This
//when TRUE, then if the above
//"AddDiff.." flag is TRUE, it means
//that the PULL thread should trigger
//all PULL Pnrs that have an INVALID
//metric in their UpdateCount field
//(of the RPL_CONFIG_T struct)
extern BOOL fRplPullTrigger;//Indication to the PULL thread to
//trigger Pull pnrs since one or more
//address changed. fRplPullTriggerWins
//has got be FALSE when this is true
#endif
//
// indicates whether the pull thread sent a continue signal to the SC
//
extern BOOL fRplPullContinueSent;
//
// This array is indexed by the id. of an RQ server that has entries in
// our database. Each owner's max. version number is stored in this array
//
extern PRPL_VERS_NOS_T pRplPullOwnerVersNo;
extern DWORD RplPullCnfMagicNo;
extern DWORD RplPullMaxNoOfWins; //slots in the RplPullOwnerVersNo
/*
typedef definitions
*/
typedef struct _PUSHPNR_DATA_T {
DWORD PushPnrId; //id of the Push Pnr
COMM_ADD_T WinsAdd; //address of the Push Pnr
PRPL_CONFIG_REC_T pPullCnfRec; //configuration record.
COMM_HDL_T DlgHdl; //Hdl of dlg with Push Pnr
BOOL fPrsConn; //indicates whether dlg is persistent
DWORD NoOfMaps; //no of IP address to Version No.
//Maps sent by the Push Pnr
PRPL_ADD_VERS_NO_T pAddVers; //maps
DWORD RplType; //type of replication
BYTE fDlgStarted; //indicates whether the dlg has
//been started
BOOL fToUse;
VERS_NO_T MaxVersNoToGet;
} PUSHPNR_DATA_T, *PPUSHPNR_DATA_T;
typedef struct _PUSHPNR_TO_PULL_FROM_T {
PPUSHPNR_DATA_T pPushPnrData;
VERS_NO_T VersNo; //max version number for an owner
} PUSHPNR_TO_PULL_FROM_T, *PPUSHPNR_TO_PULL_FROM_T;
/*
function declarations
*/
extern DWORD RplPullInit(LPVOID);
extern
VOID
RplPullPullEntries(
PCOMM_HDL_T pDlgHdl,
DWORD OwnerId,
VERS_NO_T MaxVersNo,
VERS_NO_T MinVersNo,
WINS_CLIENT_E Client_e,
LPBYTE *ppRspBuff,
BOOL fUpdCntrs,
DWORD RplType
);
extern
STATUS
RplPullRegRepl(
LPBYTE pName,
DWORD NameLen,
DWORD Flag,
DWORD OwnerId,
VERS_NO_T VersNo,
DWORD NoOfAdds,
PCOMM_ADD_T pNodeAdd,
PCOMM_ADD_T pOwnerWinsAdd,
DWORD RplType
);
VOID
RplPullAllocVersNoArray(
PRPL_VERS_NOS_T *ppRplOwnerVersNo,
DWORD CurrentNo
);
#ifdef __cplusplus
}
#endif
#endif //_RPLPULL_