Device-Cdio

 view release on metacpan or  search on metacpan

perliso9660_wrap.c  view on Meta::CPAN

  {
    char *arg1 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    bool result;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: pathname_valid_p(psz_path);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pathname_valid_p" "', argument " "1"" of type '" "char const []""'");
    }
    arg1 = (char *)(buf1);
    result = (bool)iso9660_pathname_valid_p((char const (*))arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1((bool)(result)); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
    SWIG_croak_null();
  }
}


XS(_wrap_fs_find_lsn) {
  {
    CdIo_t *arg1 = (CdIo_t *) 0 ;
    lsn_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: fs_find_lsn(p_cdio,i_lsn);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CdIo_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_find_lsn" "', argument " "1"" of type '" "CdIo_t *""'"); 
    }
    arg1 = (CdIo_t *)(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "fs_find_lsn" "', argument " "2"" of type '" "lsn_t""'");
    } 
    arg2 = (lsn_t)(val2);
    result = (IsoStat_t *)iso9660_fs_find_lsn(arg1,arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_ifs_find_lsn) {
  {
    iso9660_t *arg1 = (iso9660_t *) 0 ;
    lsn_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: ifs_find_lsn(p_iso,i_lsn);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iso9660_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ifs_find_lsn" "', argument " "1"" of type '" "iso9660_t *""'"); 
    }
    arg1 = (iso9660_t *)(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ifs_find_lsn" "', argument " "2"" of type '" "lsn_t""'");
    } 
    arg2 = (lsn_t)(val2);
    result = (IsoStat_t *)iso9660_ifs_find_lsn(arg1,arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_fs_stat) {
  {
    CdIo_t *arg1 = (CdIo_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: fs_stat(p_cdio,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CdIo_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_stat" "', argument " "1"" of type '" "CdIo_t *""'"); 
    }
    arg1 = (CdIo_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_stat" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStat_t *)iso9660_fs_stat(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_fs_stat_translate) {
  {
    CdIo_t *arg1 = (CdIo_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: fs_stat_translate(p_cdio,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CdIo_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_stat_translate" "', argument " "1"" of type '" "CdIo_t *""'"); 
    }
    arg1 = (CdIo_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_stat_translate" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStat_t *)iso9660_fs_stat_translate(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_ifs_stat) {
  {
    iso9660_t *arg1 = (iso9660_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: ifs_stat(p_iso,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iso9660_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ifs_stat" "', argument " "1"" of type '" "iso9660_t *""'"); 
    }
    arg1 = (iso9660_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ifs_stat" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStat_t *)iso9660_ifs_stat(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_ifs_stat_translate) {
  {
    iso9660_t *arg1 = (iso9660_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStat_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: ifs_stat_translate(p_iso,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iso9660_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ifs_stat_translate" "', argument " "1"" of type '" "iso9660_t *""'"); 
    }
    arg1 = (iso9660_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ifs_stat_translate" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStat_t *)iso9660_ifs_stat_translate(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      iso9660_stat_t *p_statbuf = result;
      
      if (!result) goto out;
      
    PPCODE:
      /* Have Perl compute the length of the string using strlen() */
      XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
      XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
      argvi += 16;
      free (p_statbuf);
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_fs_readdir) {
  {
    CdIo_t *arg1 = (CdIo_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStatList_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: fs_readdir(p_cdio,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CdIo_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fs_readdir" "', argument " "1"" of type '" "CdIo_t *""'"); 
    }
    arg1 = (CdIo_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fs_readdir" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStatList_t *)fs_readdir(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      CdioISO9660FileList_t *p_entlist   = result;
      CdioListNode_t *p_entnode;
      unsigned int num = 0;
      
      if (!result) goto out;
      
    PPCODE:
      /* For each element in the array of strings, create a new
           * mortalscalar, and stuff it into the above array. */
      _CDIO_LIST_FOREACH (p_entnode, p_entlist) {
        iso9660_stat_t *p_statbuf =
        (iso9660_stat_t *) _cdio_list_node_data (p_entnode);
        /* Have perl compute the length of the string using strlen() */
        XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
        num += 14;
      }
      iso9660_filelist_free(p_entlist);
      argvi += num + 2;
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_ifs_readdir) {
  {
    iso9660_t *arg1 = (iso9660_t *) 0 ;
    char *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    IsoStatList_t *result = 0 ;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: ifs_readdir(p_iso,psz_path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iso9660_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ifs_readdir" "', argument " "1"" of type '" "iso9660_t *""'"); 
    }
    arg1 = (iso9660_t *)(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ifs_readdir" "', argument " "2"" of type '" "char const []""'");
    }
    arg2 = (char *)(buf2);
    result = (IsoStatList_t *)ifs_readdir(arg1,(char const (*))arg2);
    {
      // result is of type IsoStatList_t
      CdioISO9660FileList_t *p_entlist   = result;
      CdioListNode_t *p_entnode;
      unsigned int num = 0;
      
      if (!result) goto out;
      
    PPCODE:
      /* For each element in the array of strings, create a new
           * mortalscalar, and stuff it into the above array. */
      _CDIO_LIST_FOREACH (p_entnode, p_entlist) {
        iso9660_stat_t *p_statbuf =
        (iso9660_stat_t *) _cdio_list_node_data (p_entnode);
        /* Have perl compute the length of the string using strlen() */
        XPUSHs(sv_2mortal(newSVpv(p_statbuf->filename, 0)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->lsn)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->size)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->secsize)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->type)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_sec)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_min)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_hour)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_mon)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_year)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_wday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_yday)));
        XPUSHs(sv_2mortal(newSViv(p_statbuf->tm.tm_isdst)));
        num += 14;
      }
      iso9660_filelist_free(p_entlist);
      argvi += num + 2;
      out: ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
    SWIG_croak_null();
  }
}


XS(_wrap_get_application_id) {
  {
    iso9660_pvd_t *arg1 = (iso9660_pvd_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    char *result = 0 ;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: get_application_id(p_pvd);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iso9660_pvd_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_application_id" "', argument " "1"" of type '" "iso9660_pvd_t *""'"); 
    }
    arg1 = (iso9660_pvd_t *)(argp1);
    result = (char *)iso9660_get_application_id(arg1);
    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    



( run in 1.641 second using v1.01-cache-2.11-cpan-71847e10f99 )