#ifndef SYNC_H
#define SYNC_H
#include "storage/relfilenode.h"
typedef enum SyncRequestType
{
SYNC_REQUEST,
SYNC_UNLINK_REQUEST,
SYNC_FORGET_REQUEST,
SYNC_FILTER_REQUEST
} SyncRequestType;
typedef enum SyncRequestHandler
{
SYNC_HANDLER_MD = 0
} SyncRequestHandler;
typedef struct FileTag
{
int16 handler;
int16 forknum;
RelFileNode rnode;
uint32 segno;
} FileTag;
extern void InitSync(void);
extern void SyncPreCheckpoint(void);
extern void SyncPostCheckpoint(void);
extern void ProcessSyncRequests(void);
extern void RememberSyncRequest(const FileTag *ftag, SyncRequestType type);
extern void EnableSyncRequestForwarding(void);
extern bool RegisterSyncRequest(const FileTag *ftag, SyncRequestType type,
bool retryOnError);
#endif