Main Page | Data Structures | Directories | File List | Data Fields | Globals

libisofs.h File Reference

#include "libburn/libburn.h"

Go to the source code of this file.

Enumerations

enum  iso_name_version {
  ISO_NAME_FULL, ISO_NAME_ISO, ISO_NAME_ISO_L1, ISO_NAME_ISO_L2,
  ISO_NAME_ROCKRIDGE, ISO_NAME_JOLIET
}
 Possible versions of a file or directory name or identifier. More...
enum  ecma119_extension_flag { ECMA119_ROCKRIDGE = (1<<0), ECMA119_JOLIET = (1<<1) }

Functions

iso_volume * iso_volume_new (const char *volume_id, const char *publisher_id, const char *data_preparer_id)
 Create a new volume.
void iso_volume_free (struct iso_volume *volume)
 Free a volume.
iso_tree_dir * iso_volume_get_root (const struct iso_volume *volume)
 Get the root directory for a volume.
void iso_volume_set_volume_id (struct iso_volume *volume, const char *volume_id)
 Fill in the volume identifier for a volume.
void iso_volume_set_publisher_id (struct iso_volume *volume, const char *publisher_id)
 Fill in the publisher for a volume.
void iso_volume_set_data_preparer_id (struct iso_volume *volume, const char *data_preparer_id)
 Fill in the data preparer for a volume.
int iso_volume_get_iso_level (const struct iso_volume *volume)
 Get the current ISO level for a volume.
void iso_volume_set_iso_level (struct iso_volume *volume, int level)
 Set the current ISO level for a volume.
int iso_volume_get_rockridge (const struct iso_volume *volume)
 See if Rock Ridge (POSIX) is enabled for a volume.
void iso_volume_set_rockridge (struct iso_volume *volume, int rockridge)
 Enable or disable Rock Ridge (POSIX) for a volume.
int iso_volume_get_joliet (const struct iso_volume *volume)
 See if Joliet (Unicode) is enabled for a volume.
void iso_volume_set_joliet (struct iso_volume *volume, int joliet)
 Enable or disable Joliet (Unicode) for a volume.
iso_volset * iso_volset_new (struct iso_volume *volume, const char *volset_id)
 Create a new Volume Set consisting of only one volume.
iso_tree_file * iso_tree_add_file (struct iso_tree_dir *parent, const char *path)
 Add a file to a directory.
iso_tree_dir * iso_tree_add_dir (struct iso_tree_dir *parent, const char *path)
 Add a directory from the local filesystem to the tree.
iso_tree_dir * iso_tree_radd_dir (struct iso_tree_dir *parent, const char *path)
 Recursively add an existing directory to the tree.
iso_tree_dir * iso_tree_add_new_dir (struct iso_tree_dir *parent, const char *name)
 Creates a new, empty directory on the volume.
const char * iso_tree_node_get_name (const struct iso_tree_node *node, enum iso_name_version ver)
 Get the name of a node.
void iso_tree_file_set_name (struct iso_tree_file *file, const char *name)
 Set the name of a file.
void iso_tree_dir_set_name (struct iso_tree_dir *dir, const char *name)
 Set the name of a directory.
void iso_tree_print (const struct iso_tree_dir *root, int spaces)
 Recursively print a directory to stdout.
burn_sourceiso_source_new_ecma119 (struct iso_volset *volumeset, int volnum, int level, int flags)
 Create a burn_source which can be used as a data source for a track.


Enumeration Type Documentation

enum ecma119_extension_flag
 

Enumeration values:
ECMA119_ROCKRIDGE 
ECMA119_JOLIET 

Definition at line 59 of file libisofs.h.

00059                             {
00060     ECMA119_ROCKRIDGE   = (1<<0),
00061     ECMA119_JOLIET      = (1<<1)
00062 };

enum iso_name_version
 

Possible versions of a file or directory name or identifier.

Enumeration values:
ISO_NAME_FULL  In the current locale.
ISO_NAME_ISO  Current ISO level identifier.
ISO_NAME_ISO_L1  ISO level 1 identifier.
ISO_NAME_ISO_L2  ISO level 2 identifier.
ISO_NAME_ROCKRIDGE  Rock Ridge file or directory name.
ISO_NAME_JOLIET  Joliet identifier.

Definition at line 50 of file libisofs.h.

00050                       {
00051     ISO_NAME_FULL,      /**< In the current locale. */
00052     ISO_NAME_ISO,       /**< Current ISO level identifier. */
00053     ISO_NAME_ISO_L1,    /**< ISO level 1 identifier. */
00054     ISO_NAME_ISO_L2,    /**< ISO level 2 identifier. */
00055     ISO_NAME_ROCKRIDGE, /**< Rock Ridge file or directory name. */
00056     ISO_NAME_JOLIET     /**< Joliet identifier. */
00057 };


Function Documentation

struct burn_source* iso_source_new_ecma119 struct iso_volset *  volumeset,
int  volnum,
int  level,
int  flags
 

Create a burn_source which can be used as a data source for a track.

The volume set used to create the libburn_source can _not_ be modified until the libburn_source is freed.

Parameters:
volumeset The volume set from which you want to write
volnum The volume in the set which you want to write (usually 0)
level ISO level to write at.
flags Which extensions to support.
Precondition:
volumeset is non-NULL

volnum is less than volset->volset_size.

Returns:
A burn_source to be used for the data source for a track

struct iso_tree_dir* iso_tree_add_dir struct iso_tree_dir *  parent,
const char *  path
 

Add a directory from the local filesystem to the tree.

Warning: this only adds the directory itself, no files or subdirectories.

Parameters:
path The path, on the local filesystem, of the directory.
Precondition:
parent is non-NULL

path is non-NULL and is a valid path to a directory on the local filesystem.

Returns:
a pointer to the newly created directory.

struct iso_tree_file* iso_tree_add_file struct iso_tree_dir *  parent,
const char *  path
 

Add a file to a directory.

Parameters:
path The path, on the local filesystem, of the file.
Precondition:
parent is non-NULL

path is non-NULL and is a valid path to a non-directory on the local filesystem.

Returns:
An iso_tree_file whose path is path and whose parent is parent.

struct iso_tree_dir* iso_tree_add_new_dir struct iso_tree_dir *  parent,
const char *  name
 

Creates a new, empty directory on the volume.

Precondition:
parent is non-NULL

name is unique among the children and files belonging to parent. Also, it doesn't contain '/' characters.

Postcondition:
parent contains a child directory whose name is name and whose POSIX attributes are the same as parent's.
Returns:
a pointer to the newly created directory.

void iso_tree_dir_set_name struct iso_tree_dir *  dir,
const char *  name
 

Set the name of a directory.

The name you input here will be the full name and will be used to derive the ISO, RockRidge and Joliet names.

void iso_tree_file_set_name struct iso_tree_file *  file,
const char *  name
 

Set the name of a file.

The name you input here will be the full name and will be used to derive the ISO, RockRidge and Joliet names.

const char* iso_tree_node_get_name const struct iso_tree_node *  node,
enum iso_name_version  ver
 

Get the name of a node.

void iso_tree_print const struct iso_tree_dir *  root,
int  spaces
 

Recursively print a directory to stdout.

Parameters:
spaces The initial number of spaces on the left. Set to 0 if you supply a root directory.

struct iso_tree_dir* iso_tree_radd_dir struct iso_tree_dir *  parent,
const char *  path
 

Recursively add an existing directory to the tree.

Warning: when using this, you'll lose pointers to files or subdirectories. If you want to have pointers to all files and directories, use iso_tree_add_file and iso_tree_add_dir.

Parameters:
path The path, on the local filesystem, of the directory to add.
Precondition:
parent is non-NULL

path is non-NULL and is a valid path to a directory on the local filesystem.

Returns:
a pointer to the newly created directory.

struct iso_volset* iso_volset_new struct iso_volume *  volume,
const char *  volset_id
 

Create a new Volume Set consisting of only one volume.

Parameters:
volume The first and only volume for the volset to contain.
volset_id The Volume Set ID.
Returns:
A new iso_volset.

void iso_volume_free struct iso_volume *  volume  ) 
 

Free a volume.

int iso_volume_get_iso_level const struct iso_volume *  volume  ) 
 

Get the current ISO level for a volume.

int iso_volume_get_joliet const struct iso_volume *  volume  ) 
 

See if Joliet (Unicode) is enabled for a volume.

int iso_volume_get_rockridge const struct iso_volume *  volume  ) 
 

See if Rock Ridge (POSIX) is enabled for a volume.

struct iso_tree_dir* iso_volume_get_root const struct iso_volume *  volume  ) 
 

Get the root directory for a volume.

struct iso_volume* iso_volume_new const char *  volume_id,
const char *  publisher_id,
const char *  data_preparer_id
 

Create a new volume.

The parameters can be set to NULL if you wish to set them later.

void iso_volume_set_data_preparer_id struct iso_volume *  volume,
const char *  data_preparer_id
 

Fill in the data preparer for a volume.

void iso_volume_set_iso_level struct iso_volume *  volume,
int  level
 

Set the current ISO level for a volume.

ISO level must be 1 or 2.

void iso_volume_set_joliet struct iso_volume *  volume,
int  joliet
 

Enable or disable Joliet (Unicode) for a volume.

void iso_volume_set_publisher_id struct iso_volume *  volume,
const char *  publisher_id
 

Fill in the publisher for a volume.

void iso_volume_set_rockridge struct iso_volume *  volume,
int  rockridge
 

Enable or disable Rock Ridge (POSIX) for a volume.

void iso_volume_set_volume_id struct iso_volume *  volume,
const char *  volume_id
 

Fill in the volume identifier for a volume.


Generated on Mon Feb 13 18:31:19 2006 for libburn by  doxygen 1.4.2