This file is indexed.

/usr/share/doc/librpc-xml-perl/examples/linux.proc.meminfo.xpl is in librpc-xml-perl 0.76-3.

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
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE proceduredef SYSTEM "rpc-method.dtd">
<!--
    Generated automatically by make_method 1.15 on Tue Jun 26 03:15:38 2012

    Any changes made here will be lost.
-->
<proceduredef>
<name>linux.proc.meminfo</name>
<version>1.0</version>
<signature>struct</signature>
<help>
Read the system's "/proc/meminfo" special file and return the information in
the form of a STRUCT with the following members:

        Key         Type     Value

        mem_total   INT      Total memory available, in bytes
        mem_used    INT      Total memory currently used, in bytes
        mem_free    INT      Memory remaining, in bytes
        mem_shared  INT      Memory being shared between processes, in bytes
        mem_buffers INT      Number of memory buffers
        mem_cached  INT      Cached memory
        MemTotal    STRING   Total memory, in kB
        MemFree     STRING   Free memory, in kB
        MemShared   STRING   Shared memort, in kB
        Buffers     STRING   Memory buffers, in kB
        Cached      STRING   Cached memory, in kB
        SwapTotal   STRING   Total swap memory, in kB
        SwapFree    STRING   Available swap memory, in kB
</help>
<code language="perl">
<![CDATA[
#!/usr/bin/perl
###############################################################################
#
#   Sub Name:       linux_proc_meminfo
#
#   Description:    Read the /proc/meminfo on a Linux server and return a
#                   STRUCT with the information.
#
#   Arguments:      None.
#
#   Returns:        hashref
#
###############################################################################
sub linux_proc_meminfo
{
    use strict;

    my (%meminfo, $line, $key, @parts);
    local *F;

    open(F, '/proc/meminfo') or
        return RPC::XML::fault->new(501, "Cannot open /proc/meminfo: $!");

    while (defined($line = <F>))
    {
        next if ($line =~ /^\s+/);
        chomp $line;

        @parts = split(/\s+/, $line);
        $key = shift(@parts);
        if ($key eq 'Mem:')
        {
            @meminfo{qw(mem_total mem_used mem_free mem_shared mem_buffers
                        mem_cached)} = @parts;
        }
        elsif ($key eq 'Swap:')
        {
            @meminfo{qw(swap_total swap_used swap_free)} = @parts;
        }
        else
        {
            chop $key; # Lose the trailing ':'
            $meminfo{$key} = join(' ', @parts);
        }
    }
    close(F);

    \%meminfo;
}

__END__
]]></code>
</proceduredef>