Ravenports generated: 16 Jan 2022 03:30
[ravenports.git] / bucket_FD / perl-Sys-MemInfo
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               perl-Sys-MemInfo
4 VERSION=                0.99
5 KEYWORDS=               perl
6 VARIANTS=               532 534
7 SDESC[532]=             Returns free and used physical memory (5.32)
8 SDESC[534]=             Returns free and used physical memory (5.34)
9 HOMEPAGE=               none
10 CONTACT=                Perl_Automaton[perl@ironwolf.systems]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            CPAN/ID:S/SC/SCRESTO
14 DISTFILE[1]=            Sys-MemInfo-0.99.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[532]=             single
17 SPKGS[534]=             single
18
19 OPTIONS_AVAILABLE=      PERL_532 PERL_534
20 OPTIONS_STANDARD=       none
21 VOPTS[532]=             PERL_532=ON PERL_534=OFF
22 VOPTS[534]=             PERL_532=OFF PERL_534=ON
23
24 DISTNAME=               Sys-MemInfo-0.99
25
26 GENERATED=              yes
27
28 SINGLE_JOB=             yes
29
30 [PERL_532].USES_ON=                     perl:532,configure
31
32 [PERL_534].USES_ON=                     perl:534,configure
33
34 [FILE:351:descriptions/desc.single]
35 This module return the total amount of free and used physical memory
36 in bytes in totalmem and freemem variables.
37
38 This module has been tested on Linux 3.13.0, UnixWare 7.1.2, AIX5,
39 OpenBSD 3.8, NetBSD 2.0.2, FreBSD 5.4, HPUX11, Solaris 9, Tru64 5.1,
40 Irix 6.5, MacOS X 10.2 and Windows XP.
41
42 It should work on FreeBSD 4 and Windows 9X/ME/NT/200X/Vista.
43
44
45 [FILE:102:distinfo]
46 0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b        13276 Sys-MemInfo-0.99.tar.gz
47
48
49 [FILE:379:patches/patch-Makefile.PL]
50 --- Makefile.PL.orig    2006-11-10 00:19:12.000000000 +0200
51 +++ Makefile.PL
52 @@ -36,6 +36,9 @@ for ($^O) {
53      } else {
54        print "Sys::MemInfo for FreeBSD 4 and lower\n";
55      }
56 +  } elsif (/dragonfly/) {
57 +    copy ('arch/dragonfly.xs', 'MemInfo.xs');
58 +    print "Sys::MemInfo for DragonFly\n";
59    } elsif (/bsd/) {
60      copy ('arch/bsd.xs', 'MemInfo.xs');
61      if (/netbsd/) {
62
63
64 [FILE:2422:patches/patch-arch_dragonfly.xs]
65 --- /dev/null   2015-12-12 12:33:16.341252360 +0200
66 +++ arch/dragonfly.xs
67 @@ -0,0 +1,110 @@
68 +#include "EXTERN.h"
69 +#include "perl.h"
70 +#include "XSUB.h"
71 +
72 +MODULE = Sys::MemInfo PACKAGE = Sys::MemInfo
73 +
74 +#include "arch/functions.h"
75 +#include <stdio.h>
76 +#include <unistd.h>
77 +#include <sys/param.h>
78 +#include <sys/sysctl.h>
79 +#include <vm/vm_param.h>
80 +
81 +void
82 +availkeys()
83 +       PREINIT:
84 +       PPCODE:
85 +                XPUSHs(sv_2mortal(newSVpv(_totalmem, strlen(_totalmem))));
86 +                XPUSHs(sv_2mortal(newSVpv(_freemem, strlen(_freemem))));
87 +                XPUSHs(sv_2mortal(newSVpv(_totalswap, strlen(_totalswap))));
88 +                XPUSHs(sv_2mortal(newSVpv(_freeswap, strlen(_freeswap))));
89 +
90 +double
91 +totalmem()
92 +       PROTOTYPE: DISABLE
93 +       CODE:
94 +               unsigned long long ret = 0;
95 +               size_t len = sizeof (ret);
96 +               static int mib[2] = { CTL_HW, HW_PHYSMEM };
97 +
98 +               if (sysctl (mib, 2, &ret, &len, NULL, 0) != -1) {
99 +                       RETVAL = (double) (ret);
100 +               } else {
101 +                       RETVAL = 0;
102 +               }
103 +       OUTPUT:
104 +               RETVAL
105 +               
106 +
107 +double
108 +freemem()
109 +       PROTOTYPE: DISABLE
110 +       CODE:
111 +               double ret= 0;
112 +               u_int fmem = 0;
113 +               size_t len = sizeof (fmem);
114 +               static int pagesize = 0;
115 +
116 +               if (!pagesize) pagesize = getpagesize();
117 +
118 +               if (sysctlbyname("vm.stats.vm.v_free_count", &fmem, &len, NULL, 0) != -1) {
119 +                       ret = (double) (fmem);
120 +                       ret *= pagesize;
121 +               }
122 +
123 +               RETVAL = ret;
124 +       OUTPUT:
125 +               RETVAL
126 +
127 +double
128 +totalswap()
129 +       PROTOTYPE: DISABLE
130 +       CODE:
131 +               double ret= 0;
132 +               int free_swap = 0;
133 +               int sused_anon = 0;
134 +               int sused_cache = 0;
135 +               size_t len = sizeof (free_swap);
136 +               static int pagesize = 0;
137 +
138 +               if (!pagesize) pagesize = getpagesize();
139 +
140 +               if (sysctlbyname("vm.swap_size", &free_swap, &len, NULL, 0) != -1) {
141 +                       ret = (double) (free_swap);
142 +               }
143 +               if (sysctlbyname("vm.swap_anon_use", &sused_anon, &len, NULL, 0) != -1) {
144 +                       ret += (double) (sused_anon);
145 +               }
146 +               if (sysctlbyname("vm.swap_cache_use", &sused_cache, &len, NULL, 0) != -1) {
147 +                       ret += (double) (sused_cache);
148 +               }
149 +
150 +               ret *= pagesize;
151 +
152 +               RETVAL = ret;
153 +       OUTPUT:
154 +               RETVAL
155 +
156 +double
157 +freeswap()
158 +       PROTOTYPE: DISABLE
159 +       CODE:
160 +               double ret= 0;
161 +               int free_swap = 0;
162 +               size_t len = sizeof (free_swap);
163 +               static int pagesize = 0;
164 +
165 +               if (!pagesize) pagesize = getpagesize();
166 +
167 +               if (sysctlbyname("vm.swap_size", &free_swap, &len, NULL, 0) != -1) {
168 +                       ret = (double) (free_swap);
169 +               }
170 +
171 +               ret *= pagesize;
172 +
173 +               RETVAL = ret;
174 +       OUTPUT:
175 +               RETVAL
176 +
177 +# vim:et:ts=2:sts=2:sw=2
178