use RiscosLib;

$buffer = ' ' x 255;

# Getting the SWI number
$str="OS_SWINumberToString";
$no = SWINumberFromString($str);
print "Swi number for \'$str\' is $no\n";


# Calculation of the register mask;
@in = (0 .. 2);
@out = (2);
$mask = &regmask(\@in,\@out);
print "The mask is $mask\n";

# Fudge to return integer values
$len = ' 'x4;					# Reserve space for an integer
RISCOS::SWI::swi("OS_SWINumberToString",$mask,0x3C,$buffer,255,$len);	# Perl passes its address as a param
# syscall($no,$mask,0x3C,$buffer,255,$len);	# Perl passes its address as a parameter
$len = unpack("i",$len);			# Interpret the result as an integer
print "len is $len\n";
$len -= 1;					# We don't want the null
$buffer = substr($buffer, 0, $len);
print "Buffer is $buffer\n";
