Blame src/internal/perk_errinfo_impl.h
|
|
db655e |
/***************************************************************/
|
|
|
db655e |
/* perk: PE Resource Kit */
|
|
|
db655e |
/* Copyright (C) 2015--2016 Z. Gilboa */
|
|
|
db655e |
/* Released under GPLv2 and GPLv3; see COPYING.PERK. */
|
|
|
db655e |
/***************************************************************/
|
|
|
db655e |
|
|
|
db655e |
#include <errno.h>
|
|
|
db655e |
#include <perk/perk.h>
|
|
|
db655e |
|
|
|
db655e |
int pe_record_error(
|
|
|
db655e |
const struct pe_driver_ctx *,
|
|
|
db655e |
int syserror,
|
|
|
db655e |
int liberror,
|
|
|
db655e |
const char * function,
|
|
|
db655e |
int line,
|
|
|
db655e |
unsigned flags,
|
|
|
db655e |
void * ctx);
|
|
|
db655e |
|
|
|
db655e |
#define PERK_SYSTEM_ERROR(dctx) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
errno, \
|
|
|
db655e |
0, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_TOP_LEVEL, \
|
|
|
db655e |
0)
|
|
|
db655e |
|
|
|
db655e |
#define PERK_BUFFER_ERROR(dctx) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
ENOBUFS, \
|
|
|
db655e |
0, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_TOP_LEVEL, \
|
|
|
db655e |
0)
|
|
|
db655e |
|
|
|
db655e |
#define PERK_SPAWN_ERROR(dctx) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
errno, \
|
|
|
db655e |
0, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_TOP_LEVEL \
|
|
|
db655e |
| (errno ? 0 \
|
|
|
db655e |
: PERK_ERROR_CHILD), \
|
|
|
db655e |
0)
|
|
|
db655e |
|
|
|
db655e |
#define PERK_FILE_ERROR(dctx) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
EIO, \
|
|
|
db655e |
0, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_TOP_LEVEL, \
|
|
|
db655e |
0)
|
|
|
db655e |
|
|
|
db655e |
#define PERK_CUSTOM_ERROR(dctx,liberror) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
0, \
|
|
|
db655e |
liberror, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_TOP_LEVEL \
|
|
|
db655e |
| PERK_ERROR_CUSTOM, \
|
|
|
db655e |
0)
|
|
|
db655e |
|
|
|
db655e |
#define PERK_NESTED_ERROR(dctx) \
|
|
|
db655e |
pe_record_error( \
|
|
|
db655e |
dctx, \
|
|
|
db655e |
0, \
|
|
|
db655e |
0, \
|
|
|
db655e |
__func__, \
|
|
|
db655e |
__LINE__, \
|
|
|
db655e |
PERK_ERROR_NESTED, \
|
|
|
db655e |
0)
|