38 lines
1.0 KiB
C
38 lines
1.0 KiB
C
/*-------------------------------------------------------------------------
|
|
* injection_point.h
|
|
* Definitions related to injection points.
|
|
*
|
|
* Copyright (c) 2001-2024, PostgreSQL Global Development Group
|
|
*
|
|
* src/include/utils/injection_point.h
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef INJECTION_POINT_H
|
|
#define INJECTION_POINT_H
|
|
|
|
/*
|
|
* Injections points require --enable-injection-points.
|
|
*/
|
|
#ifdef USE_INJECTION_POINTS
|
|
#define INJECTION_POINT(name) InjectionPointRun(name)
|
|
#else
|
|
#define INJECTION_POINT(name) ((void) name)
|
|
#endif
|
|
|
|
/*
|
|
* Typedef for callback function launched by an injection point.
|
|
*/
|
|
typedef void (*InjectionPointCallback) (const char *name);
|
|
|
|
extern Size InjectionPointShmemSize(void);
|
|
extern void InjectionPointShmemInit(void);
|
|
|
|
extern void InjectionPointAttach(const char *name,
|
|
const char *library,
|
|
const char *function);
|
|
extern void InjectionPointRun(const char *name);
|
|
extern void InjectionPointDetach(const char *name);
|
|
|
|
#endif /* INJECTION_POINT_H */
|