11#ifndef INJECTION_POINT_H
12#define INJECTION_POINT_H
30#ifdef USE_INJECTION_POINTS
31#define INJECTION_POINT_LOAD(name) InjectionPointLoad(name)
32#define INJECTION_POINT(name, arg) InjectionPointRun(name, arg)
33#define INJECTION_POINT_CACHED(name, arg) InjectionPointCached(name, arg)
34#define IS_INJECTION_POINT_ATTACHED(name) IsInjectionPointAttached(name)
36#define INJECTION_POINT_LOAD(name) ((void) name)
37#define INJECTION_POINT(name, arg) ((void) name)
38#define INJECTION_POINT_CACHED(name, arg) ((void) name)
39#define IS_INJECTION_POINT_ATTACHED(name) (false)
46 const void *private_data,
55 const void *private_data,
56 int private_data_size);
67extern PGDLLIMPORT struct InjectionPointsCtl *ActiveInjectionPoints;
void InjectionPointShmemInit(void)
Size InjectionPointShmemSize(void)
void InjectionPointLoad(const char *name)
bool InjectionPointDetach(const char *name)
List * InjectionPointList(void)
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)
struct InjectionPointData InjectionPointData
void InjectionPointCached(const char *name, void *arg)
on_exit_nicely_callback function