udf.h: Mostly add a couple more routines and more fields in udf_file_t

ecma_167.h: more udf_ prefixes, add extern debugger symbols.
This commit is contained in:
rocky
2005-10-21 12:33:46 +00:00
parent a6472512f6
commit 50ad6d7559
2 changed files with 46 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
/*
$Id: udf.h,v 1.4 2005/10/19 07:06:35 rocky Exp $
$Id: udf.h,v 1.5 2005/10/21 12:33:46 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
This program is free software; you can redistribute it and/or modify
@@ -37,21 +37,35 @@ typedef uint8_t ubyte;
typedef struct
{
char *psz_name;
bool b_dir; /* true if this entry is a directory. */
bool b_root; /* True if root directory, so b_dir should be
true if this is true. */
bool b_dir; /* true if this entry is a directory. */
bool b_parent; /* True if has parent directory (e.g. not root
directory). If not set b_dir will probably
be true. */
uint32_t i_part_start;
uint32_t dir_lba, dir_end_lba;
uint64_t dir_left;
uint8_t *sector;
udf_fileid_desc_t *fid;
} udf_file_t;
/** This is an opaque structure. */
typedef struct udf_s udf_t;
/**
Imagine the below a #define'd value rather than distinct values of
an enum.
*/
typedef enum {
UDF_BLOCKSIZE = 2048
} udf_enum1_t;
/** This variable is trickery to force the above enum symbol value to
be recorded in debug symbol tables. It is used to allow one refer
to above enumeration values in a debugger and debugger
expressions */
extern udf_enum1_t debug_udf_enums1;
/*!
Seek to a position i_start and then read i_blocks. Number of blocks read is
returned. One normally expects the return to be equal to i_blocks.
@@ -67,6 +81,10 @@ long int udf_read_sectors (const udf_t *p_udf, void *ptr, lsn_t i_start,
*/
udf_t *udf_open (const char *psz_path);
udf_file_t *udf_get_sub(udf_t *p_udf, udf_file_t *p_file);
udf_file_t *udf_get_next(udf_t *p_udf, udf_file_t * p_file);
/*!
Close UDF and free resources associated with p_udf.
*/