This file is indexed.

/usr/include/crystalspace-2.0/iutil/dbghelp.h is in libcrystalspace-dev 2.0+dfsg-1build1.

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
/*
    Copyright (C) 2002 by Jorrit Tyberghein

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.
    
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.
    
    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#ifndef __CS_IUTIL_DBGHELP_H__
#define __CS_IUTIL_DBGHELP_H__

/**\file
 * Debugging helper interface
 */
/**\addtogroup util
 * @{ */
#include "csutil/scf_interface.h"
#include "csutil/ref.h"
#include "iutil/string.h"

struct iGraphics3D;

/**\name iDebugHelper implementation support flags
 * @{ */
enum 
{
  /// Supports Benchmark()
  CS_DBGHELP_BENCHMARK = 0x1,
  /// Supports non graphical Dump().
  CS_DBGHELP_TXTDUMP = 0x2,
  /// Supports graphical Dump().
  CS_DBGHELP_GFXDUMP = 0x4,
  /// Supports StateTest().
  CS_DBGHELP_STATETEST = 0x8
};
/** @} */

/**
 * Some object that wants to implement unit testing, debugging and/or
 * benchmarking can implement this interface.
 */
struct iDebugHelper : public virtual iBase
{
  SCF_INTERFACE(iDebugHelper,3,0,0);
  /**
   * Return a bit field indicating what types of functions this specific
   * unit test implementation supports. This will return a combination of
   * the CS_DBGHELP_... flags:  
   * - #CS_DBGHELP_BENCHMARK
   * - #CS_DBGHELP_TXTDUMP
   * - #CS_DBGHELP_GFXDUMP
   * - #CS_DBGHELP_STATETEST
   */
  virtual int GetSupportedTests () const = 0;

  /**
   * Perform a state test. This function will test if the current state
   * of the object is ok. It will return 0 if it is ok.
   * Otherwise an iString  is returned containing some information about
   * the errors. DecRef() this returned string after using it.
   */
  virtual csPtr<iString> StateTest () = 0;

  /**
   * Perform a benchmark. This function will return a number indicating
   * how long the benchmark lasted in milliseconds.
   */
  virtual csTicks Benchmark (int num_iterations) = 0;

  /**
   * Do a text dump of the current state of this object. Returns 0 if
   * not supported or else a string which you should DecRef() after use.
   */
  virtual csPtr<iString> Dump () = 0;

  /**
   * Do a graphical dump of the current state of this object.
   */
  virtual void Dump (iGraphics3D* g3d) = 0;

  /**
   * Perform a debug command as defined by the module itself.
   * Returns 'false' if the command was not recognized.
   */
  virtual bool DebugCommand (const char* cmd) = 0;
};
/** @} */

#endif // __CS_IUTIL_DBGHELP_H__