49.1. Функции инициализации#

49.1. Функции инициализации

49.1. Функции инициализации

Библиотека архива загружается путем динамической загрузки общей библиотеки с именем archive_library в качестве базового имени библиотеки. Для поиска библиотеки используется обычный путь поиска библиотек. Чтобы предоставить необходимые обратные вызовы модуля архива и указать, что библиотека на самом деле является модулем архива, она должна предоставить функцию с именем _PG_archive_module_init. Эта функция получает структуру, которую необходимо заполнить указателями на функции обратного вызова для отдельных действий.

typedef struct ArchiveModuleCallbacks
{
    ArchiveCheckConfiguredCB check_configured_cb;
    ArchiveFileCB archive_file_cb;
    ArchiveShutdownCB shutdown_cb;
} ArchiveModuleCallbacks;
typedef void (*ArchiveModuleInit) (struct ArchiveModuleCallbacks *cb);

Требуется только обратный вызов archive_file_cb. Остальные являются необязательными.