|
|
@ -61,84 +61,61 @@ User experience tells us that you will need at least autotools version 1.7. |
|
|
|
To build libburn and its subprojects it should be sufficient to go into |
|
|
|
its toplevel directory and execute |
|
|
|
|
|
|
|
<dl> |
|
|
|
<dd>./bootstrap (needed if you downloaded from SVN) |
|
|
|
<dd>./configure |
|
|
|
<dd>make |
|
|
|
</dl> |
|
|
|
- ./bootstrap (needed if you downloaded from SVN) |
|
|
|
|
|
|
|
To make the libraries accessible for running resp. developing applications |
|
|
|
- ./configure |
|
|
|
|
|
|
|
- make |
|
|
|
|
|
|
|
<dl> |
|
|
|
<dd>make install |
|
|
|
</dl> |
|
|
|
To make the libraries accessible for running resp. developing applications |
|
|
|
|
|
|
|
- make install |
|
|
|
|
|
|
|
Both libraries are written in C language and get built by autotools. |
|
|
|
Thus we expect them to be useable by a wide range of Linux-implemented |
|
|
|
languages and development tools. |
|
|
|
|
|
|
|
We are still practicing. |
|
|
|
|
|
|
|
@subsection working Working with the library |
|
|
|
|
|
|
|
In general, using the library to perform a process consists of the following |
|
|
|
steps: |
|
|
|
|
|
|
|
<dl> |
|
|
|
<dd>1. Initialize the library. |
|
|
|
<dd>2. Depends on wether you know the persisten drive address in advance |
|
|
|
<dl> |
|
|
|
<dd>If yes: |
|
|
|
<dd>2a. Aquire this drive alone and directly by function |
|
|
|
burn_drive_scan_and_grab() and be done until step 5 |
|
|
|
<dd>If no address known yet: |
|
|
|
<dd>2b. Scan for available Drives.. |
|
|
|
</dl> |
|
|
|
<dd>3b. Choose a Drive for reading/writing and inquire its persistent address. |
|
|
|
<dd>4b. Shut down library, re-initialize it and like in step 2a aquire the |
|
|
|
chosen drive by function burn_drive_scan_and_grab() |
|
|
|
<dd>5. Fill in the options for the operation. |
|
|
|
<dd>6. Wait for the operation to complete, displaying status along the way |
|
|
|
if desired. |
|
|
|
<dd>7. Release the Drive. |
|
|
|
<dd>8. Destroy the library instance. (If you're done working with the library.) |
|
|
|
</dl> |
|
|
|
|
|
|
|
@section libburner Libburner |
|
|
|
|
|
|
|
libburner is a minimal demo application for the library libburn (see: libburn.h) |
|
|
|
as provided on http://libburn.pykix.org . It can list the available devices, can |
|
|
|
blank a CD-RW and can burn to CD-R or CD-RW.<br> |
|
|
|
It's main purpose, nevertheless, is to show you how to use libburn and also |
|
|
|
to serve the libburn team as reference application. libburner.c does indeed |
|
|
|
define the standard way how above three gestures can be implemented and |
|
|
|
stay upward compatible for a good while. |
|
|
|
|
|
|
|
@subsection libburner-help Libburner --help |
|
|
|
<dl> |
|
|
|
<dd>Usage: test/libburner |
|
|
|
<dl> |
|
|
|
<dd> [--drive <address>|<driveno>|"-"] |
|
|
|
<dd> [--verbose <level>] [--blank_fast|--blank_full] |
|
|
|
<dd> [--burn_for_real|--try_to_simulate] [--stdin_size <bytes>] |
|
|
|
<dd> [<imagefile>|"-"] |
|
|
|
</dl> |
|
|
|
<dd>Examples |
|
|
|
<dl> |
|
|
|
<dd> A bus scan (needs rw-permissions to see a drive): test/libburner --drive - |
|
|
|
<dd> Burn a file to drive chosen by number: |
|
|
|
<dl><dd> test/libburner --drive 0 --burn_for_real my_image_file</dl> |
|
|
|
<dd> Burn a file to drive chosen by persistent address: |
|
|
|
<dl><dd> test/libburner --drive /dev/hdc --burn_for_real my_image_file</dl> |
|
|
|
<dd> Blank a used CD-RW (is combinable with burning in one run): |
|
|
|
<dl><dd> test/libburner --drive 0 --blank_fast</dl> |
|
|
|
<dd> Burn a compressed afio archive on-the-fly, pad up to 700 MB: |
|
|
|
<dl><dd> ( cd my_directory ; find . -print | afio -oZ - ) | \ |
|
|
|
<dd> test/libburner --drive /dev/hdc --burn_for_real --stdin_size 734003200 - </dl> |
|
|
|
<dd>To be read from *not mounted* CD via: afio -tvZ /dev/hdc |
|
|
|
<dd> Program tar would need a clean EOF which our padded CD cannot deliver. |
|
|
|
</dl> |
|
|
|
@section libburner Libburner |
|
|
|
|
|
|
|
libburner is a minimal demo application for the library libburn |
|
|
|
(see: libburn/libburn.h) as provided on http://libburn.pykix.org . |
|
|
|
It can list the available devices, can blank a CD-RW and |
|
|
|
can burn to CD-R or CD-RW. |
|
|
|
|
|
|
|
It's main purpose, nevertheless, is to show you how to use libburn and also |
|
|
|
to serve the libburn team as reference application. libburner does indeed |
|
|
|
define the standard way how above three gestures can be implemented and |
|
|
|
stay upward compatible for a good while. |
|
|
|
|
|
|
|
@subsection libburner-help Libburner --help |
|
|
|
<pre> |
|
|
|
Usage: test/libburner |
|
|
|
[--drive <address>|<driveno>|"-"] |
|
|
|
[--verbose <level>] [--blank_fast|--blank_full] |
|
|
|
[--burn_for_real|--try_to_simulate] [--stdin_size <bytes>] |
|
|
|
[<imagefile>|"-"] |
|
|
|
Examples |
|
|
|
A bus scan (needs rw-permissions to see a drive): |
|
|
|
test/libburner --drive - |
|
|
|
Burn a file to drive chosen by number: |
|
|
|
test/libburner --drive 0 --burn_for_real my_image_file |
|
|
|
Burn a file to drive chosen by persistent address: |
|
|
|
test/libburner --drive /dev/hdc --burn_for_real my_image_file |
|
|
|
Blank a used CD-RW (is combinable with burning in one run): |
|
|
|
test/libburner --drive 0 --blank_fast |
|
|
|
Burn a compressed afio archive on-the-fly, pad up to 700 MB: |
|
|
|
( cd my_directory ; find . -print | afio -oZ - ) | \ |
|
|
|
test/libburner --drive /dev/hdc --burn_for_real --stdin_size 734003200 - |
|
|
|
To be read from *not mounted* CD via: |
|
|
|
afio -tvZ /dev/hdc |
|
|
|
Program tar would need a clean EOF which our padded CD cannot deliver. |
|
|
|
</pre> |
|
|
|
|
|
|
|
@subsection libburner-source Sourceode of libburner |
|
|
|
|
|
|
|
Click on blue names of functions, structures, variables, etc in oder to |
|
|
|
get to the according specs of libburn API or libburner sourcecode. |
|
|
|
|
|
|
|
@include libburner.c |
|
|
|
*/ |