source: trunk/mindi/get-modules.pl @ 900

Last change on this file since 900 was 900, checked in by bruno, 12 years ago

Huge patch to introduce low level functions that will bw used everywhere (mr_free, mr_asprintf, ...)
Nearly linking now due to that.

  • Property svn:executable set to *
File size: 838 bytes
Line 
1#!/usr/bin/perl -w
2
3use strict;
4use POSIX "uname";
5
6my ($sysname, $nodename, $release, $version, $machine ) = uname;
7my $ver = "";
8my $module = ""; 
9my %modlist;
10my $void = "";
11my $allmodules = "";
12
13
14if (not (defined $ARGV[0])) {
15        $ver = $release;
16} else {
17        $ver = $ARGV[0];
18}
19open(LSMOD, "/sbin/lsmod |") or die "Unable to launch lsmod";
20open(DEPMOD, "/sbin/depmod -n $ver |") or die "Unable to launch depmod";
21
22while (<DEPMOD>) {
23    ($module, $modlist{$module}) = split(/:/);
24    last if ($module =~ /^#/);
25    #print "Analyzing $module\n";
26}
27while (<LSMOD>) {
28    next if (/^Module/);
29    ($module, $void) = split(/ /);
30    #print "Analyzing $module\n";
31    $module = `/sbin/modinfo -n $module`;
32    chomp($module);
33    $allmodules .= $modlist{$module};
34}
35close(LSMOD);
36close(DEPMOD);
37$allmodules =~ s/\n/ /g;
38$allmodules =~ s/  */ /g;
39print "$allmodules\n";
Note: See TracBrowser for help on using the repository browser.