table of contents
- Tumbleweed 20260902-1.1
- Leap-16.0
- Leap-15.6
| LIBSIGSCAN(3) | Library Functions Manual | LIBSIGSCAN(3) |
NAME¶
libsigscan.h —
Library for binary signature scanning
SYNOPSIS¶
#include
<libsigscan.h>
Support functions
const char *
libsigscan_get_version( void);
int
libsigscan_get_access_flags_read( void);
int
libsigscan_get_codepage( int *codepage, libsigscan_error_t **error);
int
libsigscan_set_codepage( int codepage, libsigscan_error_t **error);
Notify functions
void
libsigscan_notify_set_verbose( int verbose);
int
libsigscan_notify_set_stream( FILE *stream, libsigscan_error_t **error);
int
libsigscan_notify_stream_open( const char *filename, libsigscan_error_t **error);
int
libsigscan_notify_stream_close( libsigscan_error_t **error);
Error functions
void
libsigscan_error_free( libsigscan_error_t **error);
int
libsigscan_error_fprint( libsigscan_error_t *error, FILE *stream);
int
libsigscan_error_sprint( libsigscan_error_t *error, char *string, size_t size);
int
libsigscan_error_backtrace_fprint( libsigscan_error_t *error, FILE *stream);
int
libsigscan_error_backtrace_sprint( libsigscan_error_t *error, char *string, size_t size);
Scanner functions
int
libsigscan_scanner_initialize( libsigscan_scanner_t **scanner, libsigscan_error_t **error);
int
libsigscan_scanner_free( libsigscan_scanner_t **scanner, libsigscan_error_t **error);
int
libsigscan_scanner_signal_abort( libsigscan_scanner_t *scanner, libsigscan_error_t **error);
int
libsigscan_scanner_set_scan_buffer_size( libsigscan_scanner_t *scanner, size_t scan_buffer_size, libsigscan_error_t **error);
int
libsigscan_scanner_add_signature( libsigscan_scanner_t *scanner, const char *identifier, size_t identifier_length, off64_t pattern_offset, const uint8_t *pattern, size_t pattern_size, uint32_t signature_flags, libsigscan_error_t **error);
int
libsigscan_scanner_scan_start( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, libsigscan_error_t **error);
int
libsigscan_scanner_scan_stop( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, libsigscan_error_t **error);
int
libsigscan_scanner_scan_buffer( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, const uint8_t *buffer, size_t buffer_size, libsigscan_error_t **error);
int
libsigscan_scanner_scan_file( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, const char *filename, libsigscan_error_t **error);
int
libsigscan_scanner_scan_file_wide( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, const wchar_t *filename, libsigscan_error_t **error);
Available when compiled with libbfio support:
int
libsigscan_scanner_scan_file_io_handle( libsigscan_scanner_t *scanner, libsigscan_scan_state_t *scan_state, libbfio_handle_t *file_io_handle, libsigscan_error_t **error);
Scan state functions
int
libsigscan_scan_state_initialize( libsigscan_scan_state_t **scan_state, libsigscan_error_t **error);
int
libsigscan_scan_state_free( libsigscan_scan_state_t **scan_state, libsigscan_error_t **error);
int
libsigscan_scan_state_set_data_size( libsigscan_scan_state_t *scan_state, size64_t data_size, libsigscan_error_t **error);
int
libsigscan_scan_state_get_number_of_results( libsigscan_scan_state_t *scan_state, int *number_of_results, libsigscan_error_t **error);
int
libsigscan_scan_state_get_result( libsigscan_scan_state_t *scan_state, int result_index, libsigscan_scan_result_t **scan_result, libsigscan_error_t **error);
Scan result functions
int
libsigscan_scan_result_free( libsigscan_scan_result_t **scan_result, libsigscan_error_t **error);
int
libsigscan_scan_result_get_identifier_size( libsigscan_scan_result_t *scan_result, size_t *identifier_size, libsigscan_error_t **error);
int
libsigscan_scan_result_get_identifier( libsigscan_scan_result_t *scan_result, char *identifier, size_t identifier_size, libsigscan_error_t **error);
DESCRIPTION¶
The
libsigscan_get_version()
function is used to retrieve the library version.
RETURN VALUES¶
Most of the functions return NULL or -1 on error, dependent on the
return type. For the actual return values see
<libsigscan.h>.
ENVIRONMENT¶
None
FILES¶
None
SEE ALSO¶
AUTHORS¶
Joachim Metz <joachim.metz@gmail.com>
BUGS¶
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libsigscan/issues
COPYRIGHT¶
Copyright (C) 2014-2026, Joachim Metz <joachim.metz@gmail.com>.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
| June 15, 2026 | Linux 6.12.0-160000.37-default |