11#ifndef INJECTION_POINT_H
12#define INJECTION_POINT_H
17#ifdef USE_INJECTION_POINTS
18#define INJECTION_POINT_LOAD(name) InjectionPointLoad(name)
19#define INJECTION_POINT(name, arg) InjectionPointRun(name, arg)
20#define INJECTION_POINT_CACHED(name, arg) InjectionPointCached(name, arg)
21#define IS_INJECTION_POINT_ATTACHED(name) IsInjectionPointAttached(name)
23#define INJECTION_POINT_LOAD(name) ((void) name)
24#define INJECTION_POINT(name, arg) ((void) name)
25#define INJECTION_POINT_CACHED(name, arg) ((void) name)
26#define IS_INJECTION_POINT_ATTACHED(name) (false)
33 const void *private_data,
42 const void *private_data,
43 int private_data_size);
51extern PGDLLIMPORT struct InjectionPointsCtl *ActiveInjectionPoints;
void InjectionPointShmemInit(void)
Size InjectionPointShmemSize(void)
void InjectionPointLoad(const char *name)
bool InjectionPointDetach(const char *name)
void InjectionPointRun(const char *name, void *arg)
bool IsInjectionPointAttached(const char *name)
void InjectionPointAttach(const char *name, const char *library, const char *function, const void *private_data, int private_data_size)
void(* InjectionPointCallback)(const char *name, const void *private_data, void *arg)
void InjectionPointCached(const char *name, void *arg)
on_exit_nicely_callback function