This file is indexed.

/usr/include/fuzzy.h is in libfuzzy-dev 2.7-2ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Fuzzy Hashing by Jesse Kornblum
// Copyright (C) ManTech International Corporation 2010
//
// $Id: fuzzy.h 105 2010-09-28 00:05:38Z jessekornblum $ 

/// @mainpage
/// This is the documentation for the fuzzy hashing API from ssdeep.
///
/// There is a complete function reference in fuzzy.h.
///
/// The most recent version of this documentation can be found
/// at http://ssdeep.sourceforge.net/. 
///
/// @copydoc fuzzy.h
///
/// @version 2.6
/// @date 28 Sep 2010
///
/// @author Jesse Kornblum, research {at jessekornblum dot} com. 

/// @file fuzzy.h
/// @brief
/// These functions allow a programmer to compute the fuzzy hashes
/// (also called the context-triggered piecewise hashes) of 
/// @link fuzzy_hash_buf() a buffer
/// of text @endlink, 
/// @link fuzzy_hash_filename() the contents of a file on the disk @endlink, 
/// and 
/// @link fuzzy_hash_file() the contents of
/// an open file handle @endlink . 
/// There is also a function to 
/// @link fuzzy_compare() compute the
/// similarity between any two fuzzy signatures @endlink.

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _INTTYPES_H_
# include <inttypes.h>
#endif

#ifndef _FUZZY_H_
# define _FUZZY_H_


/// @brief Compute the fuzzy hash of a buffer
///
/// The computes the fuzzy hash of the first buf_len bytes of the buffer.
/// It is the caller's responsibility to append the filename,
/// if any, to result after computation. 
/// @param buf The data to be fuzzy hashed
/// @param buf_len The length of the data being hashed
/// @param result Where the fuzzy hash of buf is stored. This variable
/// must be allocated to hold at least FUZZY_MAX_RESULT bytes.
/// @return Returns zero on success, non-zero on error.
extern int fuzzy_hash_buf(const unsigned char *buf,
			  uint32_t      buf_len,
			  char          *result);


/// @brief Compute the fuzzy hash of a file using an open handle
///
/// Computes the fuzzy hash of the contents of the open file, starting
/// at the beginning of the file. When finished, the file pointer is
/// returned to its original position. If an error occurs, the file 
/// pointer's value is undefined.
/// It is the callers's responsibility to append the filename
/// to the result after computation.
/// @param handle Open handle to the file to be hashed
/// @param result Where the fuzzy hash of the file is stored. This 
/// variable must be allocated to hold at least FUZZY_MAX_RESULT bytes.
/// @return Returns zero on success, non-zero on error
extern int fuzzy_hash_file(FILE *handle,
			   char *result);

/// @brief Compute the fuzzy hash of a file
///
/// Opens, reads, and hashes the contents of the file 'filename' 
/// The result must be allocated to hold FUZZY_MAX_RESULT characters. 
/// It is the caller's responsibility to append the filename
/// to the result after computation. 
/// @param filename The file to be hashed
/// @param result Where the fuzzy hash of the file is stored. This 
/// variable must be allocated to hold at least FUZZY_MAX_RESULT bytes.
/// @return Returns zero on success, non-zero on error. 
extern int fuzzy_hash_filename(const char * filename,
			       char * result);



/// Computes the match score between two fuzzy hash signatures.
/// @return Returns a value from zero to 100 indicating the
/// match score of the 
/// two signatures. A match score of zero indicates the sigantures
/// did not match. When an error occurs, such as if one of the
/// inputs is NULL, returns -1.
extern int fuzzy_compare(const char *sig1, const char *sig2);



/// The longest possible length for a fuzzy hash signature (without the filename)
#define FUZZY_MAX_RESULT    (SPAMSUM_LENGTH + (SPAMSUM_LENGTH/2 + 20))

/// Length of an individual fuzzy hash signature component
#define SPAMSUM_LENGTH 64


// To end our 'extern "C" {'
#ifdef __cplusplus
} 
#endif


#endif   // ifndef _FUZZY_H_