Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > b7e6f34568edea023e98fa11adbbb195 > files > 25

isomaster-1.3.7-2.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Reading</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="bkisofs Usage and Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Function Reference"
HREF="c73.html"><LINK
REL="PREVIOUS"
TITLE="Function Reference"
HREF="c73.html"><LINK
REL="NEXT"
TITLE="Adding"
HREF="x153.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>bkisofs Usage and Reference Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="c73.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Function Reference</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x153.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN95"
>Reading</A
></H1
><P
></P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN98"
><TT
CLASS="FUNCTION"
>bk_open_image()</TT
></A
></H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN101"
></A
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>bk_open_image</TT
></CODE
>(VolInfo* <TT
CLASS="PARAMETER"
><I
>volInfo</I
></TT
>, const char* <TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>);</CODE
></P
><P
></P
></DIV
><P
>This basically just opens the ISO file for reading. The parameter <TT
CLASS="PARAMETER"
><I
>filename</I
></TT
> can have any string in it that would work with the C function <TT
CLASS="FUNCTION"
>open()</TT
>, i.e. it can have a full or relative or no path plus the name of the file.</P
><P
>Call <TT
CLASS="FUNCTION"
>bk_open_image()</TT
> after <TT
CLASS="FUNCTION"
>bk_init_vol_info()</TT
> and before <TT
CLASS="FUNCTION"
>bk_read_vol_info()</TT
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN116"
><TT
CLASS="FUNCTION"
>bk_read_vol_info()</TT
></A
></H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN119"
></A
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>bk_read_vol_info</TT
></CODE
>(VolInfo* <TT
CLASS="PARAMETER"
><I
>volInfo</I
></TT
>);</CODE
></P
><P
></P
></DIV
><P
>This reads information about the ISO: things like the volume name, creation time and the types of directory trees available (ISO9660, Rockrdge, Joliet). Also some boot record information is read (complete boot record info is not guaranteed until after the directory tree is read).</P
><P
>Important to know is that <TT
CLASS="FUNCTION"
>bk_estimate_iso_size()</TT
> will not work at this point, you must read the directory tree first.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN128"
><TT
CLASS="FUNCTION"
>bk_read_dir_tree()</TT
></A
></H2
><DIV
CLASS="FUNCSYNOPSIS"
><P
></P
><A
NAME="AEN131"
></A
><P
><CODE
><CODE
CLASS="FUNCDEF"
>int <TT
CLASS="FUNCTION"
>bk_read_dir_tree</TT
></CODE
>(VolInfo* <TT
CLASS="PARAMETER"
><I
>volInfo</I
></TT
>, int <TT
CLASS="PARAMETER"
><I
>filenameType</I
></TT
>, bool <TT
CLASS="PARAMETER"
><I
>keepPosixPermissions</I
></TT
>, void(*<TT
CLASS="PARAMETER"
><I
>progressFunction</I
></TT
>)(VolInfo*));</CODE
></P
><P
></P
></DIV
><P
>This function reads a set of entire directory trees (all the directories and files) from the ISO. bk is capable of reading ISO9660, RockRidge, and Joliet filenames so you can ask to read any of those. You have to decide which one you want based on the available types in <CODE
CLASS="CLASSNAME"
>VolInfo</CODE
>.<CODE
CLASS="CLASSNAME"
>filenameTypes</CODE
>. I recommend that you choose RockRidge over Joliet and Joliet over ISO9660. To illustrate, here's an example:</P
><P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>    if(GBLvolInfo.filenameTypes &#38; FNTYPE_ROCKRIDGE)
        rc = bk_read_dir_tree(&#38;GBLvolInfo, FNTYPE_ROCKRIDGE, true, activityProgressUpdaterCbk);
    else if(GBLvolInfo.filenameTypes &#38; FNTYPE_JOLIET)
        rc = bk_read_dir_tree(&#38;GBLvolInfo, FNTYPE_JOLIET, false, activityProgressUpdaterCbk);
    else
        rc = bk_read_dir_tree(&#38;GBLvolInfo, FNTYPE_9660, false, activityProgressUpdaterCbk);</PRE
></TD
></TR
></TABLE
></P
><P
><TT
CLASS="PARAMETER"
><I
>progressFunction</I
></TT
> is a pointer to a function that takes a <CODE
CLASS="CLASSNAME"
>VolInfo*</CODE
> as a parameter and returns <CODE
CLASS="CLASSNAME"
>void</CODE
>. bk will call this function every 1 second or so. You can pass in NULL if you like but in that case control won't be returned to your code until <TT
CLASS="FUNCTION"
>bk_add()</TT
> is finished doing what it has to do so you can't update a progress bar or cancel adding.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="c73.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x153.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Function Reference</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="c73.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Adding</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>