IDA C++ SDK 9.2
Loading...
Searching...
No Matches
err.h
Go to the documentation of this file.
1/*
2 * Interactive disassembler (IDA).
3 * Copyright (c) 1990-2025 Hex-Rays
4 * ALL RIGHTS RESERVED.
5 *
6 */
7
8#ifndef _ERR_H
9#define _ERR_H
10
11#include <errno.h>
12
18
20
21idaman THREAD_SAFE AS_PRINTF(1, 0) void ida_export vqperror(const char *format, va_list va);
22
23
26
27idaman THREAD_SAFE const char *ida_export qstrerror(error_t _qerrno);
28
29
31
32idaman THREAD_SAFE char *ida_export get_errdesc(const char *header, error_t _qerrno=-1);
33
34
37
38idaman THREAD_SAFE char *ida_export winerr(int code);
39
40
43
44idaman const char *ida_export qerrstr(int errno_code=-1);
45
46
47#ifdef __cplusplus
48
50
51THREAD_SAFE AS_PRINTF(1, 2) inline void qperror(const char *format, ...)
52{
53 va_list va;
57}
58
59
61
62THREAD_SAFE inline void set_errno(int code)
63{
64 errno = code;
65 set_qerrno(eOS);
66}
67#endif
68
69// Internal functions
71
72// n=0..3
73idaman THREAD_SAFE void ida_export set_error_data(int n, size_t data);
74idaman THREAD_SAFE void ida_export set_error_string(int n, const char *str);
75idaman THREAD_SAFE size_t ida_export get_error_data(int n);
76idaman THREAD_SAFE const char *ida_export get_error_string(int n);
77
78#define QPRM_TYPE(t,n,x) set_error_data(n-1, t(x))
79#define QPRM_CHAR(n,x) QPRM_TYPE(char,n,x)
80#define QPRM_SHORT(n,x) QPRM_TYPE(short,n,x)
81#define QPRM_INT(n,x) QPRM_TYPE(int,n,x)
82#define QPRM_INT32(n,x) QPRM_TYPE(int32,n,x)
83#define QPRM_UCHAR(n,x) QPRM_TYPE(uchar,n,x)
84#define QPRM_USHORT(n,x) QPRM_TYPE(ushort,n,x)
85#define QPRM_UINT(n,x) QPRM_TYPE(uint,n,x)
86#define QPRM_UINT32(n,x) QPRM_TYPE(uint32,n,x)
87#define QPRM(n,x) set_error_string(n-1, x)
88
90
91#endif
92
vqperror(format, va)
THREAD_SAFE void set_errno(int code)
See set_qerrno()
Definition err.h:62
idaman THREAD_SAFE char *ida_export get_errdesc(const char *header, error_t _qerrno=-1)
A convenience function to generate error messages (returns "header: error message")
idaman THREAD_SAFE const char *ida_export qstrerror(error_t _qerrno)
Get error description string.
idaman const char *ida_export qerrstr(int errno_code=-1)
Get error string.
idaman THREAD_SAFE char *ida_export winerr(int code)
Get error message for MS Windows error codes.
idaman THREAD_SAFE va_list va
See qsscanf()
Definition err.h:21
va_end(va)
idaman THREAD_SAFE const char * format
Definition fpro.h:78
idaman THREAD_SAFE AS_PRINTF(1, 0) void ida_export vqperror(const char *format
Print error message to stderr (analog of perror)
THREAD_SAFE va_start(va, format)
int code
Definition fpro.h:88
idaman size_t n
Definition pro.h:997
void(idaapi *range_marker)(ea_t ea
Pointer to range marker function (for idaviews and hexviews) This pointer is initialized by setup_ran...
int error_t
Error code (errno)
Definition pro.h:458
idaman THREAD_SAFE error_t ida_export set_qerrno(error_t code)
Set qerrno.