mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
[iso] update libcdio to v0.90
This commit is contained in:
parent
2a3b95a11a
commit
bf98a552da
47 changed files with 1024 additions and 928 deletions
|
@ -371,7 +371,7 @@ out:
|
|||
return r;
|
||||
}
|
||||
|
||||
BOOL ExtractISO(const char* src_iso, const char* dest_dir, bool scan)
|
||||
BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan)
|
||||
{
|
||||
size_t i;
|
||||
int j;
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
* calls. These control playing of the CD-ROM through its
|
||||
* line-out jack.
|
||||
*/
|
||||
#ifndef __CDIO_AUDIO_H__
|
||||
#define __CDIO_AUDIO_H__
|
||||
#ifndef CDIO_AUDIO_H_
|
||||
#define CDIO_AUDIO_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
|
@ -143,4 +143,4 @@ extern "C" {
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_AUDIO_H__ */
|
||||
#endif /* CDIO_AUDIO_H_ */
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
/*
|
||||
$Id: bytesex.h,v 1.5 2008/03/25 15:59:08 karl Exp $
|
||||
|
||||
Copyright (C) 2000, 2004 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -25,8 +23,8 @@
|
|||
* use glib.h routines instead.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_BYTESEX_H__
|
||||
#define __CDIO_BYTESEX_H__
|
||||
#ifndef CDIO_BYTESEX_H_
|
||||
#define CDIO_BYTESEX_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
#include <cdio/bytesex_asm.h> /* also defines CDIO_INLINE */
|
||||
|
@ -208,7 +206,7 @@ from_733 (uint64_t p)
|
|||
return (UINT32_C(0xFFFFFFFF) & p);
|
||||
}
|
||||
|
||||
#endif /* __CDIO_BYTESEX_H__ */
|
||||
#endif /* CDIO_BYTESEX_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: bytesex_asm.h,v 1.3 2008/03/25 15:59:08 karl Exp $
|
||||
|
||||
Copyright (C) 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
2001, 2004, 2005 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
2001 Sven Ottemann <ac-logic@freenet.de>
|
||||
|
||||
|
@ -26,8 +24,8 @@
|
|||
glib.h routines instead.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_BYTESEX_ASM_H__
|
||||
#define __CDIO_BYTESEX_ASM_H__
|
||||
#ifndef CDIO_BYTESEX_ASM_H_
|
||||
#define CDIO_BYTESEX_ASM_H_
|
||||
#if !defined(DISABLE_ASM_OPTIMIZE)
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
@ -106,10 +104,10 @@ static CDIO_INLINE
|
|||
uint32_t uint32_swap_le_be_asm(uint32_t a)
|
||||
{
|
||||
__asm__("xchgb %b0,%h0\n\t" /* swap lower bytes */
|
||||
"rorl $16,%0\n\t" /* swap words */
|
||||
"xchgb %b0,%h0" /* swap higher bytes */
|
||||
:"=q" (a)
|
||||
: "0" (a));
|
||||
"rorl $16,%0\n\t" /* swap words */
|
||||
"xchgb %b0,%h0" /* swap higher bytes */
|
||||
:"=q" (a)
|
||||
: "0" (a));
|
||||
|
||||
return(a);
|
||||
}
|
||||
|
@ -118,8 +116,8 @@ static CDIO_INLINE
|
|||
uint16_t uint16_swap_le_be_asm(uint16_t a)
|
||||
{
|
||||
__asm__("xchgb %b0,%h0" /* swap bytes */
|
||||
: "=q" (a)
|
||||
: "0" (a));
|
||||
: "=q" (a)
|
||||
: "0" (a));
|
||||
|
||||
return(a);
|
||||
}
|
||||
|
@ -130,7 +128,7 @@ uint16_t uint16_swap_le_be_asm(uint16_t a)
|
|||
#endif
|
||||
|
||||
#endif /* !defined(DISABLE_ASM_OPTIMIZE) */
|
||||
#endif /* __CDIO_BYTESEX_ASM_H__ */
|
||||
#endif /* CDIO_BYTESEX_ASM_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
/** Application Interface or Protocol version number. If the public
|
||||
* interface changes, we increase this number.
|
||||
*/
|
||||
#define CDIO_API_VERSION 5
|
||||
#define CDIO_API_VERSION 6
|
||||
|
||||
#include <cdio/version.h>
|
||||
#include <cdio/types.h>
|
||||
|
@ -56,6 +56,9 @@ extern "C" {
|
|||
*/
|
||||
#include <cdio/device.h>
|
||||
|
||||
/* CD-Text-related functions. */
|
||||
#include <cdio/cdtext.h>
|
||||
|
||||
/* Disc-related functions. */
|
||||
#include <cdio/disc.h>
|
||||
|
||||
|
@ -64,9 +67,6 @@ extern "C" {
|
|||
*/
|
||||
#include <cdio/read.h>
|
||||
|
||||
/* CD-Text-related functions. */
|
||||
#include <cdio/cdtext.h>
|
||||
|
||||
/* Track-related functions. */
|
||||
#include <cdio/track.h>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* -*- c -*-
|
||||
|
||||
Copyright (C) 2005, 2006, 2008, 2009, 2010, 2011 Rocky Bernstein
|
||||
Copyright (C) 2005, 2006, 2008, 2009, 2010, 2011, 2012 Rocky Bernstein
|
||||
<rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -23,8 +23,8 @@
|
|||
* \brief C header for driver- or device-related libcdio
|
||||
* calls. ("device" includes CD-image reading devices).
|
||||
*/
|
||||
#ifndef __CDIO_DEVICE_H__
|
||||
#define __CDIO_DEVICE_H__
|
||||
#ifndef CDIO_DEVICE_H_
|
||||
#define CDIO_DEVICE_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -47,13 +47,13 @@ extern "C" {
|
|||
typedef enum {
|
||||
CDIO_DRIVE_CAP_ERROR = 0x40000, /**< Error */
|
||||
CDIO_DRIVE_CAP_UNKNOWN = 0x80000, /**< Dunno. It can be on if we
|
||||
have only partial information
|
||||
have only partial information
|
||||
or are not completely certain
|
||||
*/
|
||||
*/
|
||||
CDIO_DRIVE_CAP_MISC_CLOSE_TRAY = 0x00001, /**< caddy systems can't
|
||||
close... */
|
||||
CDIO_DRIVE_CAP_MISC_EJECT = 0x00002, /**< but can eject. */
|
||||
CDIO_DRIVE_CAP_MISC_LOCK = 0x00004, /**< disable manual eject */
|
||||
CDIO_DRIVE_CAP_MISC_LOCK = 0x00004, /**< disable manual eject */
|
||||
CDIO_DRIVE_CAP_MISC_SELECT_SPEED = 0x00008, /**< programmable speed */
|
||||
CDIO_DRIVE_CAP_MISC_SELECT_DISC = 0x00010, /**< select disc from
|
||||
juke-box */
|
||||
|
@ -61,7 +61,7 @@ extern "C" {
|
|||
CDIO_DRIVE_CAP_MISC_MEDIA_CHANGED= 0x00080, /**< media changed */
|
||||
CDIO_DRIVE_CAP_MISC_RESET = 0x00100, /**< hard reset device */
|
||||
CDIO_DRIVE_CAP_MISC_FILE = 0x20000 /**< drive is really a file,
|
||||
i.e a CD file image */
|
||||
i.e a CD file image */
|
||||
} cdio_drive_cap_misc_t;
|
||||
|
||||
/** Reading masks.. */
|
||||
|
@ -151,7 +151,7 @@ extern "C" {
|
|||
*/
|
||||
typedef enum {
|
||||
DRIVER_UNKNOWN, /**< Used as input when we don't care what kind
|
||||
of driver to use. */
|
||||
of driver to use. */
|
||||
DRIVER_AIX, /**< AIX driver */
|
||||
DRIVER_BSDI, /**< BSDI driver */
|
||||
DRIVER_FREEBSD, /**< FreeBSD driver - includes CAM and ioctl access */
|
||||
|
@ -161,13 +161,13 @@ extern "C" {
|
|||
DRIVER_OS2, /**< IBM OS/2 Driver */
|
||||
DRIVER_OSX, /**< Apple OSX Driver */
|
||||
DRIVER_WIN32, /**< Microsoft Windows Driver. Includes ASPI and
|
||||
ioctl access. */
|
||||
ioctl access. */
|
||||
DRIVER_CDRDAO, /**< cdrdao format CD image. This is listed
|
||||
before BIN/CUE, to make the code prefer cdrdao
|
||||
over BIN/CUE when both exist. */
|
||||
before BIN/CUE, to make the code prefer cdrdao
|
||||
over BIN/CUE when both exist. */
|
||||
DRIVER_BINCUE, /**< CDRWIN BIN/CUE format CD image. This is
|
||||
listed before NRG, to make the code prefer
|
||||
BIN/CUE over NRG when both exist. */
|
||||
listed before NRG, to make the code prefer
|
||||
BIN/CUE over NRG when both exist. */
|
||||
DRIVER_NRG, /**< Nero NRG format CD image. */
|
||||
DRIVER_DEVICE /**< Is really a set of the above; should come last */
|
||||
} driver_id_t;
|
||||
|
@ -200,10 +200,10 @@ extern "C" {
|
|||
enumeration in driver_id_t. Since we have a bogus (but useful) 0th
|
||||
entry above we don't have to add one.
|
||||
*/
|
||||
#define CDIO_MIN_DRIVER DRIVER_AIX
|
||||
#define CDIO_MIN_DEVICE_DRIVER CDIO_MIN_DRIVER
|
||||
#define CDIO_MAX_DRIVER DRIVER_NRG
|
||||
#define CDIO_MAX_DEVICE_DRIVER DRIVER_WIN32
|
||||
LIBCDIO_DEPRECATED(static const driver_id_t CDIO_MIN_DRIVER, "please use cdio_drivers") = DRIVER_AIX;
|
||||
LIBCDIO_DEPRECATED(static const driver_id_t CDIO_MIN_DEVICE_DRIVER, "please use cdio_device_drivers") = DRIVER_AIX;
|
||||
LIBCDIO_DEPRECATED(static const driver_id_t CDIO_MAX_DRIVER, "please use cdio_drivers") = DRIVER_NRG;
|
||||
LIBCDIO_DEPRECATED(static const driver_id_t CDIO_MAX_DEVICE_DRIVER, "please use cdio_device_drivers") = DRIVER_WIN32;
|
||||
|
||||
/**
|
||||
The following are status codes for completion of a given cdio
|
||||
|
@ -219,30 +219,30 @@ extern "C" {
|
|||
*/
|
||||
typedef enum {
|
||||
DRIVER_OP_SUCCESS = 0, /**< in cases where an int is
|
||||
returned, like cdio_set_speed,
|
||||
more the negative return codes are
|
||||
for errors and the positive ones
|
||||
for success. */
|
||||
returned, like cdio_set_speed,
|
||||
more the negative return codes are
|
||||
for errors and the positive ones
|
||||
for success. */
|
||||
DRIVER_OP_ERROR = -1, /**< operation returned an error */
|
||||
DRIVER_OP_UNSUPPORTED = -2, /**< returned when a particular driver
|
||||
doesn't support a particular operation.
|
||||
For example an image driver which doesn't
|
||||
really "eject" a CD.
|
||||
*/
|
||||
doesn't support a particular operation.
|
||||
For example an image driver which doesn't
|
||||
really "eject" a CD.
|
||||
*/
|
||||
DRIVER_OP_UNINIT = -3, /**< returned when a particular driver
|
||||
hasn't been initialized or a null
|
||||
pointer has been passed.
|
||||
*/
|
||||
hasn't been initialized or a null
|
||||
pointer has been passed.
|
||||
*/
|
||||
DRIVER_OP_NOT_PERMITTED = -4, /**< Operation not permitted.
|
||||
For example might be a permission
|
||||
problem.
|
||||
*/
|
||||
For example might be a permission
|
||||
problem.
|
||||
*/
|
||||
DRIVER_OP_BAD_PARAMETER = -5, /**< Bad parameter passed */
|
||||
DRIVER_OP_BAD_POINTER = -6, /**< Bad pointer to memory area */
|
||||
DRIVER_OP_NO_DRIVER = -7, /**< Operation called on a driver
|
||||
not available on this OS */
|
||||
not available on this OS */
|
||||
DRIVER_OP_MMC_SENSE_DATA = -8, /**< MMC operation returned sense data,
|
||||
but no other error above recorded. */
|
||||
but no other error above recorded. */
|
||||
} driver_return_code_t;
|
||||
|
||||
/**
|
||||
|
@ -255,7 +255,7 @@ extern "C" {
|
|||
report back the driver used.
|
||||
*/
|
||||
driver_return_code_t cdio_close_tray (const char *psz_drive,
|
||||
/*in/out*/ driver_id_t *p_driver_id);
|
||||
/*in/out*/ driver_id_t *p_driver_id);
|
||||
|
||||
/**
|
||||
@param drc the return code you want interpreted.
|
||||
|
@ -365,7 +365,7 @@ extern "C" {
|
|||
was found.
|
||||
*/
|
||||
char ** cdio_get_devices_with_cap (/*in*/ char *ppsz_search_devices[],
|
||||
cdio_fs_anal_t capabilities, bool b_any);
|
||||
cdio_fs_anal_t capabilities, bool b_any);
|
||||
|
||||
/**
|
||||
Like cdio_get_devices_with_cap but we return the driver we found
|
||||
|
@ -374,9 +374,9 @@ extern "C" {
|
|||
and speeds things up for libcdio as well.
|
||||
*/
|
||||
char ** cdio_get_devices_with_cap_ret (/*in*/ char* ppsz_search_devices[],
|
||||
cdio_fs_anal_t capabilities,
|
||||
bool b_any,
|
||||
/*out*/ driver_id_t *p_driver_id);
|
||||
cdio_fs_anal_t capabilities,
|
||||
bool b_any,
|
||||
/*out*/ driver_id_t *p_driver_id);
|
||||
|
||||
/**
|
||||
Like cdio_get_devices, but we may change the p_driver_id if we
|
||||
|
@ -401,9 +401,9 @@ extern "C" {
|
|||
NULL even though there isa hardware CD-ROM.
|
||||
*/
|
||||
void cdio_get_drive_cap (const CdIo_t *p_cdio,
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
|
||||
/**
|
||||
Get the drive capabilities for a specified device.
|
||||
|
@ -415,9 +415,9 @@ extern "C" {
|
|||
NULL even though there isa hardware CD-ROM.
|
||||
*/
|
||||
void cdio_get_drive_cap_dev (const char *device,
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
|
||||
/**
|
||||
Get a string containing the name of the driver in use.
|
||||
|
@ -441,7 +441,7 @@ extern "C" {
|
|||
False is returned if we had an error getting the information.
|
||||
*/
|
||||
bool cdio_get_hwinfo ( const CdIo_t *p_cdio,
|
||||
/*out*/ cdio_hwinfo_t *p_hw_info );
|
||||
/*out*/ cdio_hwinfo_t *p_hw_info );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -452,7 +452,7 @@ extern "C" {
|
|||
@param i_last_session pointer to the session number to be returned.
|
||||
*/
|
||||
driver_return_code_t cdio_get_last_session (CdIo_t *p_cdio,
|
||||
/*out*/ lsn_t *i_last_session);
|
||||
/*out*/ lsn_t *i_last_session);
|
||||
|
||||
/**
|
||||
Find out if media has changed since the last call.
|
||||
|
@ -508,7 +508,7 @@ extern "C" {
|
|||
@return the cdio object or NULL on error or no device.
|
||||
*/
|
||||
CdIo_t * cdio_open_am (const char *psz_source,
|
||||
driver_id_t driver_id, const char *psz_access_mode);
|
||||
driver_id_t driver_id, const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Set up BIN/CUE CD disk-image for reading. Source is the .bin or
|
||||
|
@ -525,7 +525,7 @@ extern "C" {
|
|||
@return the cdio object or NULL on error or no device..
|
||||
*/
|
||||
CdIo_t * cdio_open_am_bincue (const char *psz_cue_name,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Set up cdrdao CD disk-image for reading. Source is the .toc file
|
||||
|
@ -540,7 +540,7 @@ extern "C" {
|
|||
@return the cdio object or NULL on error or no device..
|
||||
*/
|
||||
CdIo_t * cdio_open_am_cdrdao (const char *psz_toc_name,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default CUE file that would
|
||||
|
@ -578,7 +578,7 @@ extern "C" {
|
|||
NULL on error or there is no driver for a some sort of hardware CD-ROM.
|
||||
*/
|
||||
CdIo_t * cdio_open_am_cd (const char *psz_device,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
CDRWIN BIN/CUE CD disc-image routines. Source is the .cue file
|
||||
|
@ -598,7 +598,7 @@ extern "C" {
|
|||
@see cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_aix (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Set up CD-ROM for reading using the AIX driver. The device_name is
|
||||
|
@ -654,7 +654,7 @@ extern "C" {
|
|||
@see cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_bsdi (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the BSDI
|
||||
|
@ -696,7 +696,7 @@ extern "C" {
|
|||
@see cdio_open_cd, cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_freebsd (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the
|
||||
|
@ -733,7 +733,7 @@ extern "C" {
|
|||
NULL on error or there is no GNU/Linux driver.
|
||||
*/
|
||||
CdIo_t * cdio_open_am_linux (const char *psz_source,
|
||||
const char *access_mode);
|
||||
const char *access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the
|
||||
|
@ -773,7 +773,7 @@ extern "C" {
|
|||
NULL on error or there is no Solaris driver.
|
||||
*/
|
||||
CdIo_t * cdio_open_am_solaris (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the
|
||||
|
@ -819,7 +819,7 @@ extern "C" {
|
|||
@see cdio_open_cd, cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_osx (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the OSX
|
||||
|
@ -855,7 +855,7 @@ extern "C" {
|
|||
NULL is returned on error or there is no Microsof Windows driver.
|
||||
*/
|
||||
CdIo_t * cdio_open_am_win32 (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Return a string containing the default device name that the
|
||||
|
@ -929,7 +929,7 @@ Return a list of all of the CD-ROM devices that the OS/2 driver
|
|||
@return true on success; NULL on error or there is no Nero driver.
|
||||
*/
|
||||
CdIo_t * cdio_open_am_nrg (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/**
|
||||
Get a string containing the default device name that the NRG
|
||||
|
@ -994,7 +994,7 @@ Return a list of all of the CD-ROM devices that the OS/2 driver
|
|||
Set the blocksize for subsequent reads.
|
||||
*/
|
||||
driver_return_code_t cdio_set_blocksize ( const CdIo_t *p_cdio,
|
||||
int i_blocksize );
|
||||
int i_blocksize );
|
||||
|
||||
/**
|
||||
Set the drive speed.
|
||||
|
@ -1013,7 +1013,7 @@ Return a list of all of the CD-ROM devices that the OS/2 driver
|
|||
@see mmc_set_speed and mmc_set_drive_speed
|
||||
*/
|
||||
driver_return_code_t cdio_set_speed ( const CdIo_t *p_cdio,
|
||||
int i_drive_speed );
|
||||
int i_drive_speed );
|
||||
|
||||
/**
|
||||
Get the value associatied with key.
|
||||
|
@ -1033,7 +1033,7 @@ Return a list of all of the CD-ROM devices that the OS/2 driver
|
|||
@param value the value to assocaiate with key
|
||||
*/
|
||||
driver_return_code_t cdio_set_arg (CdIo_t *p_cdio, const char key[],
|
||||
const char value[]);
|
||||
const char value[]);
|
||||
|
||||
/**
|
||||
Initialize CD Reading and control routines. Should be called first.
|
||||
|
@ -1055,4 +1055,4 @@ extern cdio_drive_cap_write_t debug_drive_cap_write_t;
|
|||
extern cdio_mmc_hw_len_t debug_cdio_mmc_hw_len;
|
||||
extern cdio_src_category_mask_t debug_cdio_src_category_mask;
|
||||
|
||||
#endif /* __CDIO_DEVICE_H__ */
|
||||
#endif /* CDIO_DEVICE_H_ */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* -*- c -*-
|
||||
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2010 Rocky Bernstein
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2010, 2012 Rocky Bernstein
|
||||
<rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -21,8 +21,8 @@
|
|||
\file disc.h
|
||||
\brief The top-level header for disc-related libcdio calls.
|
||||
*/
|
||||
#ifndef __CDIO_DISC_H__
|
||||
#define __CDIO_DISC_H__
|
||||
#ifndef CDIO_DISC_H_
|
||||
#define CDIO_DISC_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -34,10 +34,10 @@ extern "C" {
|
|||
GNU/Linux /usr/include/linux/cdrom.h and we've added DVD.
|
||||
*/
|
||||
typedef enum {
|
||||
CDIO_DISC_MODE_CD_DA, /**< CD-DA */
|
||||
CDIO_DISC_MODE_CD_DATA, /**< CD-ROM form 1 */
|
||||
CDIO_DISC_MODE_CD_XA, /**< CD-ROM XA form2 */
|
||||
CDIO_DISC_MODE_CD_MIXED, /**< Some combo of above. */
|
||||
CDIO_DISC_MODE_CD_DA, /**< CD-DA */
|
||||
CDIO_DISC_MODE_CD_DATA, /**< CD-ROM form 1 */
|
||||
CDIO_DISC_MODE_CD_XA, /**< CD-ROM XA form2 */
|
||||
CDIO_DISC_MODE_CD_MIXED, /**< Some combo of above. */
|
||||
CDIO_DISC_MODE_DVD_ROM, /**< DVD ROM (e.g. movies) */
|
||||
CDIO_DISC_MODE_DVD_RAM, /**< DVD-RAM */
|
||||
CDIO_DISC_MODE_DVD_R, /**< DVD-R */
|
||||
|
@ -52,10 +52,11 @@ extern "C" {
|
|||
CDIO_DISC_MODE_DVD_OTHER, /**< Unknown/unclassified DVD type */
|
||||
CDIO_DISC_MODE_NO_INFO,
|
||||
CDIO_DISC_MODE_ERROR,
|
||||
CDIO_DISC_MODE_CD_I /**< CD-i. */
|
||||
CDIO_DISC_MODE_CD_I /**< CD-i. */
|
||||
} discmode_t;
|
||||
|
||||
extern const char *discmode2str[];
|
||||
|
||||
/**
|
||||
Get binary CD-Text information for a CdIo_t object.
|
||||
|
||||
|
@ -133,4 +134,4 @@ extern "C" {
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_DISC_H__ */
|
||||
#endif /* CDIO_DISC_H_ */
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_DS_H__
|
||||
#define __CDIO_DS_H__
|
||||
#ifndef CDIO_DS_H_
|
||||
#define CDIO_DS_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
|
@ -86,7 +86,7 @@ void *_cdio_list_node_data (CdioListNode_t *p_node);
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_DS_H__ */
|
||||
#endif /* CDIO_DS_H_ */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
|
|
|
@ -27,35 +27,40 @@
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_DVD_H__
|
||||
#define __CDIO_DVD_H__
|
||||
#ifndef CDIO_DVD_H_
|
||||
#define CDIO_DVD_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
/**
|
||||
Values used in a READ DVD STRUCTURE
|
||||
*/
|
||||
|
||||
#define CDIO_DVD_STRUCT_PHYSICAL 0x00
|
||||
#define CDIO_DVD_STRUCT_COPYRIGHT 0x01
|
||||
#define CDIO_DVD_STRUCT_DISCKEY 0x02
|
||||
#define CDIO_DVD_STRUCT_BCA 0x03
|
||||
#define CDIO_DVD_STRUCT_MANUFACT 0x04
|
||||
typedef enum cdio_dvd_structure
|
||||
{
|
||||
CDIO_DVD_STRUCT_PHYSICAL = 0x00,
|
||||
CDIO_DVD_STRUCT_COPYRIGHT = 0x01,
|
||||
CDIO_DVD_STRUCT_DISCKEY = 0x02,
|
||||
CDIO_DVD_STRUCT_BCA = 0x03,
|
||||
CDIO_DVD_STRUCT_MANUFACT = 0x04
|
||||
} cdio_dvd_structure;
|
||||
|
||||
/**
|
||||
Media definitions for "DVD Book" from MMC-5 Table 400, page 419.
|
||||
*/
|
||||
#define CDIO_DVD_BOOK_DVD_ROM 0x0 /**< DVD-ROM */
|
||||
#define CDIO_DVD_BOOK_DVD_RAM 0x1 /**< DVD-RAM */
|
||||
#define CDIO_DVD_BOOK_DVD_R 0x2 /**< DVD-R */
|
||||
#define CDIO_DVD_BOOK_DVD_RW 0x3 /**< DVD-RW */
|
||||
#define CDIO_DVD_BOOK_HD_DVD_ROM 0x4 /**< HD DVD-ROM */
|
||||
#define CDIO_DVD_BOOK_HD_DVD_RAM 0x5 /**< HD DVD-RAM */
|
||||
#define CDIO_DVD_BOOK_HD_DVD_R 0x6 /**< HD DVD-R */
|
||||
#define CDIO_DVD_BOOK_DVD_PRW 0x9 /**< DVD+RW */
|
||||
#define CDIO_DVD_BOOK_DVD_PR 0xa /**< DVD+R */
|
||||
#define CDIO_DVD_BOOK_DVD_PRW_DL 0xd /**< DVD+RW DL */
|
||||
#define CDIO_DVD_BOOK_DVD_PR_DL 0xe /**< DVD+R DL */
|
||||
typedef enum cdio_dvd_book
|
||||
{
|
||||
CDIO_DVD_BOOK_DVD_ROM = 0x0, /**< DVD-ROM */
|
||||
CDIO_DVD_BOOK_DVD_RAM = 0x1, /**< DVD-RAM */
|
||||
CDIO_DVD_BOOK_DVD_R = 0x2, /**< DVD-R */
|
||||
CDIO_DVD_BOOK_DVD_RW = 0x3, /**< DVD-RW */
|
||||
CDIO_DVD_BOOK_HD_DVD_ROM = 0x4, /**< HD DVD-ROM */
|
||||
CDIO_DVD_BOOK_HD_DVD_RAM = 0x5, /**< HD DVD-RAM */
|
||||
CDIO_DVD_BOOK_HD_DVD_R = 0x6, /**< HD DVD-R */
|
||||
CDIO_DVD_BOOK_DVD_PRW = 0x9, /**< DVD+RW */
|
||||
CDIO_DVD_BOOK_DVD_PR = 0xa, /**< DVD+R */
|
||||
CDIO_DVD_BOOK_DVD_PRW_DL = 0xd, /**< DVD+RW DL */
|
||||
CDIO_DVD_BOOK_DVD_PR_DL = 0xe /**< DVD+R DL */
|
||||
} cdio_dvd_book;
|
||||
|
||||
typedef struct cdio_dvd_layer {
|
||||
unsigned int book_version : 4;
|
||||
|
@ -124,4 +129,4 @@ typedef union {
|
|||
cdio_dvd_manufact_t manufact;
|
||||
} cdio_dvd_struct_t;
|
||||
|
||||
#endif /* __CDIO_DVD_H__ */
|
||||
#endif /* CDIO_DVD_H_ */
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: iso9660.h,v 1.102 2008/07/16 00:28:54 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
|
@ -33,8 +31,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_ISO9660_H__
|
||||
#define __CDIO_ISO9660_H__
|
||||
#ifndef CDIO_ISO9660_H_
|
||||
#define CDIO_ISO9660_H_
|
||||
|
||||
#include <time.h>
|
||||
|
||||
|
@ -71,7 +69,7 @@ typedef char dchar_t; /*! See section 7.4.1 */
|
|||
#undef ISODCL
|
||||
#endif
|
||||
/* This part borrowed from the bsd386 isofs */
|
||||
#define ISODCL(from, to) ((to) - (from) + 1)
|
||||
#define ISODCL(from, to) ((to) - (from) + 1)
|
||||
|
||||
#define MIN_TRACK_SIZE 4*75
|
||||
#define MIN_ISO_SIZE MIN_TRACK_SIZE
|
||||
|
@ -107,14 +105,14 @@ extern enum iso_enum1_s {
|
|||
|
||||
/*! ISO 9660 directory flags. */
|
||||
extern enum iso_flag_enum_s {
|
||||
ISO_FILE = 0, /**< Not really a flag... */
|
||||
ISO_EXISTENCE = 1, /**< Do not make existence known (hidden) */
|
||||
ISO_DIRECTORY = 2, /**< This file is a directory */
|
||||
ISO_ASSOCIATED = 4, /**< This file is an associated file */
|
||||
ISO_RECORD = 8, /**< Record format in extended attr. != 0 */
|
||||
ISO_FILE = 0, /**< Not really a flag... */
|
||||
ISO_EXISTENCE = 1, /**< Do not make existence known (hidden) */
|
||||
ISO_DIRECTORY = 2, /**< This file is a directory */
|
||||
ISO_ASSOCIATED = 4, /**< This file is an associated file */
|
||||
ISO_RECORD = 8, /**< Record format in extended attr. != 0 */
|
||||
ISO_PROTECTION = 16, /**< No read/execute perm. in ext. attr. */
|
||||
ISO_DRESERVED1 = 32, /**<, Reserved bit 5 */
|
||||
ISO_DRESERVED2 = 64, /**<, Reserved bit 6 */
|
||||
ISO_DRESERVED1 = 32, /**<, Reserved bit 5 */
|
||||
ISO_DRESERVED2 = 64, /**<, Reserved bit 6 */
|
||||
ISO_MULTIEXTENT = 128, /**< Not final entry of a mult. ext. file */
|
||||
} iso_flag_enums;
|
||||
|
||||
|
@ -124,7 +122,7 @@ extern enum iso_vd_enum_s {
|
|||
ISO_VD_PRIMARY = 1, /**< Is in any ISO-9660 */
|
||||
ISO_VD_SUPPLEMENTARY = 2, /**< Used by Joliet, for example */
|
||||
ISO_VD_PARITION = 3, /**< Indicates a partition of a CD */
|
||||
ISO_VD_END = 255
|
||||
ISO_VD_END = 255
|
||||
} iso_vd_enums;
|
||||
|
||||
|
||||
|
@ -136,12 +134,12 @@ extern enum iso_vd_enum_s {
|
|||
For ISO-9660 Level 1, the maximum needed string length is:
|
||||
|
||||
@code
|
||||
30 chars (filename + ext)
|
||||
+ 2 chars ('.' + ';')
|
||||
+ 5 chars (strlen("32767"))
|
||||
+ 1 null byte
|
||||
30 chars (filename + ext)
|
||||
+ 2 chars ('.' + ';')
|
||||
+ 5 chars (strlen("32767"))
|
||||
+ 1 null byte
|
||||
================================
|
||||
= 38 chars
|
||||
= 38 chars
|
||||
@endcode
|
||||
|
||||
*/
|
||||
|
@ -183,15 +181,15 @@ PRAGMA_BEGIN_PACKED
|
|||
|
||||
@see iso9660_dtime
|
||||
*/
|
||||
struct iso9660_dtime_s {
|
||||
iso711_t dt_year; /**< Number of years since 1900 */
|
||||
iso711_t dt_month; /**< Has value in range 1..12. Note starts
|
||||
struct iso9660_dtime_s {
|
||||
iso711_t dt_year; /**< Number of years since 1900 */
|
||||
iso711_t dt_month; /**< Has value in range 1..12. Note starts
|
||||
at 1, not 0 like a tm struct. */
|
||||
iso711_t dt_day; /**< Day of the month from 1 to 31 */
|
||||
iso711_t dt_hour; /**< Hour of the day from 0 to 23 */
|
||||
iso711_t dt_minute; /**< Minute of the hour from 0 to 59 */
|
||||
iso711_t dt_second; /**< Second of the minute from 0 to 59 */
|
||||
iso712_t dt_gmtoff; /**< GMT values -48 .. + 52 in 15 minute
|
||||
iso711_t dt_day; /**< Day of the month from 1 to 31 */
|
||||
iso711_t dt_hour; /**< Hour of the day from 0 to 23 */
|
||||
iso711_t dt_minute; /**< Minute of the hour from 0 to 59 */
|
||||
iso711_t dt_second; /**< Second of the minute from 0 to 59 */
|
||||
iso712_t dt_gmtoff; /**< GMT values -48 .. + 52 in 15 minute
|
||||
intervals */
|
||||
} GNUC_PACKED;
|
||||
|
||||
|
@ -206,19 +204,19 @@ typedef struct iso9660_dtime_s iso9660_dtime_t;
|
|||
|
||||
@see iso9660_ltime
|
||||
*/
|
||||
struct iso9660_ltime_s {
|
||||
char lt_year [ISODCL( 1, 4)]; /**< Add 1900 to value
|
||||
struct iso9660_ltime_s {
|
||||
char lt_year [ISODCL( 1, 4)]; /**< Add 1900 to value
|
||||
for the Julian
|
||||
year */
|
||||
char lt_month [ISODCL( 5, 6)]; /**< Has value in range
|
||||
char lt_month [ISODCL( 5, 6)]; /**< Has value in range
|
||||
1..12. Note starts
|
||||
at 1, not 0 like a
|
||||
tm struct. */
|
||||
char lt_day [ISODCL( 7, 8)]; /**< Day of month: 1..31 */
|
||||
char lt_hour [ISODCL( 9, 10)]; /**< hour: 0..23 */
|
||||
char lt_minute [ISODCL( 11, 12)]; /**< minute: 0..59 */
|
||||
char lt_second [ISODCL( 13, 14)]; /**< second: 0..59 */
|
||||
char lt_hsecond [ISODCL( 15, 16)]; /**< The value is in
|
||||
char lt_day [ISODCL( 7, 8)]; /**< Day of month: 1..31 */
|
||||
char lt_hour [ISODCL( 9, 10)]; /**< hour: 0..23 */
|
||||
char lt_minute [ISODCL( 11, 12)]; /**< minute: 0..59 */
|
||||
char lt_second [ISODCL( 13, 14)]; /**< second: 0..59 */
|
||||
char lt_hsecond [ISODCL( 15, 16)]; /**< The value is in
|
||||
units of 1/100's of
|
||||
a second */
|
||||
iso712_t lt_gmtoff; /**< Offset from Greenwich Mean Time in number
|
||||
|
@ -405,7 +403,7 @@ struct iso9660_svd_s {
|
|||
char id[5]; /**< ISO_STANDARD_ID "CD001"
|
||||
*/
|
||||
iso711_t version; /**< value 1 */
|
||||
char flags; /**< Section 8.5.3 */
|
||||
char flags; /**< Section 8.5.3 */
|
||||
achar_t system_id[ISO_MAX_SYSTEM_ID]; /**< Section 8.5.4; each char
|
||||
is an achar */
|
||||
dchar_t volume_id[ISO_MAX_VOLUME_ID]; /**< Section 8.5.5; each char
|
||||
|
@ -1133,7 +1131,7 @@ lsn_t iso9660_get_dir_extent(const iso9660_dir_t *p_idr);
|
|||
#endif /* __cplusplus */
|
||||
|
||||
#undef ISODCL
|
||||
#endif /* __CDIO_ISO9660_H__ */
|
||||
#endif /* CDIO_ISO9660_H_ */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: logging.h,v 1.11 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -23,8 +21,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef __LOGGING_H__
|
||||
#define __LOGGING_H__
|
||||
#ifndef CDIO_LOGGING_H_
|
||||
#define CDIO_LOGGING_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
|
@ -128,7 +126,7 @@ void cdio_error (const char format[], ...) GNUC_PRINTF(1,2);
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LOGGING_H__ */
|
||||
#endif /* CDIO_LOGGING_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: posix.h,v 1.2 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -22,8 +20,8 @@
|
|||
* \brief various POSIX definitions.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_POSIX_H__
|
||||
#define __CDIO_POSIX_H__
|
||||
#ifndef CDIO_POSIX_H_
|
||||
#define CDIO_POSIX_H_
|
||||
|
||||
typedef uint32_t posix_mode_t;
|
||||
typedef uint32_t posix_nlink_t;
|
||||
|
@ -31,7 +29,7 @@ typedef uint32_t posix_uid_t;
|
|||
typedef uint32_t posix_gid_t;
|
||||
typedef uint16_t unicode16_t;
|
||||
|
||||
#endif /* __CDIO_POSIX_H__ */
|
||||
#endif /* CDIO_POSIX_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: read.h,v 1.15 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2005, 2006, 2007, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2007, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -23,8 +21,8 @@
|
|||
* libcdio calls.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_READ_H__
|
||||
#define __CDIO_READ_H__
|
||||
#ifndef CDIO_READ_H_
|
||||
#define CDIO_READ_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
|
@ -74,11 +72,11 @@ extern "C" {
|
|||
@param p_cdio object to read from
|
||||
@param p_buf place to read data into. The caller should make sure
|
||||
this location can store at least CDIO_FRAMESIZE_RAW
|
||||
bytes.
|
||||
bytes.
|
||||
@param i_lsn sector to read
|
||||
*/
|
||||
driver_return_code_t cdio_read_audio_sector (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn);
|
||||
void *p_buf, lsn_t i_lsn);
|
||||
|
||||
/*!
|
||||
Reads audio sectors
|
||||
|
@ -86,13 +84,13 @@ extern "C" {
|
|||
@param p_cdio object to read from
|
||||
@param p_buf place to read data into. The caller should make sure
|
||||
this location can store at least CDIO_FRAMESIZE_RAW
|
||||
* i_blocks bytes.
|
||||
* i_blocks bytes.
|
||||
@param i_lsn sector to read
|
||||
@param i_blocks number of sectors to read
|
||||
*/
|
||||
driver_return_code_t cdio_read_audio_sectors (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint32_t i_blocks);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint32_t i_blocks);
|
||||
|
||||
/*!
|
||||
Read data sectors
|
||||
|
@ -100,11 +98,11 @@ extern "C" {
|
|||
@param p_cdio object to read from
|
||||
@param p_buf place to read data into. The caller should make sure
|
||||
this location can store at least ISO_BLOCKSIZE,
|
||||
M2RAW_SECTOR_SIZE, or M2F2_SECTOR_SIZE depending
|
||||
on the kind of sector getting read. If you don't
|
||||
know whether you have a Mode 1/2, Form 1/ Form 2/Formless
|
||||
sector best to reserve space for the maximum,
|
||||
M2RAW_SECTOR_SIZE.
|
||||
M2RAW_SECTOR_SIZE, or M2F2_SECTOR_SIZE depending
|
||||
on the kind of sector getting read. If you don't
|
||||
know whether you have a Mode 1/2, Form 1/ Form 2/Formless
|
||||
sector best to reserve space for the maximum,
|
||||
M2RAW_SECTOR_SIZE.
|
||||
@param i_lsn sector to read
|
||||
@param i_blocksize size of block. Should be either CDIO_CD_FRAMESIZE,
|
||||
M2RAW_SECTOR_SIZE, or M2F2_SECTOR_SIZE. See comment above under p_buf.
|
||||
|
@ -112,9 +110,9 @@ extern "C" {
|
|||
@param i_blocks number of blocks to read
|
||||
*/
|
||||
driver_return_code_t cdio_read_data_sectors ( const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint16_t i_blocksize,
|
||||
uint32_t i_blocks );
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint16_t i_blocksize,
|
||||
uint32_t i_blocks );
|
||||
/*!
|
||||
Reads a mode 1 sector
|
||||
|
||||
|
@ -125,8 +123,8 @@ extern "C" {
|
|||
mode 1 form 1 sectors.
|
||||
*/
|
||||
driver_return_code_t cdio_read_mode1_sector (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2);
|
||||
/*!
|
||||
Reads mode 1 sectors
|
||||
|
||||
|
@ -138,17 +136,17 @@ extern "C" {
|
|||
@param i_blocks number of sectors to read
|
||||
*/
|
||||
driver_return_code_t cdio_read_mode1_sectors (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2,
|
||||
uint32_t i_blocks);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2,
|
||||
uint32_t i_blocks);
|
||||
/*!
|
||||
Reads a mode 2 sector
|
||||
|
||||
@param p_cdio object to read from
|
||||
@param p_buf place to read data into. The caller should make sure
|
||||
this location can store at least
|
||||
M2RAW_SECTOR_SIZE (for form 1) or CDIO_CD_FRAMESIZE (for
|
||||
form 2) bytes.
|
||||
M2RAW_SECTOR_SIZE (for form 1) or CDIO_CD_FRAMESIZE (for
|
||||
form 2) bytes.
|
||||
@param i_lsn sector to read
|
||||
@param b_form2 true for reading mode 2 form 2 sectors or false for
|
||||
mode 2 form 1 sectors.
|
||||
|
@ -156,23 +154,23 @@ extern "C" {
|
|||
@return 0 if no error, nonzero otherwise.
|
||||
*/
|
||||
driver_return_code_t cdio_read_mode2_sector (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2);
|
||||
|
||||
/** The special case of reading a single block is a common one so we
|
||||
provide a routine for that as a convenience.
|
||||
*/
|
||||
driver_return_code_t cdio_read_sector(const CdIo_t *p_cdio, void *p_buf,
|
||||
lsn_t i_lsn,
|
||||
cdio_read_mode_t read_mode);
|
||||
lsn_t i_lsn,
|
||||
cdio_read_mode_t read_mode);
|
||||
/*!
|
||||
Reads mode 2 sectors
|
||||
|
||||
@param p_cdio object to read from
|
||||
@param p_buf place to read data into. The caller should make sure
|
||||
this location can store at least
|
||||
M2RAW_SECTOR_SIZE (for form 1) or CDIO_CD_FRAMESIZE (for
|
||||
form 2) * i_blocks bytes.
|
||||
M2RAW_SECTOR_SIZE (for form 1) or CDIO_CD_FRAMESIZE (for
|
||||
form 2) * i_blocks bytes.
|
||||
@param i_lsn sector to read
|
||||
@param b_form2 true for reading mode2 form 2 sectors or false for
|
||||
mode 2 form 1 sectors.
|
||||
|
@ -181,9 +179,9 @@ extern "C" {
|
|||
@return 0 if no error, nonzero otherwise.
|
||||
*/
|
||||
driver_return_code_t cdio_read_mode2_sectors (const CdIo_t *p_cdio,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2,
|
||||
uint32_t i_blocks);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
bool b_form2,
|
||||
uint32_t i_blocks);
|
||||
|
||||
/*!
|
||||
Reads a number of sectors (AKA blocks).
|
||||
|
@ -215,12 +213,12 @@ extern "C" {
|
|||
|
||||
*/
|
||||
driver_return_code_t cdio_read_sectors(const CdIo_t *p_cdio, void *p_buf,
|
||||
lsn_t i_lsn,
|
||||
cdio_read_mode_t read_mode,
|
||||
uint32_t i_blocks);
|
||||
lsn_t i_lsn,
|
||||
cdio_read_mode_t read_mode,
|
||||
uint32_t i_blocks);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_TRACK_H__ */
|
||||
#endif /* CDIO_READ_H_ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2005, 2006 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
See also rock.c by Eric Youngdale (1993) from GNU/Linux
|
||||
This is Copyright 1993 Yggdrasil Computing, Incorporated
|
||||
|
@ -26,8 +26,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_ROCK_H__
|
||||
#define __CDIO_ROCK_H__
|
||||
#ifndef CDIO_ROCK_H_
|
||||
#define CDIO_ROCK_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
||||
|
@ -152,10 +152,10 @@ typedef enum {
|
|||
ISO_ROCK_SL_ROOT = 8
|
||||
} iso_rock_sl_flag_t;
|
||||
|
||||
#define ISO_ROCK_SL_CONTINUE 1
|
||||
#define ISO_ROCK_SL_CURRENT 2
|
||||
#define ISO_ROCK_SL_PARENT 4
|
||||
#define ISO_ROCK_SL_ROOT 8
|
||||
#define ISO_ROCK_SL_CONTINUE 1
|
||||
#define ISO_ROCK_SL_CURRENT 2
|
||||
#define ISO_ROCK_SL_PARENT 4
|
||||
#define ISO_ROCK_SL_ROOT 8
|
||||
|
||||
typedef struct iso_rock_sl_part_s {
|
||||
uint8_t flags;
|
||||
|
@ -178,9 +178,9 @@ typedef enum {
|
|||
ISO_ROCK_NM_PARENT = 4,
|
||||
} iso_rock_nm_flag_t;
|
||||
|
||||
#define ISO_ROCK_NM_CONTINUE 1
|
||||
#define ISO_ROCK_NM_CURRENT 2
|
||||
#define ISO_ROCK_NM_PARENT 4
|
||||
#define ISO_ROCK_NM_CONTINUE 1
|
||||
#define ISO_ROCK_NM_CURRENT 2
|
||||
#define ISO_ROCK_NM_PARENT 4
|
||||
|
||||
|
||||
typedef struct iso_rock_nm_s {
|
||||
|
@ -373,7 +373,7 @@ extern iso_rock_tf_flag_t iso_rock_tf_flag;
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __ISO_ROCK_H__ */
|
||||
#endif /* CDIO_ROCK_H_ */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
$Id: sector.h,v 1.38 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -57,8 +56,8 @@
|
|||
|
||||
*/
|
||||
|
||||
#ifndef _CDIO_SECTOR_H_
|
||||
#define _CDIO_SECTOR_H_
|
||||
#ifndef CDIO_SECTOR_H_
|
||||
#define CDIO_SECTOR_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -69,21 +68,24 @@
|
|||
/*! Information that can be obtained through a Read Subchannel
|
||||
command.
|
||||
*/
|
||||
#define CDIO_SUBCHANNEL_SUBQ_DATA 0
|
||||
#define CDIO_SUBCHANNEL_CURRENT_POSITION 1
|
||||
#define CDIO_SUBCHANNEL_MEDIA_CATALOG 2
|
||||
#define CDIO_SUBCHANNEL_TRACK_ISRC 3
|
||||
typedef enum cdio_subchannel
|
||||
{
|
||||
CDIO_SUBCHANNEL_SUBQ_DATA = 0,
|
||||
CDIO_SUBCHANNEL_CURRENT_POSITION = 1,
|
||||
CDIO_SUBCHANNEL_MEDIA_CATALOG = 2,
|
||||
CDIO_SUBCHANNEL_TRACK_ISRC = 3
|
||||
} cdio_subchannel;
|
||||
|
||||
/*! track flags
|
||||
* Q Sub-channel Control Field (4.2.3.3)
|
||||
*/
|
||||
typedef enum {
|
||||
NONE = 0x00, /* no flags set */
|
||||
PRE_EMPHASIS = 0x01, /* audio track recorded with pre-emphasis */
|
||||
COPY_PERMITTED = 0x02, /* digital copy permitted */
|
||||
DATA = 0x04, /* data track */
|
||||
FOUR_CHANNEL_AUDIO = 0x08, /* 4 audio channels */
|
||||
SCMS = 0x10 /* SCMS (5.29.2.7) */
|
||||
NONE = 0x00, /* no flags set */
|
||||
PRE_EMPHASIS = 0x01, /* audio track recorded with pre-emphasis */
|
||||
COPY_PERMITTED = 0x02, /* digital copy permitted */
|
||||
DATA = 0x04, /* data track */
|
||||
FOUR_CHANNEL_AUDIO = 0x08, /* 4 audio channels */
|
||||
SCMS = 0x10 /* SCMS (5.29.2.7) */
|
||||
} flag_t;
|
||||
|
||||
#define CDIO_PREGAP_SECTORS 150
|
||||
|
@ -151,7 +153,7 @@
|
|||
#define CDIO_CD_FRAMESIZE_RAW 2352 /**< bytes per frame, "raw" mode */
|
||||
#define CDIO_CD_FRAMESIZE_RAWER 2646 /**< The maximum possible returned
|
||||
bytes */
|
||||
#define CDIO_CD_FRAMESIZE_RAW1 (CDIO_CD_CD_FRAMESIZE_RAW-CDIO_CD_SYNC_SIZE) /*2340*/
|
||||
#define CDIO_CD_FRAMESIZE_RAW1 (CDIO_CD_FRAMESIZE_RAW-CDIO_CD_SYNC_SIZE) /*2340*/
|
||||
#define CDIO_CD_FRAMESIZE_RAW0 (CDIO_CD_FRAMESIZE_RAW-CDIO_CD_SYNC_SIZE-CDIO_CD_HEADER_SIZE) /*2336*/
|
||||
|
||||
/*! "before data" part of raw XA (green, mode2) frame */
|
||||
|
@ -199,12 +201,14 @@
|
|||
#define CDIO_CD_FRAMES_PER_MIN \
|
||||
(CDIO_CD_FRAMES_PER_SEC*CDIO_CD_SECS_PER_MIN)
|
||||
|
||||
#define CDIO_CD_74MIN_SECTORS (UINT32_C(74)*CDIO_CD_FRAMES_PER_MIN)
|
||||
#define CDIO_CD_80MIN_SECTORS (UINT32_C(80)*CDIO_CD_FRAMES_PER_MIN)
|
||||
#define CDIO_CD_90MIN_SECTORS (UINT32_C(90)*CDIO_CD_FRAMES_PER_MIN)
|
||||
typedef enum cdio_cd_minutes_sectors
|
||||
{
|
||||
CDIO_CD_74MIN_SECTORS = UINT32_C(74) * CDIO_CD_FRAMES_PER_MIN,
|
||||
CDIO_CD_80MIN_SECTORS = UINT32_C(80) * CDIO_CD_FRAMES_PER_MIN,
|
||||
CDIO_CD_90MIN_SECTORS = UINT32_C(90) * CDIO_CD_FRAMES_PER_MIN,
|
||||
|
||||
#define CDIO_CD_MAX_SECTORS \
|
||||
(UINT32_C(100)*CDIO_CD_FRAMES_PER_MIN-CDIO_PREGAP_SECTORS)
|
||||
CDIO_CD_MAX_SECTORS = UINT32_C(100) * CDIO_CD_FRAMES_PER_MIN - CDIO_PREGAP_SECTORS
|
||||
} cdio_cd_minutes_sectors;
|
||||
|
||||
#define msf_t_SIZEOF 3
|
||||
|
||||
|
@ -274,7 +278,7 @@
|
|||
#define CD_FRAMESIZE_RAW CDIO_CD_FRAMESIZE_RAW
|
||||
#endif /*DO_NOT_WANT_PARANOIA_COMPATIBILITY*/
|
||||
|
||||
#endif /* _CDIO_SECTOR_H_ */
|
||||
#endif /* CDIO_SECTOR_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: track.h,v 1.14 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -20,8 +18,8 @@
|
|||
/** \file track.h
|
||||
* \brief The top-level header for track-related libcdio calls.
|
||||
*/
|
||||
#ifndef __CDIO_TRACK_H__
|
||||
#define __CDIO_TRACK_H__
|
||||
#ifndef CDIO_TRACK_H_
|
||||
#define CDIO_TRACK_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -36,8 +34,8 @@ extern "C" {
|
|||
TRACK_FORMAT_XA, /**< Mode2 of some sort */
|
||||
TRACK_FORMAT_DATA, /**< Mode1 of some sort */
|
||||
TRACK_FORMAT_PSX, /**< Playstation CD. Like audio but only 2336 bytes
|
||||
* of user data.
|
||||
*/
|
||||
* of user data.
|
||||
*/
|
||||
TRACK_FORMAT_ERROR /**< Dunno what is, or some other error. */
|
||||
} track_format_t;
|
||||
|
||||
|
@ -53,8 +51,8 @@ extern "C" {
|
|||
track_flag_t preemphasis; /**< Linear preemphasis on an audio track */
|
||||
track_flag_t copy_permit; /**< Whether copying is permitted */
|
||||
int channels; /**< Number of audio channels, 2, 4. -2 if not
|
||||
implemented or -1 for error.
|
||||
*/
|
||||
implemented or -1 for error.
|
||||
*/
|
||||
} track_flags_t;
|
||||
|
||||
/*! The leadout track is always 0xAA, regardless of # of tracks on
|
||||
|
@ -72,7 +70,7 @@ extern "C" {
|
|||
extern enum cdio_track_enums {
|
||||
CDIO_CDROM_LBA = 0x01, /**< "logical block": first frame is #0 */
|
||||
CDIO_CDROM_MSF = 0x02, /**< "minute-second-frame": binary, not
|
||||
BCD here! */
|
||||
BCD here! */
|
||||
CDIO_CDROM_DATA_TRACK = 0x04,
|
||||
CDIO_CDROM_CDI_TRACK = 0x10,
|
||||
CDIO_CDROM_XA_TRACK = 0x20,
|
||||
|
@ -88,14 +86,14 @@ extern "C" {
|
|||
reference: MMC-3 draft revsion - 10g
|
||||
*/
|
||||
typedef enum {
|
||||
AUDIO, /**< 2352 byte block length */
|
||||
MODE1, /**< 2048 byte block length */
|
||||
MODE1_RAW, /**< 2352 byte block length */
|
||||
MODE2, /**< 2336 byte block length */
|
||||
MODE2_FORM1, /**< 2048 byte block length */
|
||||
MODE2_FORM2, /**< 2324 byte block length */
|
||||
MODE2_FORM_MIX, /**< 2336 byte block length */
|
||||
MODE2_RAW /**< 2352 byte block length */
|
||||
AUDIO, /**< 2352 byte block length */
|
||||
MODE1, /**< 2048 byte block length */
|
||||
MODE1_RAW, /**< 2352 byte block length */
|
||||
MODE2, /**< 2336 byte block length */
|
||||
MODE2_FORM1, /**< 2048 byte block length */
|
||||
MODE2_FORM2, /**< 2324 byte block length */
|
||||
MODE2_FORM_MIX, /**< 2336 byte block length */
|
||||
MODE2_RAW /**< 2352 byte block length */
|
||||
} trackmode_t;
|
||||
|
||||
/*!
|
||||
|
@ -132,7 +130,7 @@ extern "C" {
|
|||
if not an audio track?
|
||||
*/
|
||||
track_flag_t cdio_get_track_copy_permit(const CdIo_t *p_cdio,
|
||||
track_t i_track);
|
||||
track_t i_track);
|
||||
|
||||
/*!
|
||||
Get the format (audio, mode2, mode1) of track.
|
||||
|
@ -230,13 +228,13 @@ extern "C" {
|
|||
@return true if things worked or false if there is no track entry.
|
||||
*/
|
||||
bool cdio_get_track_msf(const CdIo_t *p_cdio, track_t i_track,
|
||||
/*out*/ msf_t *msf);
|
||||
/*out*/ msf_t *msf);
|
||||
|
||||
/*! Get linear preemphasis status on an audio track
|
||||
This is not meaningful if not an audio track?
|
||||
*/
|
||||
track_flag_t cdio_get_track_preemphasis(const CdIo_t *p_cdio,
|
||||
track_t i_track);
|
||||
track_t i_track);
|
||||
|
||||
/*!
|
||||
Get the number of sectors between this track an the next. This
|
||||
|
@ -252,5 +250,4 @@ extern "C" {
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_TRACK_H__ */
|
||||
|
||||
#endif /* CDIO_TRACK_H_ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008
|
||||
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
|
@ -22,8 +22,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_TYPES_H__
|
||||
#define __CDIO_TYPES_H__
|
||||
#ifndef CDIO_TYPES_H_
|
||||
#define CDIO_TYPES_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -116,7 +116,7 @@ typedef uint8_t ubyte;
|
|||
#ifdef _Bool
|
||||
#define bool _Bool
|
||||
#else
|
||||
#define bool int
|
||||
#define bool unsigned char
|
||||
#endif
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
@ -151,21 +151,21 @@ typedef uint8_t ubyte;
|
|||
#define GNUC_PACKED
|
||||
#endif /* !__GNUC__ */
|
||||
|
||||
#if defined(__GNUC__)
|
||||
/* for GCC we try to use GNUC_PACKED */
|
||||
# define PRAGMA_BEGIN_PACKED
|
||||
# define PRAGMA_END_PACKED
|
||||
#if defined(__MINGW32__)
|
||||
# define PRAGMA_BEGIN_PACKED _Pragma("pack(push)") \
|
||||
_Pragma("pack(1)")
|
||||
# define PRAGMA_END_PACKED _Pragma("pack(pop)")
|
||||
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
|
||||
/* should work with most EDG-frontend based compilers */
|
||||
# define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
|
||||
# define PRAGMA_END_PACKED _Pragma("pack()")
|
||||
/* should work with most EDG-frontend based compilers */
|
||||
# define PRAGMA_BEGIN_PACKED _Pragma("pack(1)")
|
||||
# define PRAGMA_END_PACKED _Pragma("pack()")
|
||||
#elif defined(_MSC_VER)
|
||||
# define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
|
||||
# define PRAGMA_END_PACKED __pragma(pack(pop))
|
||||
# define PRAGMA_BEGIN_PACKED __pragma(pack(push, 1))
|
||||
# define PRAGMA_END_PACKED __pragma(pack(pop))
|
||||
#else /* neither gcc nor _Pragma() available... */
|
||||
/* ...so let's be naive and hope the regression testsuite is run... */
|
||||
# define PRAGMA_BEGIN_PACKED
|
||||
# define PRAGMA_END_PACKED
|
||||
/* ...so let's be naive and hope the regression testsuite is run... */
|
||||
# define PRAGMA_BEGIN_PACKED
|
||||
# define PRAGMA_END_PACKED
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -182,8 +182,22 @@ typedef uint8_t ubyte;
|
|||
#ifndef NULL
|
||||
# define NULL ((void*) 0)
|
||||
#endif
|
||||
|
||||
/* our own offsetof()-like macro */
|
||||
|
||||
/** Provide a notice for deprecated elements. Before gcc 4.5 'deprecated'
|
||||
takes no arguments. */
|
||||
#if defined(__GNUC__)
|
||||
# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
|
||||
# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated(notice)))
|
||||
# else
|
||||
# define LIBCDIO_DEPRECATED(object, notice) object __attribute__ ((deprecated))
|
||||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
#define LIBCDIO_DEPRECATED(object, notice) __declspec(deprecated(notice)) object
|
||||
#else
|
||||
#define LIBCDIO_DEPRECATED(object, notice)
|
||||
#endif
|
||||
|
||||
/** our own offsetof()-like macro */
|
||||
#define __cd_offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
|
||||
|
||||
/*!
|
||||
|
@ -251,10 +265,10 @@ typedef uint8_t ubyte;
|
|||
typedef int32_t lsn_t;
|
||||
|
||||
/* Address in either MSF or logical format */
|
||||
union cdio_cdrom_addr
|
||||
union cdio_cdrom_addr
|
||||
{
|
||||
msf_t msf;
|
||||
lba_t lba;
|
||||
msf_t msf;
|
||||
lba_t lba;
|
||||
};
|
||||
|
||||
/*! The type of a track number 0..99. */
|
||||
|
@ -311,20 +325,20 @@ typedef uint8_t ubyte;
|
|||
Q Sub-channel Control Field (4.2.3.3)
|
||||
*/
|
||||
typedef enum {
|
||||
CDIO_TRACK_FLAG_NONE = 0x00, /**< no flags set */
|
||||
CDIO_TRACK_FLAG_PRE_EMPHASIS = 0x01, /**< audio track recorded with
|
||||
CDIO_TRACK_FLAG_NONE = 0x00, /**< no flags set */
|
||||
CDIO_TRACK_FLAG_PRE_EMPHASIS = 0x01, /**< audio track recorded with
|
||||
pre-emphasis */
|
||||
CDIO_TRACK_FLAG_COPY_PERMITTED = 0x02, /**< digital copy permitted */
|
||||
CDIO_TRACK_FLAG_DATA = 0x04, /**< data track */
|
||||
CDIO_TRACK_FLAG_COPY_PERMITTED = 0x02, /**< digital copy permitted */
|
||||
CDIO_TRACK_FLAG_DATA = 0x04, /**< data track */
|
||||
CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO = 0x08, /**< 4 audio channels */
|
||||
CDIO_TRACK_FLAG_SCMS = 0x10 /**< SCMS (5.29.2.7) */
|
||||
CDIO_TRACK_FLAG_SCMS = 0x10 /**< SCMS (5.29.2.7) */
|
||||
} cdio_track_flag;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_TYPES_H__ */
|
||||
#endif /* CDIO_TYPES_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: udf_time.h,v 1.5 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: utf8.h,v 1.2 2008/03/25 15:59:09 karl Exp $
|
||||
|
||||
Copyright (C) 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2006 Burkhard Plaum <plaum@ipf.uni-stuttgart.de>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -17,7 +15,10 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* UTF-8 support */
|
||||
/** \file utf8.h
|
||||
*
|
||||
* \brief UTF-8 support
|
||||
*/
|
||||
|
||||
|
||||
#include <cdio/types.h>
|
||||
|
@ -87,6 +88,21 @@ bool cdio_charset_from_utf8(cdio_utf8_t * src, char ** dst,
|
|||
*/
|
||||
|
||||
|
||||
bool cdio_charset_to_utf8(char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
bool cdio_charset_to_utf8(const char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
const char * src_charset);
|
||||
|
||||
#ifdef _WIN32
|
||||
/** \brief Convert an UTF8 string to UTF-16 (allocate returned string)
|
||||
* \param str Source string
|
||||
* \returns NULL if the conversion was unsuccesful. Caller must free the
|
||||
* returned string.
|
||||
* This is a convenience function available on Windows platforms only.
|
||||
*/
|
||||
wchar_t* cdio_utf8_to_wchar(const char* str);
|
||||
|
||||
#include <stdio.h> /* for FILE */
|
||||
/** \brief Provides an UTF-8 compliant version of fopen for Windows
|
||||
* The parameters and return value are the same as fopen().
|
||||
*/
|
||||
FILE* fopen_utf8(const char* filename, const char* mode);
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2010 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2010, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -16,8 +17,8 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_UTIL_H__
|
||||
#define __CDIO_UTIL_H__
|
||||
#ifndef CDIO_UTIL_H_
|
||||
#define CDIO_UTIL_H_
|
||||
|
||||
/*!
|
||||
\file util.h
|
||||
|
@ -128,7 +129,7 @@ char *cdio_realpath (const char *psz_src, char *psz_dst);
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CDIO_UTIL_H__ */
|
||||
#endif /* CDIO_UTIL_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
/** \file version.h
|
||||
*
|
||||
* \brief A file containing the libcdio package version
|
||||
* number (84) and OS build name.
|
||||
* number (90) and OS build name.
|
||||
*/
|
||||
|
||||
/*! CDIO_VERSION is a C-Preprocessor macro of a string that shows what
|
||||
version is used. cdio_version_string has the same value, but it is a
|
||||
constant variable that can be accessed at run time. */
|
||||
#define CDIO_VERSION "0.84git i686-pc-mingw32"
|
||||
#define CDIO_VERSION "0.90 i686-pc-mingw32"
|
||||
extern const char *cdio_version_string; /**< = CDIO_VERSION */
|
||||
|
||||
/*! LIBCDIO_VERSION_NUM is a C-Preprocessor macro that can be used for
|
||||
testing in the C preprocessor. libcdio_version_num has the same
|
||||
value, but it is a constant variable that can be accessed at run
|
||||
time. */
|
||||
#define LIBCDIO_VERSION_NUM 84
|
||||
#define LIBCDIO_VERSION_NUM 90
|
||||
|
||||
extern const unsigned int libcdio_version_num; /**< = LIBCDIO_VERSION_NUM */
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
$Id: xa.h,v 1.19 2008/03/25 15:59:10 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
See also iso9660.h by Eric Youngdale (1993) and in cdrtools. These are
|
||||
|
@ -31,8 +30,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_XA_H__
|
||||
#define __CDIO_XA_H__
|
||||
#ifndef CDIO_XA_H_
|
||||
#define CDIO_XA_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -153,7 +152,7 @@ iso9660_get_xa_attr_str (uint16_t xa_attr);
|
|||
*/
|
||||
iso9660_xa_t *
|
||||
iso9660_xa_init (iso9660_xa_t *_xa, uint16_t uid, uint16_t gid, uint16_t attr,
|
||||
uint8_t filenum);
|
||||
uint8_t filenum);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -168,7 +167,7 @@ extern xa_misc_enum_t debugger_xa_misc_enum;
|
|||
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_XA_H__ */
|
||||
#endif /* CDIO_XA_H_ */
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
|
|
|
@ -56,39 +56,29 @@
|
|||
#define CDIO_FSEEK fseek
|
||||
#endif
|
||||
|
||||
/* Windows'd fopen is not UTF-8 compliant - make it so */
|
||||
#if !defined(_WIN32)
|
||||
#define CDIO_FOPEN fopen
|
||||
/* Windows' fopen is not UTF-8 compliant, so we use our own */
|
||||
#if defined(_WIN32)
|
||||
#include <cdio/utf8.h>
|
||||
#define CDIO_FOPEN fopen_utf8
|
||||
#else
|
||||
#define CDIO_FOPEN fopenU
|
||||
extern wchar_t* cdio_utf8_to_wchar(const char* str);
|
||||
static inline FILE* fopenU(const char* filename, const char* mode)
|
||||
{
|
||||
FILE* ret = NULL;
|
||||
wchar_t* wfilename = cdio_utf8_to_wchar(filename);
|
||||
wchar_t* wmode = cdio_utf8_to_wchar(mode);
|
||||
ret = _wfopen(wfilename, wmode);
|
||||
free(wfilename);
|
||||
free(wmode);
|
||||
return ret;
|
||||
}
|
||||
#define CDIO_FOPEN fopen
|
||||
#endif
|
||||
|
||||
/* Use _stati64 if needed, on platforms that don't have transparent LFS support */
|
||||
#if defined(HAVE__STATI64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
|
||||
#define CDIO_STAT_STRUCT _stati64
|
||||
#if !defined(_WIN32)
|
||||
#define CDIO_STAT_CALL _stati64
|
||||
#else
|
||||
#define CDIO_STAT_CALL _stati64U
|
||||
/* Once more, we have to provide an UTF-8 compliant version on Windows */
|
||||
static inline int _stati64U(const char *path, struct _stati64 *buffer) {
|
||||
#if defined(_WIN32)
|
||||
/* Once again, use our own UTF-8 compliant version */
|
||||
static inline int _stati64_utf8(const char *path, struct _stati64 *buffer) {
|
||||
int ret;
|
||||
wchar_t* wpath = cdio_utf8_to_wchar(path);
|
||||
ret = _wstati64(wpath, buffer);
|
||||
free(wpath);
|
||||
return ret;
|
||||
}
|
||||
#define CDIO_STAT_CALL _stati64_utf8
|
||||
#else
|
||||
#define CDIO_STAT_CALL _stati64
|
||||
#endif
|
||||
#else
|
||||
#define CDIO_STAT_STRUCT stat
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: _cdio_stdio.h,v 1.3 2008/04/22 15:29:11 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2008, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -19,8 +17,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_STDIO_H__
|
||||
#define __CDIO_STDIO_H__
|
||||
#ifndef CDIO_STDIO_H_
|
||||
#define CDIO_STDIO_H_
|
||||
|
||||
#include "_cdio_stream.h"
|
||||
|
||||
|
@ -39,7 +37,7 @@ CdioDataSource_t * cdio_stdio_new(const char psz_path[]);
|
|||
void cdio_stdio_destroy(CdioDataSource_t *p_obj);
|
||||
|
||||
|
||||
#endif /* __CDIO_STREAM_STDIO_H__ */
|
||||
#endif /* CDIO_STDIO_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
$Id: _cdio_stream.h,v 1.5 2008/04/22 15:29:11 karl Exp $
|
||||
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2008, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -19,8 +18,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef __CDIO_STREAM_H__
|
||||
#define __CDIO_STREAM_H__
|
||||
#ifndef CDIO_STREAM_H_
|
||||
#define CDIO_STREAM_H_
|
||||
|
||||
#include <cdio/types.h>
|
||||
#include "cdio_private.h"
|
||||
|
@ -127,7 +126,7 @@ extern "C" {
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_STREAM_H__ */
|
||||
#endif /* CDIO_STREAM_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -16,8 +16,8 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_ASSERT_H__
|
||||
#define __CDIO_ASSERT_H__
|
||||
#ifndef CDIO_ASSERT_H_
|
||||
#define CDIO_ASSERT_H_
|
||||
|
||||
#if defined(__GNUC__) && !defined(__MINGW32__)
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
|||
__FILE__, __LINE__, __PRETTY_FUNCTION__); \
|
||||
}
|
||||
|
||||
#else /* non GNU C or MinGW */
|
||||
#else /* non GNU C */
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
|
@ -55,4 +55,4 @@
|
|||
|
||||
#endif
|
||||
|
||||
#endif /* __CDIO_ASSERT_H__ */
|
||||
#endif /* CDIO_ASSERT_H_ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2009, 2011
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2009, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -19,8 +19,8 @@
|
|||
/* Internal routines for CD I/O drivers. */
|
||||
|
||||
|
||||
#ifndef __CDIO_PRIVATE_H__
|
||||
#define __CDIO_PRIVATE_H__
|
||||
#ifndef CDIO_DRIVER_PRIVATE_H_
|
||||
#define CDIO_DRIVER_PRIVATE_H_
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(LIBCDIO_CONFIG_H)
|
||||
# include "config.h"
|
||||
|
@ -62,7 +62,7 @@ extern "C" {
|
|||
|
||||
*/
|
||||
driver_return_code_t (*audio_get_volume)
|
||||
(void *p_env, /*out*/ cdio_audio_volume_t *p_volume);
|
||||
(void *p_env, /*out*/ cdio_audio_volume_t *p_volume);
|
||||
|
||||
/*!
|
||||
Pause playing CD through analog output
|
||||
|
@ -77,8 +77,8 @@ extern "C" {
|
|||
@param p_env the CD object to be acted upon.
|
||||
*/
|
||||
driver_return_code_t (*audio_play_msf) ( void *p_env,
|
||||
msf_t *p_start_msf,
|
||||
msf_t *p_end_msf );
|
||||
msf_t *p_start_msf,
|
||||
msf_t *p_end_msf );
|
||||
|
||||
/*!
|
||||
Playing CD through analog output
|
||||
|
@ -86,7 +86,7 @@ extern "C" {
|
|||
@param p_env the CD object to be acted upon.
|
||||
*/
|
||||
driver_return_code_t (*audio_play_track_index)
|
||||
( void *p_env, cdio_track_index_t *p_track_index );
|
||||
( void *p_env, cdio_track_index_t *p_track_index );
|
||||
|
||||
/*!
|
||||
Get subchannel information.
|
||||
|
@ -94,7 +94,7 @@ extern "C" {
|
|||
@param p_env the CD object to be acted upon.
|
||||
*/
|
||||
driver_return_code_t (*audio_read_subchannel)
|
||||
( void *p_env, cdio_subchannel_t *subchannel );
|
||||
( void *p_env, cdio_subchannel_t *subchannel );
|
||||
|
||||
/*!
|
||||
Resume playing an audio CD.
|
||||
|
@ -111,7 +111,7 @@ extern "C" {
|
|||
|
||||
*/
|
||||
driver_return_code_t (*audio_set_volume)
|
||||
( void *p_env, cdio_audio_volume_t *p_volume );
|
||||
( void *p_env, cdio_audio_volume_t *p_volume );
|
||||
|
||||
/*!
|
||||
Stop playing an audio CD.
|
||||
|
@ -204,9 +204,9 @@ extern "C" {
|
|||
See cd_types.h for a list of bitmasks for the drive type;
|
||||
*/
|
||||
void (*get_drive_cap) (const void *p_env,
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
cdio_drive_read_cap_t *p_read_cap,
|
||||
cdio_drive_write_cap_t *p_write_cap,
|
||||
cdio_drive_misc_cap_t *p_misc_cap);
|
||||
/*!
|
||||
Return the number of of the first track.
|
||||
CDIO_INVALID_TRACK is returned on error.
|
||||
|
@ -218,16 +218,16 @@ extern "C" {
|
|||
False is returned if we had an error getting the information.
|
||||
*/
|
||||
bool (*get_hwinfo)
|
||||
( const CdIo_t *p_cdio, /* out*/ cdio_hwinfo_t *p_hw_info );
|
||||
( const CdIo_t *p_cdio, /* out*/ cdio_hwinfo_t *p_hw_info );
|
||||
|
||||
/*! Get the LSN of the first track of the last session of
|
||||
on the CD.
|
||||
|
||||
|
||||
@param p_cdio the CD object to be acted upon.
|
||||
@param i_last_session pointer to the session number to be returned.
|
||||
*/
|
||||
driver_return_code_t (*get_last_session)
|
||||
( void *p_env, /*out*/ lsn_t *i_last_session );
|
||||
( void *p_env, /*out*/ lsn_t *i_last_session );
|
||||
|
||||
/*!
|
||||
Find out if media has changed since the last call.
|
||||
|
@ -315,7 +315,7 @@ extern "C" {
|
|||
audio track?
|
||||
*/
|
||||
track_flag_t (*get_track_preemphasis)
|
||||
( const void *p_env, track_t i_track );
|
||||
( const void *p_env, track_t i_track );
|
||||
|
||||
/*!
|
||||
lseek - reposition read/write file offset
|
||||
|
@ -336,7 +336,7 @@ extern "C" {
|
|||
from lsn. Returns 0 if no error.
|
||||
*/
|
||||
int (*read_audio_sectors) ( void *p_env, void *p_buf, lsn_t i_lsn,
|
||||
unsigned int i_blocks );
|
||||
unsigned int i_blocks );
|
||||
|
||||
/*!
|
||||
Read a data sector
|
||||
|
@ -356,15 +356,15 @@ extern "C" {
|
|||
M2RAW_SECTOR_SIZE, or M2F2_SECTOR_SIZE. See comment above under p_buf.
|
||||
*/
|
||||
driver_return_code_t (*read_data_sectors)
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, uint16_t i_blocksize,
|
||||
uint32_t i_blocks );
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, uint16_t i_blocksize,
|
||||
uint32_t i_blocks );
|
||||
|
||||
/*!
|
||||
Reads a single mode2 sector from cd device into buf starting
|
||||
from lsn. Returns 0 if no error.
|
||||
*/
|
||||
int (*read_mode2_sector)
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool b_mode2_form2 );
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool b_mode2_form2 );
|
||||
|
||||
/*!
|
||||
Reads i_blocks of mode2 sectors from cd device into data starting
|
||||
|
@ -372,15 +372,15 @@ extern "C" {
|
|||
Returns 0 if no error.
|
||||
*/
|
||||
int (*read_mode2_sectors)
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool b_mode2_form2,
|
||||
unsigned int i_blocks );
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool b_mode2_form2,
|
||||
unsigned int i_blocks );
|
||||
|
||||
/*!
|
||||
Reads a single mode1 sector from cd device into buf starting
|
||||
from lsn. Returns 0 if no error.
|
||||
*/
|
||||
int (*read_mode1_sector)
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool mode1_form2 );
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool mode1_form2 );
|
||||
|
||||
/*!
|
||||
Reads i_blocks of mode1 sectors from cd device into data starting
|
||||
|
@ -388,24 +388,24 @@ extern "C" {
|
|||
Returns 0 if no error.
|
||||
*/
|
||||
int (*read_mode1_sectors)
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool mode1_form2,
|
||||
unsigned int i_blocks );
|
||||
( void *p_env, void *p_buf, lsn_t i_lsn, bool mode1_form2,
|
||||
unsigned int i_blocks );
|
||||
|
||||
bool (*read_toc) ( void *p_env ) ;
|
||||
|
||||
/*!
|
||||
Run a SCSI MMC command.
|
||||
|
||||
cdio CD structure set by cdio_open().
|
||||
cdio CD structure set by cdio_open().
|
||||
i_timeout_ms time in milliseconds we will wait for the command
|
||||
to complete.
|
||||
cdb_len number of bytes in cdb (6, 10, or 12).
|
||||
cdb CDB bytes. All values that are needed should be set on
|
||||
cdb CDB bytes. All values that are needed should be set on
|
||||
input.
|
||||
b_return_data TRUE if the command expects data to be returned in
|
||||
b_return_data TRUE if the command expects data to be returned in
|
||||
the buffer
|
||||
len Size of buffer
|
||||
buf Buffer for data, both sending and receiving
|
||||
len Size of buffer
|
||||
buf Buffer for data, both sending and receiving
|
||||
|
||||
Returns 0 if command completed successfully.
|
||||
*/
|
||||
|
@ -420,7 +420,7 @@ extern "C" {
|
|||
Set the blocksize for subsequent reads.
|
||||
*/
|
||||
driver_return_code_t (*set_blocksize) ( void *p_env,
|
||||
uint16_t i_blocksize );
|
||||
uint16_t i_blocksize );
|
||||
|
||||
/*!
|
||||
Set the drive speed.
|
||||
|
@ -437,7 +437,7 @@ extern "C" {
|
|||
struct _CdIo {
|
||||
driver_id_t driver_id; /**< Particular driver opened. */
|
||||
cdio_funcs_t op; /**< driver-specific routines handling
|
||||
implementation*/
|
||||
implementation*/
|
||||
void *env; /**< environment. Passed to routine above. */
|
||||
};
|
||||
|
||||
|
@ -464,7 +464,7 @@ extern "C" {
|
|||
bool (*have_driver) (void);
|
||||
CdIo_t *(*driver_open) (const char *psz_source_name);
|
||||
CdIo_t *(*driver_open_am) (const char *psz_source_name,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
char *(*get_default_device) (void);
|
||||
bool (*is_device) (const char *psz_source_name);
|
||||
char **(*get_devices) (void);
|
||||
|
@ -489,7 +489,7 @@ extern "C" {
|
|||
Use cdio_free_device_list() to free this device_list.
|
||||
*/
|
||||
void cdio_add_device_list(char **device_list[], const char *psz_drive,
|
||||
unsigned int *i_drives);
|
||||
unsigned int *i_drives);
|
||||
|
||||
driver_return_code_t close_tray_bsdi (const char *psz_drive);
|
||||
driver_return_code_t close_tray_freebsd (const char *psz_drive);
|
||||
|
@ -512,7 +512,7 @@ extern "C" {
|
|||
@see cdio_open_cd, cdio_open
|
||||
*/
|
||||
CdIo_t * cdio_open_am_netbsd (const char *psz_source,
|
||||
const char *psz_access_mode);
|
||||
const char *psz_access_mode);
|
||||
|
||||
/*! DEPRICATED: use cdio_have_driver().
|
||||
True if AIX driver is available. */
|
||||
|
@ -559,4 +559,4 @@ extern "C" {
|
|||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_PRIVATE_H__ */
|
||||
#endif /* CDIO_DRIVER_PRIVATE_H_ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
|
@ -23,6 +23,10 @@
|
|||
# define __CDIO_CONFIG_H__ 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#include <cdio/cdio.h>
|
||||
#include "cdio_private.h"
|
||||
|
||||
|
@ -124,7 +128,7 @@ cdio_get_discmode (CdIo_t *cd_obj)
|
|||
char *
|
||||
cdio_get_mcn (const CdIo_t *p_cdio)
|
||||
{
|
||||
if (p_cdio->op.get_mcn) {
|
||||
if (p_cdio && p_cdio->op.get_mcn) {
|
||||
return p_cdio->op.get_mcn (p_cdio->env);
|
||||
} else {
|
||||
return NULL;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
filemode.h -- file modes common definitions
|
||||
|
||||
Copyright (C) 2005, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 1985, 1990, 1993, 1998-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -18,8 +18,8 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __FILEMODE_H__
|
||||
#define __FILEMODE_H__
|
||||
#ifndef CDIO_DRIVER_FILEMODE_H_
|
||||
#define CDIO_DRIVER_FILEMODE_H_
|
||||
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
|
@ -131,4 +131,4 @@
|
|||
# define S_ISCTG(m) (((m) & S_IFMT) == S_IFCTG)
|
||||
#endif
|
||||
|
||||
#endif /* __FILEMODE_H__ */
|
||||
#endif /* CDIO_DRIVER_FILEMODE_H_ */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2009 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2004, 2005, 2006, 2008, 2009, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -18,8 +19,8 @@
|
|||
/* Internal routines for CD I/O drivers. */
|
||||
|
||||
|
||||
#ifndef __CDIO_GENERIC_H__
|
||||
#define __CDIO_GENERIC_H__
|
||||
#ifndef CDIO_DRIVER_GENERIC_H_
|
||||
#define CDIO_DRIVER_GENERIC_H_
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(LIBCDIO_CONFIG_H)
|
||||
# include "config.h"
|
||||
|
@ -29,6 +30,10 @@
|
|||
#include <cdio/cdtext.h>
|
||||
#include <cdio/iso9660.h>
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
@ -57,7 +62,7 @@ extern "C" {
|
|||
track_t i_tracks; /**< The number of tracks. */
|
||||
|
||||
uint8_t i_joliet_level; /**< 0 = no Joliet extensions.
|
||||
1-3: Joliet level. */
|
||||
1-3: Joliet level. */
|
||||
iso9660_pvd_t pvd;
|
||||
iso9660_svd_t svd;
|
||||
CdIo_t *cdio; /**< a way to call general cdio routines. */
|
||||
|
@ -208,7 +213,7 @@ extern "C" {
|
|||
Is this meaningful if not an audio track?
|
||||
*/
|
||||
track_flag_t get_track_copy_permit_generic(void *p_user_data,
|
||||
track_t i_track);
|
||||
track_t i_track);
|
||||
|
||||
/*! Return 1 if track has pre-emphasis, 0 if not, or -1 for error.
|
||||
Is this meaningful if not an audio track?
|
||||
|
@ -216,7 +221,7 @@ extern "C" {
|
|||
pre-emphasis is a non linear frequency response.
|
||||
*/
|
||||
track_flag_t get_track_preemphasis_generic(const void *p_user_data,
|
||||
track_t i_track);
|
||||
track_t i_track);
|
||||
|
||||
/*!
|
||||
Read cdtext information for a CdIo object .
|
||||
|
@ -230,14 +235,14 @@ extern "C" {
|
|||
|
||||
/*! Read mode 1 or mode2 sectors (using cooked mode). */
|
||||
driver_return_code_t read_data_sectors_generic (void *p_user_data,
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint16_t i_blocksize,
|
||||
uint32_t i_blocks);
|
||||
void *p_buf, lsn_t i_lsn,
|
||||
uint16_t i_blocksize,
|
||||
uint32_t i_blocks);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __CDIO_GENERIC_H__ */
|
||||
#endif /* CDIO_DRIVER_GENERIC_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2008, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -35,12 +36,10 @@
|
|||
#include "cdio_assert.h"
|
||||
#include "portable.h"
|
||||
|
||||
static const char _rcsid[] = "$Id: logging.c,v 1.2 2008/04/22 15:29:12 karl Exp $";
|
||||
|
||||
cdio_log_level_t cdio_loglevel_default = CDIO_LOG_WARN;
|
||||
|
||||
static void
|
||||
default_cdio_log_handler (cdio_log_level_t level, const char message[])
|
||||
default_cdio_log_handler(cdio_log_level_t level, const char message[])
|
||||
{
|
||||
switch (level)
|
||||
{
|
||||
|
@ -84,7 +83,7 @@ default_cdio_log_handler (cdio_log_level_t level, const char message[])
|
|||
static cdio_log_handler_t _handler = default_cdio_log_handler;
|
||||
|
||||
cdio_log_handler_t
|
||||
cdio_log_set_handler (cdio_log_handler_t new_handler)
|
||||
cdio_log_set_handler(cdio_log_handler_t new_handler)
|
||||
{
|
||||
cdio_log_handler_t old_handler = _handler;
|
||||
|
||||
|
@ -94,7 +93,7 @@ cdio_log_set_handler (cdio_log_handler_t new_handler)
|
|||
}
|
||||
|
||||
static void
|
||||
cdio_logv (cdio_log_level_t level, const char format[], va_list args)
|
||||
cdio_logv(cdio_log_level_t level, const char format[], va_list args)
|
||||
{
|
||||
char buf[1024] = { 0, };
|
||||
static int in_recursion = 0;
|
||||
|
@ -112,7 +111,7 @@ cdio_logv (cdio_log_level_t level, const char format[], va_list args)
|
|||
}
|
||||
|
||||
void
|
||||
cdio_log (cdio_log_level_t level, const char format[], ...)
|
||||
cdio_log(cdio_log_level_t level, const char format[], ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2006, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2006, 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,8 +21,8 @@
|
|||
included other routines can be more portable.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_PORTABLE_H__
|
||||
#define __CDIO_PORTABLE_H__
|
||||
#ifndef CDIO_DRIVER_PORTABLE_H_
|
||||
#define CDIO_DRIVER_PORTABLE_H_
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(__CDIO_CONFIG_H__)
|
||||
# include "config.h"
|
||||
|
@ -51,4 +51,4 @@
|
|||
# define drand48() (rand() / (double)RAND_MAX)
|
||||
#endif
|
||||
|
||||
#endif /* __CDIO_PORTABLE_H__ */
|
||||
#endif /* CDIO_DRIVER_PORTABLE_H_ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2005, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -25,6 +25,10 @@
|
|||
# define __CDIO_CONFIG_H__ 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/logging.h>
|
||||
#include "cdio_private.h"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2004, 2005, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2004, 2005, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
@ -195,7 +195,7 @@ cdio_mmssff_to_lba (const char *psz_mmssff)
|
|||
{
|
||||
int psz_field;
|
||||
lba_t ret;
|
||||
char c;
|
||||
unsigned char c;
|
||||
|
||||
if (0 == strcmp (psz_mmssff, "0"))
|
||||
return 0;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
@ -20,10 +21,14 @@
|
|||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
# define __CDIO_CONFIG_H__ 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#include <cdio/cdio.h>
|
||||
#include <cdio/logging.h>
|
||||
#include "cdio_private.h"
|
||||
|
||||
const char *track_format2str[6] =
|
||||
|
@ -39,9 +44,13 @@ enum cdio_track_enums;
|
|||
CDIO_INVALID_TRACK is returned on error.
|
||||
*/
|
||||
track_t
|
||||
cdio_get_first_track_num (const CdIo_t *p_cdio)
|
||||
cdio_get_first_track_num(const CdIo_t *p_cdio)
|
||||
{
|
||||
if (NULL == p_cdio) return CDIO_INVALID_TRACK;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return CDIO_INVALID_TRACK;
|
||||
}
|
||||
|
||||
|
||||
if (p_cdio->op.get_first_track_num) {
|
||||
return p_cdio->op.get_first_track_num (p_cdio->env);
|
||||
|
@ -57,7 +66,11 @@ cdio_get_first_track_num (const CdIo_t *p_cdio)
|
|||
track_t
|
||||
cdio_get_last_track_num (const CdIo_t *p_cdio)
|
||||
{
|
||||
if (NULL == p_cdio) return CDIO_INVALID_TRACK;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return CDIO_INVALID_TRACK;
|
||||
}
|
||||
|
||||
{
|
||||
const track_t i_first_track = cdio_get_first_track_num(p_cdio);
|
||||
if ( CDIO_INVALID_TRACK != i_first_track ) {
|
||||
|
@ -76,6 +89,15 @@ cdio_get_last_track_num (const CdIo_t *p_cdio)
|
|||
int
|
||||
cdio_get_track_channels(const CdIo_t *p_cdio, track_t i_track)
|
||||
{
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return -1;
|
||||
}
|
||||
if (i_track > CDIO_CD_MAX_TRACKS) {
|
||||
cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n",
|
||||
i_track, CDIO_CD_MAX_TRACKS);
|
||||
return -1;
|
||||
}
|
||||
if (p_cdio->op.get_track_channels) {
|
||||
return p_cdio->op.get_track_channels (p_cdio->env, i_track);
|
||||
} else {
|
||||
|
@ -209,7 +231,10 @@ cdio_get_track_green(const CdIo_t *p_cdio, track_t i_track)
|
|||
lba_t
|
||||
cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track)
|
||||
{
|
||||
if (!p_cdio) return CDIO_INVALID_LBA;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return CDIO_INVALID_LBA;
|
||||
}
|
||||
|
||||
if (p_cdio->op.get_track_lba) {
|
||||
return p_cdio->op.get_track_lba (p_cdio->env, i_track);
|
||||
|
@ -232,7 +257,16 @@ cdio_get_track_lba(const CdIo_t *p_cdio, track_t i_track)
|
|||
lsn_t
|
||||
cdio_get_track_lsn(const CdIo_t *p_cdio, track_t i_track)
|
||||
{
|
||||
if (p_cdio == NULL) return CDIO_INVALID_LSN;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return CDIO_INVALID_LSN;
|
||||
}
|
||||
if (i_track > CDIO_CD_MAX_TRACKS && i_track != CDIO_CDROM_LEADOUT_TRACK) {
|
||||
cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n",
|
||||
i_track, CDIO_CD_MAX_TRACKS);
|
||||
return CDIO_INVALID_LSN;
|
||||
}
|
||||
|
||||
|
||||
if (p_cdio->op.get_track_lba) {
|
||||
return cdio_lba_to_lsn(p_cdio->op.get_track_lba (p_cdio->env, i_track));
|
||||
|
@ -254,7 +288,16 @@ cdio_get_track_lsn(const CdIo_t *p_cdio, track_t i_track)
|
|||
char *
|
||||
cdio_get_track_isrc (const CdIo_t *p_cdio, track_t i_track)
|
||||
{
|
||||
if (p_cdio == NULL) return NULL;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (i_track > CDIO_CD_MAX_TRACKS) {
|
||||
cdio_log(CDIO_LOG_WARN, "Number of tracks exceeds maximum (%d vs. %d)\n",
|
||||
i_track, CDIO_CD_MAX_TRACKS);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (p_cdio->op.get_track_isrc) {
|
||||
return p_cdio->op.get_track_isrc (p_cdio->env, i_track);
|
||||
|
@ -271,7 +314,10 @@ cdio_get_track_isrc (const CdIo_t *p_cdio, track_t i_track)
|
|||
lba_t
|
||||
cdio_get_track_pregap_lba(const CdIo_t *p_cdio, track_t i_track)
|
||||
{
|
||||
if (p_cdio == NULL) return CDIO_INVALID_LBA;
|
||||
if (NULL == p_cdio) {
|
||||
cdio_info("Null CdIo object passed\n");
|
||||
return CDIO_INVALID_LBA;
|
||||
}
|
||||
|
||||
if (p_cdio->op.get_track_pregap_lba) {
|
||||
return p_cdio->op.get_track_pregap_lba (p_cdio->env, i_track);
|
||||
|
|
|
@ -23,8 +23,12 @@
|
|||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
|
@ -38,10 +42,6 @@
|
|||
#include <cdio/utf8.h>
|
||||
#include <cdio/logging.h>
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
/* Windows requires some basic UTF-8 support outside of Joliet */
|
||||
#if defined(_WIN32)
|
||||
#include <windows.h>
|
||||
|
@ -55,7 +55,7 @@
|
|||
* Converts an UTF-16 string to UTF8 (allocate returned string)
|
||||
* Returns NULL on error
|
||||
*/
|
||||
char* cdio_wchar_to_utf8(const wchar_t* wstr)
|
||||
static inline char* cdio_wchar_to_utf8(const wchar_t* wstr)
|
||||
{
|
||||
int size = 0;
|
||||
char* str = NULL;
|
||||
|
@ -99,6 +99,18 @@ wchar_t* cdio_utf8_to_wchar(const char* str)
|
|||
}
|
||||
return wstr;
|
||||
}
|
||||
|
||||
/* UTF-8 compliant version of fopen() */
|
||||
FILE* fopen_utf8(const char* filename, const char* mode)
|
||||
{
|
||||
FILE* ret = NULL;
|
||||
wchar_t* wfilename = cdio_utf8_to_wchar(filename);
|
||||
wchar_t* wmode = cdio_utf8_to_wchar(mode);
|
||||
ret = _wfopen(wfilename, wmode);
|
||||
free(wfilename);
|
||||
free(wmode);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_JOLIET
|
||||
|
@ -155,7 +167,7 @@ void cdio_charset_converter_destroy(cdio_charset_coverter_t*cnv)
|
|||
#define BYTES_INCREMENT 16
|
||||
|
||||
static bool
|
||||
do_convert(iconv_t cd, char * src, int src_len,
|
||||
do_convert(iconv_t cd, const char * src, int src_len,
|
||||
char ** dst, int *dst_len)
|
||||
{
|
||||
char * ret;
|
||||
|
@ -182,7 +194,7 @@ do_convert(iconv_t cd, char * src, int src_len,
|
|||
|
||||
ret = malloc(alloc_size);
|
||||
|
||||
inbuf = src;
|
||||
inbuf = (char *)src;
|
||||
outbuf = ret;
|
||||
|
||||
while(1)
|
||||
|
@ -257,7 +269,7 @@ bool cdio_charset_from_utf8(cdio_utf8_t * src, char ** dst,
|
|||
|
||||
|
||||
|
||||
bool cdio_charset_to_utf8(char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
bool cdio_charset_to_utf8(const char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
const char * src_charset)
|
||||
{
|
||||
iconv_t ic;
|
||||
|
@ -297,7 +309,7 @@ bool cdio_charset_from_utf8(cdio_utf8_t * src, char ** dst,
|
|||
return true;
|
||||
}
|
||||
|
||||
bool cdio_charset_to_utf8(char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
bool cdio_charset_to_utf8(const char *src, size_t src_len, cdio_utf8_t **dst,
|
||||
const char * src_charset)
|
||||
{
|
||||
wchar_t* le_src;
|
||||
|
|
|
@ -130,7 +130,7 @@ _cdio_strdup_upper (const char str[])
|
|||
|
||||
while (*p)
|
||||
{
|
||||
*p = toupper (*p);
|
||||
*p = toupper ((unsigned char) *p);
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,19 +36,19 @@ const char ISO_STANDARD_ID[] = {'C', 'D', '0', '0', '1'};
|
|||
#include <time.h>
|
||||
#include <ctype.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
#ifdef HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
# include <limits.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ERRNO_H
|
||||
|
@ -335,15 +335,17 @@ iso9660_set_dtime_with_timezone (const struct tm *p_tm,
|
|||
Set time in format used in ISO 9660 directory index record
|
||||
from a Unix time structure. */
|
||||
void
|
||||
iso9660_set_dtime (const struct tm *p_tm, /*out*/ iso9660_dtime_t *p_idr_date)
|
||||
iso9660_set_dtime(const struct tm *p_tm, /*out*/ iso9660_dtime_t *p_idr_date)
|
||||
{
|
||||
int time_zone;
|
||||
int time_zone = 0;
|
||||
if (p_tm) {
|
||||
#ifdef HAVE_TM_GMTOFF
|
||||
/* Convert seconds to minutes */
|
||||
time_zone = p_tm->tm_gmtoff / 60;
|
||||
/* Convert seconds to minutes */
|
||||
time_zone = p_tm->tm_gmtoff / 60;
|
||||
#else
|
||||
time_zone = (p_tm->tm_isdst > 0) ? -60 : 0;
|
||||
time_zone = (p_tm->tm_isdst > 0) ? -60 : 0;
|
||||
#endif
|
||||
}
|
||||
iso9660_set_dtime_with_timezone (p_tm, time_zone, p_idr_date);
|
||||
}
|
||||
|
||||
|
@ -353,9 +355,9 @@ iso9660_set_dtime (const struct tm *p_tm, /*out*/ iso9660_dtime_t *p_idr_date)
|
|||
correction in minutes.
|
||||
*/
|
||||
void
|
||||
iso9660_set_ltime_with_timezone (const struct tm *p_tm,
|
||||
int time_zone,
|
||||
/*out*/ iso9660_ltime_t *pvd_date)
|
||||
iso9660_set_ltime_with_timezone(const struct tm *p_tm,
|
||||
int time_zone,
|
||||
/*out*/ iso9660_ltime_t *pvd_date)
|
||||
{
|
||||
char *_pvd_date = (char *) pvd_date;
|
||||
|
||||
|
@ -388,15 +390,17 @@ iso9660_set_ltime_with_timezone (const struct tm *p_tm,
|
|||
Set "long" time in format used in ISO 9660 primary volume descriptor
|
||||
from a Unix time structure. */
|
||||
void
|
||||
iso9660_set_ltime (const struct tm *p_tm, /*out*/ iso9660_ltime_t *pvd_date)
|
||||
iso9660_set_ltime(const struct tm *p_tm, /*out*/ iso9660_ltime_t *pvd_date)
|
||||
{
|
||||
int time_zone;
|
||||
int time_zone = 0;
|
||||
if (p_tm) {
|
||||
#ifdef HAVE_TM_GMTOFF
|
||||
/* Set time zone in 15-minute interval encoding. */
|
||||
time_zone = p_tm->tm_gmtoff / 60;
|
||||
/* Set time zone in 15-minute interval encoding. */
|
||||
time_zone = p_tm->tm_gmtoff / 60;
|
||||
#else
|
||||
time_zone = (p_tm->tm_isdst > 0) ? -60 : 0;
|
||||
time_zone = (p_tm->tm_isdst > 0) ? -60 : 0;
|
||||
#endif
|
||||
}
|
||||
iso9660_set_ltime_with_timezone (p_tm, time_zone, pvd_date);
|
||||
}
|
||||
|
||||
|
@ -667,8 +671,8 @@ iso9660_set_pvd(void *pd,
|
|||
iso9660_set_ltime (&temp_tm, &(ipd.creation_date));
|
||||
gmtime_r(pvd_time, &temp_tm);
|
||||
iso9660_set_ltime (&temp_tm, &(ipd.modification_date));
|
||||
iso9660_set_ltime (&temp_tm, &(ipd.expiration_date));
|
||||
iso9660_set_ltime (&temp_tm, &(ipd.effective_date));
|
||||
iso9660_set_ltime (NULL, &(ipd.expiration_date));
|
||||
iso9660_set_ltime (NULL, &(ipd.effective_date));
|
||||
|
||||
ipd.file_structure_version = to_711(1);
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011
|
||||
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
|
@ -19,16 +19,24 @@
|
|||
/* iso9660 filesystem-based routines */
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(__CDIO_CONFIG_H__)
|
||||
# include "config.h"
|
||||
# define __CDIO_CONFIG_H__ 1
|
||||
#include "config.h"
|
||||
#define __CDIO_CONFIG_H__ 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDIO_H
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ERRNO_H
|
||||
# include <errno.h>
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LANGINFO_CODESET
|
||||
|
@ -46,8 +54,6 @@
|
|||
#include "_cdio_stdio.h"
|
||||
#include "cdio_private.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
static const char _rcsid[] = "$Id: iso9660_fs.c,v 1.47 2008/04/18 16:02:09 karl Exp $";
|
||||
|
||||
/* Implementation of iso9660_t type */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011
|
||||
Copyright (C) 2003, 2004, 2005, 2008, 2011, 2012
|
||||
Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
|
||||
|
@ -22,8 +22,8 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_ISO9660_PRIVATE_H__
|
||||
#define __CDIO_ISO9660_PRIVATE_H__
|
||||
#ifndef CDIO_ISO9660_ISO9660_PRIVATE_H_
|
||||
#define CDIO_ISO9660_ISO9660_PRIVATE_H_
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(__CDIO_CONFIG_H__)
|
||||
# include "config.h"
|
||||
|
@ -32,6 +32,10 @@
|
|||
|
||||
#include <cdio/types.h>
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#define ISO_VERSION 1
|
||||
|
||||
PRAGMA_BEGIN_PACKED
|
||||
|
@ -71,7 +75,7 @@ typedef struct iso_path_table_s {
|
|||
|
||||
PRAGMA_END_PACKED
|
||||
|
||||
#endif /* __CDIO_ISO9660_PRIVATE_H__ */
|
||||
#endif /* CDIO_ISO0660_ISO9660_PRIVATE_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
filemode.c -- make a string describing file modes
|
||||
|
||||
Copyright (C) 2005, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 1985, 1990, 1993, 1998-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2005, 2008, 2010 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2008, 2010, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2005, 2006, 2008, 2010 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2008, 2010, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
/*
|
||||
$Id: udf_fs.h,v 1.3 2008/04/18 16:02:10 karl Exp $
|
||||
|
||||
Copyright (C) 2006, 2008 Rocky Bernstein <rockyb@gnu.org>
|
||||
Copyright (C) 2006, 2008, 2012 Rocky Bernstein <rockyb@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -17,8 +15,8 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_UDF_FS_H__
|
||||
#define __CDIO_UDF_FS_H__
|
||||
#ifndef CDIO_UDF_UDF_FS_H_
|
||||
#define CDIO_UDF_UDF_FS_H_
|
||||
|
||||
#include <cdio/ecma_167.h>
|
||||
/**
|
||||
|
@ -27,7 +25,7 @@
|
|||
*/
|
||||
int udf_checktag(const udf_tag_t *p_tag, udf_Uint16_t tag_id);
|
||||
|
||||
#endif /* __CDIO_UDF_FS_H__ */
|
||||
#endif /* CDIO_UDF_UDF_FS_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2005, 2006, 2008, 2011 Rocky Bernstein <rocky@gnu.org>
|
||||
Copyright (C) 2005, 2006, 2008, 2011, 2012 Rocky Bernstein <rocky@gnu.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -15,14 +15,18 @@
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CDIO_UDF_PRIVATE_H__
|
||||
#define __CDIO_UDF_PRIVATE_H__
|
||||
#ifndef CDIO_UDF_UDF_PRIVATE_H_
|
||||
#define CDIO_UDF_UDF_PRIVATE_H_
|
||||
|
||||
#if defined(HAVE_CONFIG_H) && !defined(LIBCDIO_CONFIG_H) && !defined(__CDIO_CONFIG_H__)
|
||||
# include "config.h"
|
||||
# define __CDIO_CONFIG_H__ 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#include <cdio/types.h>
|
||||
#include <cdio/ecma_167.h>
|
||||
#include <cdio/udf.h>
|
||||
|
@ -43,7 +47,7 @@ struct udf_s {
|
|||
uint32_t fsd_offset; /* lba of fileset descriptor */
|
||||
};
|
||||
|
||||
#endif /* __CDIO_UDF_PRIVATE_H__ */
|
||||
#endif /* CDIO_UDF_UDF_PRIVATE_H_ */
|
||||
|
||||
|
||||
/*
|
||||
|
|
12
src/rufus.rc
12
src/rufus.rc
|
@ -30,7 +30,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
|
|||
IDD_DIALOG DIALOGEX 12, 12, 206, 316
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "Rufus v1.2.0.188"
|
||||
CAPTION "Rufus v1.2.0.189"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,94,278,50,14
|
||||
|
@ -77,7 +77,7 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK",IDOK,231,175,50,14,WS_GROUP
|
||||
CONTROL "<a href=""http://rufus.akeo.ie"">http://rufus.akeo.ie</a>",IDC_ABOUT_RUFUS_URL,
|
||||
"SysLink",WS_TABSTOP,46,47,114,9
|
||||
LTEXT "Version 1.2.0 (Build 188)",IDC_STATIC,46,19,78,8
|
||||
LTEXT "Version 1.2.0 (Build 189)",IDC_STATIC,46,19,78,8
|
||||
PUSHBUTTON "License...",IDC_ABOUT_LICENSE,46,175,50,14,WS_GROUP
|
||||
EDITTEXT IDC_ABOUT_COPYRIGHTS,46,107,235,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
|
||||
LTEXT "Report bugs or request enhancements at:",IDC_STATIC,46,66,187,8
|
||||
|
@ -237,8 +237,8 @@ END
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,2,0,188
|
||||
PRODUCTVERSION 1,2,0,188
|
||||
FILEVERSION 1,2,0,189
|
||||
PRODUCTVERSION 1,2,0,189
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -255,13 +255,13 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "akeo.ie"
|
||||
VALUE "FileDescription", "Rufus"
|
||||
VALUE "FileVersion", "1.2.0.188"
|
||||
VALUE "FileVersion", "1.2.0.189"
|
||||
VALUE "InternalName", "Rufus"
|
||||
VALUE "LegalCopyright", "© 2011 Pete Batard (GPL v3)"
|
||||
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
||||
VALUE "OriginalFilename", "rufus.exe"
|
||||
VALUE "ProductName", "Rufus"
|
||||
VALUE "ProductVersion", "1.2.0.188"
|
||||
VALUE "ProductVersion", "1.2.0.189"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
Loading…
Reference in a new issue