Blame src/internal/tpax_errinfo_impl.h

5874a9
/**************************************************************/
5874a9
/*  tpax: a topological pax implementation                    */
5874a9
/*  Copyright (C) 2020--2021  SysDeer Technologies, LLC       */
5874a9
/*  Released under GPLv2 and GPLv3; see COPYING.TPAX.         */
5874a9
/**************************************************************/
88751e
88751e
#include <errno.h>
88751e
#include <tpax/tpax.h>
88751e
88751e
int tpax_record_error(
88751e
	const struct tpax_driver_ctx *,
88751e
	int		esyscode,
88751e
	int		elibcode,
88751e
	const char *	efunction,
88751e
	int		eline,
88751e
	unsigned	eflags,
88751e
	void *		ectx);
88751e
88751e
#define TPAX_SYSTEM_ERROR(dctx)           \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		errno,                    \
88751e
		0,                        \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_TOP_LEVEL,     \
88751e
		0)
88751e
88751e
#define TPAX_BUFFER_ERROR(dctx)           \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		ENOBUFS,                  \
88751e
		0,                        \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_TOP_LEVEL,     \
88751e
		0)
88751e
88751e
#define TPAX_SPAWN_ERROR(dctx)            \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		errno,                    \
88751e
		0,                        \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_TOP_LEVEL      \
88751e
		| (errno ? 0              \
88751e
		   : TPAX_ERROR_CHILD),   \
88751e
		0)
88751e
88751e
#define TPAX_FILE_ERROR(dctx)             \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		EIO,                      \
88751e
		0,                        \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_TOP_LEVEL,     \
88751e
		0)
88751e
88751e
#define TPAX_CUSTOM_ERROR(dctx,elibcode)  \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		0,                        \
88751e
		elibcode,                 \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_TOP_LEVEL      \
88751e
		| TPAX_ERROR_CUSTOM,      \
88751e
		0)
88751e
88751e
#define TPAX_NESTED_ERROR(dctx)           \
88751e
	tpax_record_error(                \
88751e
		dctx,                     \
88751e
		0,                        \
88751e
		0,                        \
88751e
		__func__,                 \
88751e
		__LINE__,                 \
88751e
		TPAX_ERROR_NESTED,        \
88751e
		0)