New API calls burn_get_media_product_id() and burn_guess_manufacturer()

This commit is contained in:
2009-09-04 20:21:55 +00:00
parent 6642342274
commit 557299d350
7 changed files with 476 additions and 11 deletions

View File

@ -1138,9 +1138,9 @@ int burn_drive_get_start_end_lba(struct burn_drive *drive,
/* ts A90902 */
/** Guess the manufacturer name from the ATIP addresses of lead-in and
lead-out. (Currently only lead-in is interpreted. Lead-out may in future
be used to identify the media type in more detail.)
/** Guess the manufacturer name of CD media from the ATIP addresses of lead-in
and lead-out. (Currently only lead-in is interpreted. Lead-out may in
future be used to identify the media type in more detail.)
The parameters of this call should be obtained by burn_disc_read_atip(d),
burn_drive_get_start_end_lba(d, &start_lba, &end_lba, 0),
burn_lba_to_msf(start_lba, &m_li, &s_li, &f_li) and
@ -1156,7 +1156,7 @@ int burn_drive_get_start_end_lba(struct burn_drive *drive,
vendor names are known.
@return Printable text or NULL on memory shortage.
Dispose by free() when no longer needed.
@since 0.7.2
@since 0.7.2
*/
char *burn_guess_cd_manufacturer(int m_li, int s_li, int f_li,
int m_lo, int s_lo, int f_lo, int flag);
@ -1237,6 +1237,54 @@ off_t burn_disc_available_space(struct burn_drive *d,
*/
int burn_disc_get_profile(struct burn_drive *d, int *pno, char name[80]);
/* ts A90903 : API */
/** Obtain product id and standards defined media codes.
The product id is a printable string which is supposed to be the same
for identical media but should vary with non-identical media. Some media
do not allow to obtain such an id at all.
The pair (profile_number, product_id) should be the best id to identify
media with identical product specifications.
The reply parameters media_code1 and media_code2 can be used with
burn_guess_manufacturer()
The reply parameters have to be disposed by free() when no longer needed.
@param d The drive where the media is inserted.
@param product_id Reply: Printable text depicting manufacturer and
eventually media id.
@param media_code1 Reply: The eventual manufacturer identification as read
from DVD/BD media or a text "XXmYYsZZf" from CD media
ATIP lead-in.
@param media_code2 The eventual media id as read from DVD+/BD media or a
text "XXmYYsZZf" from CD ATIP lead-out.
@param book_type Book type text for DVD and BD.
Caution: is NULL with CD, even if return value says ok.
@param flag Bitfield for control purposes, submit 0
@return 1= ok, product_id and media codes are valid,
0= no product id_available, reply parameters are NULL
<0= error
*/
int burn_get_media_product_id(struct burn_drive *d,
char **product_id, char **media_code1, char **media_code2,
char **book_type, int flag);
/* ts A90904 */
/** Guess the name of a manufacturer by profile number, manufacturer code
and media code. The profile number can be obtained by
burn_disc_get_profile(), the other two parameters can be obtained as
media_code1 and media_code2 by burn_get_media_product_id().
@param profile_no Profile number (submit -1 if not known)
@param manuf_code Manufacturer code from media (e.g. "RICOHJPN")
@param media_code Media ID code from media (e.g. "W11")
@param flag Bitfield for control purposes, submit 0
@return Printable text or NULL on memory shortage.
Dispose by free() when no longer needed.
@since 0.7.2
*/
char *burn_guess_manufacturer(int profile_no,
char *manuf_code, char *media_code, int flag);
/** Tells whether a disc can be erased or not
@param d The drive to inquire.
@return Non-zero means erasable