/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>
|