udf.h

Go to the documentation of this file.
00001 /*  
00002     $Id: udf_8h-source.html,v 1.2 2006/10/27 11:16:42 rocky Exp $
00003     Copyright (C) 2005, 2006 Rocky Bernstein <rocky@panix.com>
00004 
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00019 
00028 #ifndef UDF_H
00029 #define UDF_H 
00030 
00031 #include <cdio/cdio.h>
00032 #include <cdio/ecma_167.h>
00033 #include <cdio/posix.h>
00034 
00035 typedef uint16_t partition_num_t;
00036 
00038 typedef struct udf_s udf_t; 
00039 typedef struct udf_file_s udf_file_t;
00040 typedef struct udf_dirent_s udf_dirent_t;
00041 
00046 typedef enum {
00047   UDF_BLOCKSIZE       = 2048
00048 } udf_enum1_t; 
00049 
00054 extern udf_enum1_t debug_udf_enum1;
00055 
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif /* __cplusplus */
00059 
00063   bool udf_close (udf_t *p_udf);
00064   
00071   driver_return_code_t udf_read_sectors (const udf_t *p_udf, void *ptr, 
00072                                          lsn_t i_start,  long int i_blocks);
00073 
00080   udf_t *udf_open (const char *psz_path);
00081   
00086   int16_t udf_get_part_number(const udf_t *p_udf);
00087 
00096   udf_dirent_t *udf_get_root (udf_t *p_udf, bool b_any_partition, 
00097                               partition_num_t i_partition);
00098   
00105   int udf_get_volume_id(udf_t *p_udf, /*out*/ char *psz_volid,  
00106                         unsigned int i_volid);
00107   
00117   int udf_get_volumeset_id(udf_t *p_udf, /*out*/ uint8_t *volsetid,
00118                            unsigned int i_volsetid);
00119   
00123   udf_dirent_t *udf_fopen(udf_dirent_t *p_udf_root, const char *psz_name);
00124   
00162   char *udf_mode_string (mode_t i_mode, char *psz_str);
00163 
00164 #ifdef __cplusplus
00165 }
00166 #endif /* __cplusplus */
00167 
00168 #include <cdio/udf_time.h>
00169 #include <cdio/udf_file.h>
00170 
00171 #endif /*UDF_H*/

Generated on Fri Oct 27 06:38:08 2006 for libcdio by  doxygen 1.4.6