Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
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);

     Available when compiled with wide character string support:

     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 ver-
     sion.

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
     libsigscan allows to be compiled with wide character support (wchar_t).

     To   compile  libsigscan  with  wide  character  support  use:  ./configure
     --enable-wide-character-type=yes
      or define: _UNICODE
      or UNICODE
      during compilation.

     LIBSIGSCAN_WIDE_CHARACTER_TYPE
      in libsigscan/features.h can be used to determine if libsigscan  was  com-
     piled with wide character support.

BUGS
     Please   report   bugs   of   any	 kind  on  the	project  issue	tracker:
     https://github.com/libyal/libsigscan/issues

AUTHOR
     These man pages are generated from "libsigscan.h".

COPYRIGHT
     Copyright (C) 2014-2024, 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.

SEE ALSO
     the libsigscan.h include file

libsigscan			   May 3, 2019			   libsigscan(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libsigscan&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help