Net-FreeDB
view release on metacpan or search on metacpan
FreeDB.xs.linux view on Meta::CPAN
RETVAL
SV*
xs_discinfo(char* dev)
INIT:
int i;
char id[30];
struct discdata data;
HV* hash = newHV();
AV* tracks = newAV();
PPCODE:
data = get_disc_id(dev);
for (i = 0; i < (data.num_of_trks); i++) {
av_push(tracks, newSVnv(data.track_offsets[i]));
}
sprintf(id, "%08x", (unsigned int)data.discid);
hv_store(hash, "ID", 2, newSVpv(id, 0), 0);
hv_store(hash, "NUM_TRKS", 8, newSVnv(data.num_of_trks), 0);
hv_store(hash, "TRACKS", 6, newRV_inc((SV*)tracks), 0);
FreeDB.xs.win32 view on Meta::CPAN
RETVAL
SV*
xs_discinfo(int driveNo)
INIT:
int i;
char id[30];
struct discdata data;
HV* hash = newHV();
AV* tracks = newAV();
PPCODE:
data = get_disc_id(driveNo);
for (i = 0; i < (data.num_of_trks); i++) {
av_push(tracks, newSVnv(data.track_offsets[i]));
}
sprintf(id, "%08x", (unsigned int)data.discid);
hv_store(hash, "ID", 2, newSVpv(id, 0), 0);
hv_store(hash, "NUM_TRKS", 8, newSVnv(data.num_of_trks), 0);
hv_store(hash, "TRACKS", 6, newRV_inc((SV*)tracks), 0);
( run in 0.872 second using v1.01-cache-2.11-cpan-5511b514fd6 )