This file is indexed.

/usr/include/wvstreams/uniregistrygen.h is in libwvstreams-dev 4.6.1-7.

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
/* -*- Mode: C++ -*-
 * Worldvisions Weaver Software:
 *   Copyright (C) 1997-2003 Net Integration Technologies, Inc.
 *
 * A generator that exposes the windows registry.
 *
 * When linking statically, use the following #pragma to ensure this 
 * generator gets registered:
 * #pragma comment(linker, "/include:?UniRegistryGenMoniker@@3V?$WvMoniker@VUniConfGen@@@@A")
 */
#ifndef __UNICONFREGISTRY_H
#define __UNICONFREGISTRY_H

#include "uniconfgen.h"
#include "wvlog.h"
#include "windows.h"

/**
 * A generator that exposes the windows registry.
 *
 * To mount, use the moniker "registry:".
 *
 */
class UniRegistryGen : public UniConfGen
{
    WvLog m_log;
    HKEY m_hRoot;

protected:
    virtual void flush_buffers() { }

public:
    UniRegistryGen(WvString _base);
    virtual ~UniRegistryGen();

    /***** Overridden methods *****/
    
    virtual bool isok();
    virtual WvString get(const UniConfKey &key);
    virtual void set(const UniConfKey &key, WvStringParm value);
    virtual void setv(const UniConfPairList &pairs);
    virtual bool exists(const UniConfKey &key);
    virtual bool haschildren(const UniConfKey &key);
    virtual Iter *iterator(const UniConfKey &key);
};

class UniRegistryGenIter : public UniConfGen::Iter
{
public:
    UniRegistryGenIter(UniRegistryGen &gen, const UniConfKey &key, HKEY base);

    /** Destroys the iterator. */
    virtual ~UniRegistryGenIter();

    /**
     * Rewinds the iterator.
     * Must be called prior to the first invocation of next().
     */
    virtual void rewind();

    /**
     * Seeks to the next element in the sequence.
     * Returns true if that element exists.
     * Must be called prior to the first invocation of key().
     */
    virtual bool next();

    /** Returns the current key. */
    virtual UniConfKey key() const;

    /** Returns the value of the current key. */
    virtual WvString value() const;

private:
    LONG next_key();
    LONG next_value();

    HKEY m_hKey;
    enum Enumerating { KEYS, VALUES } m_enumerating;
    unsigned m_index;
    UniRegistryGen &gen;
    const UniConfKey parent;
    UniConfKey current_key;
    const HKEY m_dontClose;
};

#endif // __UNICONFREGISTRY_H