int i;
PPCODE:
- status = trb_register_read(trb_address, reg_address, buffer, BUFFER_SIZE);
+ status = trb_register_read(trb_address, reg_address, (uint32_t*)buffer, BUFFER_SIZE);
if (status <= 0) {
XSRETURN_UNDEF;
}
int i;
PPCODE:
- status = trb_register_read_mem(trb_address, reg_address, option, size, buffer, BUFFER_SIZE);
+ status = trb_register_read_mem(trb_address, reg_address, option, size, (uint32_t*)buffer, BUFFER_SIZE);
if (status <= 0) {
XSRETURN_UNDEF;
}
PPCODE:
i = 0;
- status = trb_read_uid(trb_address, buffer, BUFFER_SIZE);
+ status = trb_read_uid(trb_address, (uint32_t*)buffer, BUFFER_SIZE);
+ if (status <= 0) {
+ XSRETURN_UNDEF;
+ }
+ for (i = 0 ; i < status; i++) {
+ XPUSHs(sv_2mortal(newSVuv(buffer[i])));
+ }
+
+void
+trb_nettrace_c(trb_address)
+ U16 trb_address;
+ INIT:
+ int status;
+ int i;
+
+ PPCODE:
+ status = trb_nettrace(trb_address, (uint32_t*)buffer, BUFFER_SIZE);
if (status <= 0) {
XSRETURN_UNDEF;
}
trb_register_write
trb_read_uid
trb_read_uid_c
+ trb_nettrace
+ trb_nettrace_c
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
return \%hash;
}
+sub trb_nettrace {
+ my ($trb_address) = @_;
+ my @res = trb_nettrace_c($trb_address);
+ return if (! defined $res[0]);
+
+ my @array;
+ my $c = 0;
+ for (my $i = 0; $i < scalar @res; $i += 2) {
+ $array[$c]->{'address'} = $res[$i];
+ $array[$c]->{'port'} = $res[$i + 1];
+ $c++;
+ }
+ return \@array;
+}
+
1;
__END__
# Below is stub documentation for your module. You'd better edit it!