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.
|
|
#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_
|