libcdio  0.82
udf.h
Go to the documentation of this file.
00001 /*  
00002     $Id: udf.h,v 1.22 2008/03/25 15:59:09 karl Exp $
00003 
00004     Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
00005 
00006     This program is free software: you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation, either version 3 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program.  If not, see <http://www.gnu.org/licenses/>.
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 for libcdio by doxygen 1.7.6.1