USB-Guard
signature_engine.h
См. документацию.
1
7
8#ifndef SIGNATURE_ENGINE_H
9#define SIGNATURE_ENGINE_H
10
11#include <stddef.h>
12
14#define SIG_MAX_LEN 32U
15
17typedef struct
18{
19 unsigned char pattern[SIG_MAX_LEN];
20 unsigned char length;
21 const char *name;
23
25typedef struct
26{
27 unsigned char carry[SIG_MAX_LEN - 1U];
28 unsigned int carry_len;
29} ScanState;
30
37
50
51int scan_init(ScanState *state);
52
53int scan_feed(ScanState *state,
54 const unsigned char *block,
55 unsigned int block_len,
56 const VirusSignature *sigs,
57 unsigned int sig_count,
58 int *virus_flag,
59 const char **match_name);
60
61#endif /* SIGNATURE_ENGINE_H */
int scan_init(ScanState *state)
Инициализирует состояние сканера (сбрасывает хвост).
Определения signature_engine.c:29
Error_Codes_SF
Коды ошибок scan_feed().
Определения signature_engine.h:40
@ SF_ZERO_SIGNATURE_LENGTH
Определения signature_engine.h:47
@ SF_NULL_STATE_POINTER
Определения signature_engine.h:42
@ SF_NULL_MATCH_NAME_POINTER
Определения signature_engine.h:46
@ SF_SIGNATURE_TOO_LONG
Определения signature_engine.h:48
@ SF_NULL_FLAG_POINTER
Определения signature_engine.h:45
@ SF_NULL_BLOCK_POINTER
Определения signature_engine.h:43
@ SF_NULL_SIGS_POINTER
Определения signature_engine.h:44
@ SF_SUCCESS
Определения signature_engine.h:41
#define SIG_MAX_LEN
Максимальная длина одной сигнатуры в байтах.
Определения signature_engine.h:14
int scan_feed(ScanState *state, const unsigned char *block, unsigned int block_len, const VirusSignature *sigs, unsigned int sig_count, int *virus_flag, const char **match_name)
Скармливает сканеру один блок данных и ищет в нём сигнатуры.
Определения signature_engine.c:51
Error_Codes_SI
Коды ошибок scan_init().
Определения signature_engine.h:33
@ SI_SUCCESS
Определения signature_engine.h:34
@ SI_NULL_STATE_POINTER
Определения signature_engine.h:35
Состояние потокового сканера. Хранит "хвост" предыдущего блока.
Определения signature_engine.h:26
Описание одной вирусной сигнатуры (последовательности байтов).
Определения signature_engine.h:18