extern PGDLLEXPORT const OAuthValidatorCallbacks *_PG_oauth_validator_module_init(void);
/* Implementation */
-extern const pg_be_sasl_mech pg_be_oauth_mech;
+extern PGDLLIMPORT const pg_be_sasl_mech pg_be_oauth_mech;
/*
* Ensure a validator named in the HBA is permitted by the configuration.
} PMChild;
#ifdef EXEC_BACKEND
-extern int num_pmchild_slots;
+extern PGDLLIMPORT int num_pmchild_slots;
#endif
/* GUC options */
#endif
/* defined in pmchild.c */
-extern dlist_head ActiveChildList;
+extern PGDLLIMPORT dlist_head ActiveChildList;
extern void InitPostmasterChildSlots(void);
extern PMChild *AssignPostmasterChildSlot(BackendType btype);
extern PGDLLIMPORT int backend_flush_after;
extern PGDLLIMPORT int bgwriter_flush_after;
-extern const PgAioHandleCallbacks aio_shared_buffer_readv_cb;
-extern const PgAioHandleCallbacks aio_local_buffer_readv_cb;
+extern PGDLLIMPORT const PgAioHandleCallbacks aio_shared_buffer_readv_cb;
+extern PGDLLIMPORT const PgAioHandleCallbacks aio_local_buffer_readv_cb;
/* in buf_init.c */
extern PGDLLIMPORT char *BufferBlocks;
#include "storage/smgr.h"
#include "storage/sync.h"
-extern const PgAioHandleCallbacks aio_md_readv_cb;
+extern PGDLLIMPORT const PgAioHandleCallbacks aio_md_readv_cb;
/* md storage manager functionality */
extern void mdinit(void);
#define SmgrIsTemp(smgr) \
RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator)
-extern const PgAioTargetInfo aio_smgr_target_info;
+extern PGDLLIMPORT const PgAioTargetInfo aio_smgr_target_info;
extern void smgrinit(void);
extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend);