In commits 
9c02e3a986da and 
8ec0aaeae094, Nathan added a duplicate
TocEntry typedef forward declaration (plus assorted #ifdef hackery to
avoid C99 preprocessor issues) to deal with some very old untidyness
regarding DefnDumperPtr function prototype being located in pg_backup.h.
But there's no reason to have the DefnDumperPtr typedef (and the
accompanying DataDumperPtr typedef) in that file at all; they are better
placed in pg_backup_archiver.h, the internal header, because they are
only used internally.  That also requires zero #ifdef hackery, so move
them there.
Reviewed-by: Tom Lane <[email protected]>
Discussion: https://postgr.es/m/
202504042140[email protected]
 /*
  * Function pointer prototypes for assorted callback methods.
  */
-
-/* forward declaration to avoid including pg_backup_archiver.h here */
-#ifndef HAVE_TOCENTRY_TYPEDEF
-typedef struct _tocEntry TocEntry;
-#define HAVE_TOCENTRY_TYPEDEF 1
-#endif
-
-typedef char *(*DefnDumperPtr) (Archive *AH, const void *userArg, const TocEntry *te);
-typedef int (*DataDumperPtr) (Archive *AH, const void *userArg);
-
 typedef void (*SetupWorkerPtrType) (Archive *AH);
 
 /*
 
 #define WORKER_IGNORED_ERRORS        12
 
 typedef struct _archiveHandle ArchiveHandle;
-#ifndef HAVE_TOCENTRY_TYPEDEF
 typedef struct _tocEntry TocEntry;
-#define HAVE_TOCENTRY_TYPEDEF 1
-#endif
 struct ParallelState;
 
 #define READ_ERROR_EXIT(fd) \
    struct _tocEntry *lastErrorTE;
 };
 
+
+typedef char *(*DefnDumperPtr) (Archive *AH, const void *userArg, const TocEntry *te);
+typedef int (*DataDumperPtr) (Archive *AH, const void *userArg);
+
 struct _tocEntry
 {
    struct _tocEntry *prev;