24 void *(*check_detail) (
char *,
char *);
62 void *(*check_detail) (
char *,
char *),
101 newtype->check_detail = check_detail;
136 handle->
type = ttype;
146 errmsg(
"unrecognized target: \"%s\"", target)));
215 if (target_detail !=
NULL)
218 errmsg(
"target \"%s\" does not accept a target detail",
234 if (target_detail ==
NULL)
237 errmsg(
"target \"%s\" requires a target detail",
240 return target_detail;
bbsink * bbsink_server_new(bbsink *next, char *pathname)
static void * reject_target_detail(char *target, char *target_detail)
BaseBackupTargetHandle * BaseBackupGetTargetHandle(char *target, char *target_detail)
static bbsink * server_get_sink(bbsink *next_sink, void *detail_arg)
static List * BaseBackupTargetTypeList
static bbsink * blackhole_get_sink(bbsink *next_sink, void *detail_arg)
bbsink * BaseBackupGetSink(BaseBackupTargetHandle *handle, bbsink *next_sink)
static BaseBackupTargetType builtin_backup_targets[]
static void * server_check_detail(char *target, char *target_detail)
void BaseBackupAddTarget(char *name, void *(*check_detail)(char *, char *), bbsink *(*get_sink)(bbsink *, void *))
static void initialize_target_list(void)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define palloc_object(type)
List * lappend(List *list, void *datum)
char * pstrdup(const char *in)
MemoryContext TopMemoryContext
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
BaseBackupTargetType * type
void *(* check_detail)(char *, char *)
bbsink *(* get_sink)(bbsink *, void *)