mirror of
https://github.com/hasherezade/pe-sieve.git
synced 2026-10-11 21:49:57 +00:00
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
/**
|
|
* @file
|
|
* @brief The API: definitions of the exported elements that are accessible from PE-sieve DLL.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <windows.h>
|
|
#include <pe_sieve_types.h>
|
|
|
|
#ifndef PESIEVE_STATIC_LIB
|
|
#ifdef PESIEVE_EXPORTS
|
|
#define PESIEVE_API __declspec(dllexport)
|
|
#else
|
|
#define PESIEVE_API __declspec(dllimport)
|
|
#endif
|
|
#else
|
|
#define PESIEVE_API
|
|
#endif
|
|
|
|
#define PESIEVE_API_FUNC PESIEVE_API __cdecl
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
//! PE-sieve version in a DWORD form.
|
|
extern const DWORD PESIEVE_API PESieve_version;
|
|
|
|
//! Shows a MessageBox with the informations about PE-sieve.
|
|
void PESIEVE_API_FUNC PESieve_help(void);
|
|
|
|
#ifdef __cplusplus
|
|
typedef pesieve::t_report PEsieve_report;
|
|
typedef pesieve::t_params PEsieve_params;
|
|
typedef pesieve::t_report_type PEsieve_rtype;
|
|
#else
|
|
typedef t_report PEsieve_report;
|
|
typedef t_params PEsieve_params;
|
|
typedef t_report_type PEsieve_rtype;
|
|
#endif
|
|
|
|
//! Performs a PE-sieve scan with a supplied set of parameters (defined as a structure t_params). Returns a summary of the scan in a variable of type t_report.
|
|
PEsieve_report PESIEVE_API_FUNC PESieve_scan(IN const PEsieve_params *args);
|
|
|
|
//! Performs a PE-sieve scan with a supplied set of parameters (defined as a structure t_params). Returns a summary of the scan in a variable of type t_report. Allows to supply a buffer that will be filled with full JSON report.
|
|
PEsieve_report PESIEVE_API_FUNC PESieve_scan_ex(IN const PEsieve_params *args, IN const PEsieve_rtype rtype, OUT char* json_buf, IN size_t json_buf_size, OUT size_t *buf_needed_size);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|