#!/usr/bin/perl -wt
use strict;
use Fcntl ':mode';

sub major($)
{
    return ($_[0] >> 8) & 0xFF;
}

sub minor($)
{
    return ($_[0]) & 0xFF;
}

while( <> )
{
    chomp $_;
    my @a = stat($_);
    my $mode= $a[2] & 0x0FFF;
    my $rdev = $a[6];
    my $major = major($rdev);
    my $minor = minor($rdev);
    if (S_ISBLK($a[2])) {
    	printf "nod\t$_\t0%o\t$a[4] $a[5]\tb $major $minor\n", $mode;
    } elsif( S_ISCHR($a[2])) {
    	printf "nod\t$_\t0%o\t$a[4] $a[5]\tc $major $minor\n", $mode;
    }
}
