.Dd May 3, 2019 .Dt libsigscan 3 .Os libsigscan .Sh NAME .Nm libsigscan.h .Nd Library for binary signature scanning .Sh SYNOPSIS .In libsigscan.h .Pp Support functions .Ft const char * .Fn libsigscan_get_version "void" .Ft int .Fn libsigscan_get_access_flags_read "void" .Ft int .Fn libsigscan_get_codepage "int *codepage" "libsigscan_error_t **error" .Ft int .Fn libsigscan_set_codepage "int codepage" "libsigscan_error_t **error" .Pp Notify functions .Ft void .Fn libsigscan_notify_set_verbose "int verbose" .Ft int .Fn libsigscan_notify_set_stream "FILE *stream" "libsigscan_error_t **error" .Ft int .Fn libsigscan_notify_stream_open "const char *filename" "libsigscan_error_t **error" .Ft int .Fn libsigscan_notify_stream_close "libsigscan_error_t **error" .Pp Error functions .Ft void .Fn libsigscan_error_free "libsigscan_error_t **error" .Ft int .Fn libsigscan_error_fprint "libsigscan_error_t *error" "FILE *stream" .Ft int .Fn libsigscan_error_sprint "libsigscan_error_t *error" "char *string" "size_t size" .Ft int .Fn libsigscan_error_backtrace_fprint "libsigscan_error_t *error" "FILE *stream" .Ft int .Fn libsigscan_error_backtrace_sprint "libsigscan_error_t *error" "char *string" "size_t size" .Pp Scanner functions .Ft int .Fn libsigscan_scanner_initialize "libsigscan_scanner_t **scanner" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scanner_free "libsigscan_scanner_t **scanner" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scanner_signal_abort "libsigscan_scanner_t *scanner" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scanner_set_scan_buffer_size "libsigscan_scanner_t *scanner" "size_t scan_buffer_size" "libsigscan_error_t **error" .Ft int .Fn 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" .Ft int .Fn libsigscan_scanner_scan_start "libsigscan_scanner_t *scanner" "libsigscan_scan_state_t *scan_state" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scanner_scan_stop "libsigscan_scanner_t *scanner" "libsigscan_scan_state_t *scan_state" "libsigscan_error_t **error" .Ft int .Fn 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" .Ft int .Fn libsigscan_scanner_scan_file "libsigscan_scanner_t *scanner" "libsigscan_scan_state_t *scan_state" "const char *filename" "libsigscan_error_t **error" .Pp Available when compiled with wide character string support: .Ft int .Fn libsigscan_scanner_scan_file_wide "libsigscan_scanner_t *scanner" "libsigscan_scan_state_t *scan_state" "const wchar_t *filename" "libsigscan_error_t **error" .Pp Available when compiled with libbfio support: .Ft int .Fn 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" .Pp Scan state functions .Ft int .Fn libsigscan_scan_state_initialize "libsigscan_scan_state_t **scan_state" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_state_free "libsigscan_scan_state_t **scan_state" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_state_set_data_size "libsigscan_scan_state_t *scan_state" "size64_t data_size" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_state_get_number_of_results "libsigscan_scan_state_t *scan_state" "int *number_of_results" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_state_get_result "libsigscan_scan_state_t *scan_state" "int result_index" "libsigscan_scan_result_t **scan_result" "libsigscan_error_t **error" .Pp Scan result functions .Ft int .Fn libsigscan_scan_result_free "libsigscan_scan_result_t **scan_result" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_result_get_identifier_size "libsigscan_scan_result_t *scan_result" "size_t *identifier_size" "libsigscan_error_t **error" .Ft int .Fn libsigscan_scan_result_get_identifier "libsigscan_scan_result_t *scan_result" "char *identifier" "size_t identifier_size" "libsigscan_error_t **error" .Sh DESCRIPTION The .Fn libsigscan_get_version function is used to retrieve the library version. .Sh 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". .Sh ENVIRONMENT None .Sh FILES libsigscan allows to be compiled with wide character support (wchar_t). .sp To compile libsigscan with wide character support use: .Ar ./configure --enable-wide-character-type=yes or define: .Ar _UNICODE or .Ar UNICODE during compilation. .sp .Ar LIBSIGSCAN_WIDE_CHARACTER_TYPE in libsigscan/features.h can be used to determine if libsigscan was compiled with wide character support. .Sh BUGS Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libsigscan/issues .Sh AUTHOR These man pages are generated from "libsigscan.h". .Sh COPYRIGHT Copyright (C) 2014-2020, Joachim Metz . .sp This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .Sh SEE ALSO the libsigscan.h include file