This file is indexed.

/usr/include/fox-1.6/FXMemMap.h is in libfox-1.6-dev 1.6.56-1.

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
/********************************************************************************
*                                                                               *
*                      M e m o r y   M a p p e d   F i l e                      *
*                                                                               *
*********************************************************************************
* Copyright (C) 2004,2006 by Jeroen van der Zijp.   All Rights Reserved.        *
*********************************************************************************
* This library is free software; you can redistribute it and/or                 *
* modify it under the terms of the GNU Lesser General Public                    *
* License as published by the Free Software Foundation; either                  *
* version 2.1 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             *
* Lesser General Public License for more details.                               *
*                                                                               *
* You should have received a copy of the GNU Lesser General Public              *
* License along with this library; if not, write to the Free Software           *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *
*********************************************************************************
* $Id: FXMemMap.h,v 1.8 2006/01/22 17:58:06 fox Exp $                           *
********************************************************************************/
#ifndef FXMEMMAP_H
#define FXMEMMAP_H

namespace FX {


/**
* A Memory Map provides a view of a file as an array of memory;
* this allows the file itself to be used as backing for the data
* and very simplified file access results.
* Moreover, mapped files may be shared by processes, resuling
* in far less "real" memory being used than would otherwise be
* the case.
*/
class FXAPI FXMemMap {
private:
  void*         mapbase;        // Memory base where it is mapped
  long          maplength;      // Length of the map
  long          mapoffset;      // Offset of the map
  FXInputHandle handle;         // Handle for the map
  FXInputHandle file;           // Handle for the file
private:
  FXMemMap(const FXMemMap&);
  FXMemMap &operator=(const FXMemMap&);
public:

  /// Memory map access modes
  enum {
    NONE  = 0,          /// Map is inaccessible
    READ  = 1,          /// Readable
    WRITE = 2,          /// Writable
    EXEC  = 4,          /// Executable (where supported)
    TRUNC = 8           /// Truncate file to 0
    };

  /// Share mode
  enum {
    PRIV = 0,        /// Private
    SHAR = 1         /// Shared
    };

public:

  /// Construct a memory map
  FXMemMap();

  /// Map a view of the file; the offset must be a multiple of the page size
  void* mapFile(const FXString& filename,long off=0,long len=-1L,FXuint access=READ,FXuint share=PRIV);

  /// Unmap the view of the file
  void* unmap();

  /// Synchronize disk
  void sync();

  /// Return pointer to memory area
  void* base() const { return mapbase; }

  /// Obtain length of the map
  long length() const { return maplength; }

  /// Obtain offset of the map
  long offset() const { return mapoffset; }

  /// Destroy the map
  ~FXMemMap();
  };


}

#endif