Changes to make doxygen doc better.

This commit is contained in:
rocky
2004-09-04 23:49:47 +00:00
parent 40332db672
commit d9c63df6ce
7 changed files with 424 additions and 278 deletions

View File

@@ -1,4 +1,4 @@
# Doxyfile 1.2.18 # Doxyfile 1.3.6
# This file describes the settings to be used by the documentation system # This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project # doxygen (www.doxygen.org) for a project
@@ -11,13 +11,13 @@
# Values that contain spaces should be placed between quotes (" ") # Values that contain spaces should be placed between quotes (" ")
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# General configuration options # Project related configuration options
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project. # by quotes) that should identify the project.
PROJECT_NAME = "libcdio" PROJECT_NAME = libcdio
# The PROJECT_NUMBER tag can be used to enter a project or revision number. # The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
@@ -38,11 +38,156 @@ OUTPUT_DIRECTORY =
# The default language is English, other supported languages are: # The default language is English, other supported languages are:
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en # Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, # (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese,
# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian. # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English
# This tag can be used to specify the encoding used in the generated output.
# The encoding is not always determined by the language that is chosen,
# but also whether or not the output is meant for Windows or non-Windows users.
# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
# forces the Windows encoding (this is the default for the Windows binary),
# whereas setting the tag to NO uses a Unix-style encoding (the default for
# all platforms other than Windows).
USE_WINDOWS_ENCODING = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
# This tag implements a quasi-intelligent brief description abbreviator
# that is used to form the text in various listings. Each string
# in this list, if found as the leading text of the brief description, will be
# stripped from the text and the result after processing the whole list, is used
# as the annotated text. Otherwise, the brief description is used as-is. If left
# blank, the following values are used ("$name" is automatically replaced with the
# name of the entity): "The $name class" "The $name widget" "The $name file"
# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
# members of a class in the documentation of that class as if those members were
# ordinary class members. Constructors, destructors and assignment operators of
# the base classes will not be shown.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user-defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. It is allowed to use relative paths in the argument list.
# If left blank the directory from which doxygen is run is used as the
# path to strip.
STRIP_FROM_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
# (but less readable) file names. This can be useful is your file systems
# doesn't support long names like on DOS, Mac, or CD-ROM.
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like the Qt-style comments (thus requiring an
# explicit @brief command for a brief description.
JAVADOC_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour.
# The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead.
MULTILINE_CPP_IS_BRIEF = NO
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member
# documentation.
DETAILS_AT_TOP = NO
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# re-implements.
INHERIT_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 8
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
ALIASES =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
# only. Doxygen will then generate output that is more tailored for Java.
# For instance, namespaces will be presented as packages, qualified scopes
# will look different, etc.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
# the same type (for instance a group of public functions) to be put as a
# subgroup of that type (e.g. under the Public Functions section). Set it to
# NO to prevent subgrouping. Alternatively, this can be done per class using
# the \nosubgrouping command.
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available. # documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless # Private class members and static file members will be hidden unless
@@ -76,7 +221,7 @@ HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. # undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these class will be included in the various # If set to NO (the default) these classes will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled. # overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO HIDE_UNDOC_CLASSES = NO
@@ -88,45 +233,12 @@ HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO HIDE_FRIEND_COMPOUNDS = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
# include brief member descriptions after the members that are listed in # documentation blocks found inside the body of a function.
# the file and class documentation (similar to JavaDoc). # If set to NO (the default) these blocks will be appended to the
# Set to NO to disable this. # function's detailed documentation block.
BRIEF_MEMBER_DESC = YES HIDE_IN_BODY_DOCS = NO
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
# members of a class in the documentation of that class as if those members were
# ordinary class members. Constructors, destructors and assignment operators of
# the base classes will not be shown.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. It is allowed to use relative paths in the argument list.
STRIP_FROM_PATH =
# The INTERNAL_DOCS tag determines if documentation # The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set # that is typed after a \internal command is included. If the tag is set
@@ -135,73 +247,26 @@ STRIP_FROM_PATH =
INTERNAL_DOCS = NO INTERNAL_DOCS = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower case letters. If set to YES upper case letters are also # file names in lower-case letters. If set to YES upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ # allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows # in case and if your file system supports case sensitive file names. Windows
# users are adviced to set this option to NO. # users are advised to set this option to NO.
CASE_SENSE_NAMES = YES CASE_SENSE_NAMES = YES
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
# (but less readable) file names. This can be useful is your file systems
# doesn't support long names like on DOS, Mac, or CD-ROM.
SHORT_NAMES = NO
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the # will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden. # documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO HIDE_SCOPE_NAMES = NO
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
# will put list of the files that are included by a file in the documentation # will put a list of the files that are included by a file in the documentation
# of that file. # of that file.
SHOW_INCLUDE_FILES = YES SHOW_INCLUDE_FILES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like the Qt-style comments (thus requiring an
# explict @brief command for a brief description.
JAVADOC_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour.
# The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead.
MULTILINE_CPP_IS_BRIEF = NO
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member
# documentation.
DETAILS_AT_TOP = NO
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# reimplements.
INHERIT_DOCS = YES
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members. # is inserted in the documentation for inline members.
@@ -214,17 +279,22 @@ INLINE_INFO = YES
SORT_MEMBER_DOCS = YES SORT_MEMBER_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
# tag is set to YES, then doxygen will reuse the documentation of the first # brief documentation of file, namespace and class members alphabetically
# member in the group (if any) for the other members of the group. By default # by member name. If set to NO (the default) the members will appear in
# all members of a group must be documented explicitly. # declaration order.
DISTRIBUTE_GROUP_DOC = NO SORT_BRIEF_DOCS = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab. # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
# Doxygen uses this value to replace tabs by spaces in code fragments. # sorted by fully-qualified names, including namespaces. If set to
# NO (the default), the class list will be sorted only by class name,
# not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the
# alphabetical list.
TAB_SIZE = 8 SORT_BY_SCOPE_NAME = NO
# The GENERATE_TODOLIST tag can be used to enable (YES) or # The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo # disable (NO) the todo list. This list is created by putting \todo
@@ -245,26 +315,18 @@ GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
# disable (NO) the deprecated list. This list is created by putting \deprecated commands in the documentation. # disable (NO) the deprecated list. This list is created by putting
# \deprecated commands in the documentation.
GENERATE_DEPRECATEDLIST= YES GENERATE_DEPRECATEDLIST= YES
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
ALIASES =
# The ENABLED_SECTIONS tag can be used to enable conditional # The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif. # documentation sections, marked by \if sectionname ... \endif.
ENABLED_SECTIONS = ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consist of for it to appear in # the initial value of a variable or define consists of for it to appear in
# the documentation. If the initializer consists of more lines than specified # the documentation. If the initializer consists of more lines than specified
# here it will be hidden. Use a value of 0 to hide initializers completely. # here it will be hidden. Use a value of 0 to hide initializers completely.
# The appearance of the initializer of individual variables and defines in the # The appearance of the initializer of individual variables and defines in the
@@ -273,20 +335,6 @@ ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30 MAX_INITIALIZER_LINES = 30
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C.
# For instance some of the names that are used will be different. The list
# of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
# only. Doxygen will then generate output that is more tailored for Java.
# For instance namespaces will be presented as packages, qualified scopes
# will look different, etc.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated # Set the SHOW_USED_FILES tag to NO to disable the list of files generated
# at the bottom of the documentation of classes and structs. If set to YES the # at the bottom of the documentation of classes and structs. If set to YES the
# list will mention the files that were used to generate the documentation. # list will mention the files that were used to generate the documentation.
@@ -314,6 +362,13 @@ WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES WARN_IF_UNDOCUMENTED = YES
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some
# parameters in a documented function, or documenting parameters that
# don't exist or using markup commands wrongly.
WARN_IF_DOC_ERROR = YES
# The WARN_FORMAT tag determines the format of the warning messages that # The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text # doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the # tags, which will be replaced by the file and line number from which the
@@ -343,7 +398,7 @@ INPUT = ../../include/cdio/
# and *.h) to filter out the source-files in the directories. If left # and *.h) to filter out the source-files in the directories. If left
# blank the following patterns are tested: # blank the following patterns are tested:
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
# *.h++ *.idl *.odl # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
FILE_PATTERNS = *.h FILE_PATTERNS = *.h
@@ -417,6 +472,8 @@ FILTER_SOURCE_FILES = NO
# If the SOURCE_BROWSER tag is set to YES then a list of source files will # If the SOURCE_BROWSER tag is set to YES then a list of source files will
# be generated. Documented entities will be cross-referenced with these sources. # be generated. Documented entities will be cross-referenced with these sources.
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
SOURCE_BROWSER = NO SOURCE_BROWSER = NO
@@ -425,6 +482,12 @@ SOURCE_BROWSER = NO
INLINE_SOURCES = NO INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES (the default) # If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented # then for each documented function all documented
# functions referencing it will be listed. # functions referencing it will be listed.
@@ -437,6 +500,12 @@ REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES REFERENCES_RELATION = YES
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the alphabetical class index # configuration options related to the alphabetical class index
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
@@ -493,10 +562,12 @@ HTML_HEADER =
HTML_FOOTER = HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user defined cascading # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to # style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen # fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet # will generate a default style sheet. Note that doxygen will try to copy
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET = HTML_STYLESHEET =
@@ -516,14 +587,14 @@ GENERATE_HTMLHELP = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You # be used to specify the file name of the resulting .chm file. You
# can add a path in front of the file if the result should not be # can add a path in front of the file if the result should not be
# written to the html output dir. # written to the html output directory.
CHM_FILE = CHM_FILE =
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
# be used to specify the location (absolute path including file name) of # be used to specify the location (absolute path including file name) of
# the HTML help compiler (hhc.exe). If non empty doxygen will try to run # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
# the html help compiler on the generated index.hhp. # the HTML help compiler on the generated index.hhp.
HHC_LOCATION = HHC_LOCATION =
@@ -540,7 +611,7 @@ GENERATE_CHI = NO
BINARY_TOC = NO BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members # The TOC_EXPAND flag can be set to YES to add extra items for group members
# to the contents of the Html help documentation and to the tree view. # to the contents of the HTML help documentation and to the tree view.
TOC_EXPAND = NO TOC_EXPAND = NO
@@ -558,10 +629,9 @@ ENUM_VALUES_PER_LINE = 4
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that # generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports # is generated for HTML Help). For this to work a browser that supports
# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
# or Internet explorer 4.0+). Note that for large projects the tree generation # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
# can take a very long time. In such cases it is better to disable this feature. # probably better off using the HTML help feature.
# Windows users are probably better off using the HTML help feature.
GENERATE_TREEVIEW = NO GENERATE_TREEVIEW = NO
@@ -586,7 +656,8 @@ GENERATE_LATEX = YES
LATEX_OUTPUT = latex LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left blank `latex' will be used as the default command name. # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
LATEX_CMD_NAME = latex LATEX_CMD_NAME = latex
@@ -640,12 +711,18 @@ USE_PDFLATEX = NO
LATEX_BATCHMODE = NO LATEX_BATCHMODE = NO
# If LATEX_HIDE_INDICES is set to YES then doxygen will not
# include the index chapters (such as File Index, Compound Index, etc.)
# in the output.
LATEX_HIDE_INDICES = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the RTF output # configuration options related to the RTF output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
# The RTF output is optimised for Word 97 and may not look very pretty with # The RTF output is optimized for Word 97 and may not look very pretty with
# other RTF readers or editors. # other RTF readers or editors.
GENERATE_RTF = NO GENERATE_RTF = NO
@@ -672,7 +749,7 @@ COMPACT_RTF = NO
RTF_HYPERLINKS = NO RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's # Load stylesheet definitions from file. Syntax is similar to doxygen's
# config file, i.e. a series of assigments. You only have to provide # config file, i.e. a series of assignments. You only have to provide
# replacements, missing definitions are set to their default value. # replacements, missing definitions are set to their default value.
RTF_STYLESHEET_FILE = RTF_STYLESHEET_FILE =
@@ -716,12 +793,16 @@ MAN_LINKS = NO
# If the GENERATE_XML tag is set to YES Doxygen will # If the GENERATE_XML tag is set to YES Doxygen will
# generate an XML file that captures the structure of # generate an XML file that captures the structure of
# the code including all documentation. Note that this # the code including all documentation.
# feature is still experimental and incomplete at the
# moment.
GENERATE_XML = NO GENERATE_XML = NO
# The XML_OUTPUT tag is used to specify where the XML pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `xml' will be used as the default path.
XML_OUTPUT = xml
# The XML_SCHEMA tag can be used to specify an XML schema, # The XML_SCHEMA tag can be used to specify an XML schema,
# which can be used by a validating XML parser to check the # which can be used by a validating XML parser to check the
# syntax of the XML files. # syntax of the XML files.
@@ -734,6 +815,13 @@ XML_SCHEMA =
XML_DTD = XML_DTD =
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
# dump the program listings (including syntax highlighting
# and cross-referencing information) to the XML output. Note that
# enabling this will significantly increase the size of the XML output.
XML_PROGRAMLISTING = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output # configuration options for the AutoGen Definitions output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
@@ -746,6 +834,39 @@ XML_DTD =
GENERATE_AUTOGEN_DEF = NO GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
# If the GENERATE_PERLMOD tag is set to YES Doxygen will
# generate a Perl module file that captures the structure of
# the code including all documentation. Note that this
# feature is still experimental and incomplete at the
# moment.
GENERATE_PERLMOD = NO
# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
# the necessary Makefile rules, Perl scripts and LaTeX code to be able
# to generate PDF and DVI output from the Perl module output.
PERLMOD_LATEX = NO
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
# nicely formatted so it can be parsed by a human reader. This is useful
# if you want to understand what is going on. On the other hand, if this
# tag is set to NO the size of the Perl module output will be much smaller
# and Perl will parse it just the same.
PERLMOD_PRETTY = YES
# The names of the make variables in the generated doxyrules.make file
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
# This is useful so different doxyrules.make files included by the same
# Makefile don't overwrite each other's variables.
PERLMOD_MAKEVAR_PREFIX =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the preprocessor # Configuration options related to the preprocessor
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
@@ -795,7 +916,7 @@ INCLUDE_FILE_PATTERNS =
PREDEFINED = PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded. # this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used. # The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition. # Use the PREDEFINED tag if you want to use a different macro definition.
@@ -811,10 +932,23 @@ EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES SKIP_FUNCTION_MACROS = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration::addtions related to external references # Configuration::additions related to external references
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# The TAGFILES tag can be used to specify one or more tagfiles. # The TAGFILES option can be used to specify one or more tagfiles.
# Optionally an initial location of the external documentation
# can be added for each tagfile. The format of a tag file without
# this location is as follows:
# TAGFILES = file1 file2 ...
# Adding location for the tag files is done as follows:
# TAGFILES = file1=loc1 "file2 = loc2" ...
# where "loc1" and "loc2" can be relative or absolute paths or
# URLs. If a location is present for each tag, the installdox tool
# does not have to be run to correct the links.
# Note that each tag file must have a unique name
# (where the name does NOT include the path)
# If a tag file is not located in the directory in which doxygen
# is run, you must also specify the path to the tagfile here.
TAGFILES = TAGFILES =
@@ -845,10 +979,10 @@ PERL_PATH = /usr/bin/perl
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
# super classes. Setting the tag to NO turns the diagrams off. Note that this # super classes. Setting the tag to NO turns the diagrams off. Note that this
# option is superceded by the HAVE_DOT option below. This is only a fallback. It is # option is superseded by the HAVE_DOT option below. This is only a fallback. It is
# recommended to install and use dot, since it yield more powerful graphs. # recommended to install and use dot, since it yields more powerful graphs.
CLASS_DIAGRAMS = YES CLASS_DIAGRAMS = YES
@@ -879,6 +1013,12 @@ CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES COLLABORATION_GRAPH = YES
# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
# Language.
UML_LOOK = NO
# If set to YES, the inheritance and collaboration graphs will show the # If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances. # relations between templates and their instances.
@@ -898,6 +1038,14 @@ INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES INCLUDED_BY_GRAPH = YES
# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
# generate a call dependency graph for every global function or class method.
# Note that enabling this option will significantly increase the time of a run.
# So in most cases it will be better to enable call graphs for selected
# functions only using the \callgraph command.
CALL_GRAPH = NO
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one. # will graphical hierarchy of all classes instead of a textual one.
@@ -936,6 +1084,17 @@ MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_HEIGHT = 1024
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable
# from the root by following a path via at most 3 edges will be shown. Nodes that
# lay further from the root node will be omitted. Note that setting this option to
# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
# note that a graph may be further truncated if the graph's image dimensions are
# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
# If 0 is used for the depth value (the default), the graph is not depth-constrained.
MAX_DOT_GRAPH_DEPTH = 0
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and # generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs. # arrows in the dot generated graphs.
@@ -943,51 +1102,16 @@ MAX_DOT_GRAPH_HEIGHT = 1024
GENERATE_LEGEND = YES GENERATE_LEGEND = YES
# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
# remove the intermedate dot files that are used to generate # remove the intermediate dot files that are used to generate
# the various graphs. # the various graphs.
DOT_CLEANUP = YES DOT_CLEANUP = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration::addtions related to the search engine # Configuration::additions related to the search engine
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be # The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored. # used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO SEARCHENGINE = NO
# The CGI_NAME tag should be the name of the CGI script that
# starts the search engine (doxysearch) with the correct parameters.
# A script with this name will be generated by doxygen.
CGI_NAME = search.cgi
# The CGI_URL tag should be the absolute URL to the directory where the
# cgi binaries are located. See the documentation of your http daemon for
# details.
CGI_URL =
# The DOC_URL tag should be the absolute URL to the directory where the
# documentation is located. If left blank the absolute path to the
# documentation, with file:// prepended to it, will be used.
DOC_URL =
# The DOC_ABSPATH tag should be the absolute path to the directory where the
# documentation is located. If left blank the directory on the local machine
# will be used.
DOC_ABSPATH =
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
# is installed.
BIN_ABSPATH = /usr/local/bin/
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
# documentation generated for other projects. This allows doxysearch to search
# the documentation for these projects as well.
EXT_DOC_PATHS =

View File

@@ -1,5 +1,5 @@
/* -*- c -*- /* -*- c -*-
$Id: cdio.h,v 1.64 2004/08/27 11:53:38 rocky Exp $ $Id: cdio.h,v 1.65 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -60,7 +60,8 @@ extern "C" {
#define CDIO_MMC_HW_MODEL_LEN 16 /**< length of model field */ #define CDIO_MMC_HW_MODEL_LEN 16 /**< length of model field */
#define CDIO_MMC_HW_REVISION_LEN 4 /**< length of revision field */ #define CDIO_MMC_HW_REVISION_LEN 4 /**< length of revision field */
/*! Structure to return data given by the INQUIRY command */ /*! \brief Structure to return CD vendor, model, and revision-level
strings obtained via the INQUIRY command */
typedef struct cdio_hwinfo typedef struct cdio_hwinfo
{ {
char psz_vendor [CDIO_MMC_HW_VENDOR_LEN+1]; char psz_vendor [CDIO_MMC_HW_VENDOR_LEN+1];
@@ -71,7 +72,7 @@ extern "C" {
/** This is an opaque structure for the CD object. */ /** This is an opaque structure for the CD object. */
typedef struct _CdIo CdIo; typedef struct _CdIo CdIo;
/** This is an opaque structure for the CDTEXT object. */ /** This is an opaque structure for the CD-Text object. */
typedef struct cdtext cdtext_t; typedef struct cdtext cdtext_t;
/** The driver_id_t enumerations may be used to tag a specific driver /** The driver_id_t enumerations may be used to tag a specific driver
@@ -88,19 +89,21 @@ extern "C" {
* *
*/ */
typedef enum { typedef enum {
DRIVER_UNKNOWN, DRIVER_UNKNOWN, /**< Used as input when we don't care what kind
of driver to use. */
DRIVER_BSDI, /**< BSDI driver */ DRIVER_BSDI, /**< BSDI driver */
DRIVER_FREEBSD, /**< FreeBSD driver */ DRIVER_FREEBSD, /**< FreeBSD driver - includes CAM and ioctl access */
DRIVER_LINUX, /**< GNU/Linux Driver */ DRIVER_LINUX, /**< GNU/Linux Driver */
DRIVER_SOLARIS, /**< Sun Solaris Driver */ DRIVER_SOLARIS, /**< Sun Solaris Driver */
DRIVER_OSX, /**< Apple OSX Driver */ DRIVER_OSX, /**< Apple OSX Driver */
DRIVER_WIN32, /**< Microsoft Windows Driver */ DRIVER_WIN32, /**< Microsoft Windows Driver. Includes ASPI and
ioctl acces. */
DRIVER_CDRDAO, /**< cdrdao format CD image. This is listed DRIVER_CDRDAO, /**< cdrdao format CD image. This is listed
before BINCUE, to make the code prefer cdrdao before BIN/CUE, to make the code prefer cdrdao
over BINCUE when both exist. */ over BIN/CUE when both exist. */
DRIVER_BINCUE, /**< CDRWIN BIN/CUE format CD image. This is DRIVER_BINCUE, /**< CDRWIN BIN/CUE format CD image. This is
listed before NRG, to make the code prefer listed before NRG, to make the code prefer
BINCUE over NRG when both exist. */ BIN/CUE over NRG when both exist. */
DRIVER_NRG, /**< Nero NRG format CD image. */ DRIVER_NRG, /**< Nero NRG format CD image. */
DRIVER_DEVICE /**< Is really a set of the above; should come last */ DRIVER_DEVICE /**< Is really a set of the above; should come last */
} driver_id_t; } driver_id_t;
@@ -141,17 +144,17 @@ extern "C" {
/*! /*!
Eject media in CD drive if there is a routine to do so. Eject media in CD drive if there is a routine to do so.
@param cd_obj the CD object to be acted upon. @param p_cdio the CD object to be acted upon.
@return 0 if success and 1 for failure, and 2 if no routine. @return 0 if success and 1 for failure, and 2 if no routine.
If the CD is ejected *cd_obj is freed and cd_obj set to NULL. If the CD is ejected *p_cdio is freed and p_cdio set to NULL.
*/ */
int cdio_eject_media (CdIo **cd_obj); int cdio_eject_media (CdIo **p_cdio);
/*! /*!
Free any resources associated with cd_obj. Call this when done using cd_obj Free any resources associated with p_cdio. Call this when done using p_cdio
and using CD reading/control operations. and using CD reading/control operations.
@param cd_obj the CD object to eliminated. @param p_cdio the CD object to eliminated.
*/ */
void cdio_destroy (CdIo *p_cdio); void cdio_destroy (CdIo *p_cdio);
@@ -170,34 +173,35 @@ extern "C" {
/*! /*!
Get the value associatied with key. Get the value associatied with key.
@param cd_obj the CD object queried @param p_cdio the CD object queried
@param key the key to retrieve @param key the key to retrieve
@return the value associatd with "key" or NULL if cd_obj is NULL @return the value associatd with "key" or NULL if p_cdio is NULL
or "key" does not exist. or "key" does not exist.
*/ */
const char * cdio_get_arg (const CdIo *cd_obj, const char key[]); const char * cdio_get_arg (const CdIo *p_cdio, const char key[]);
/*! /*!
Get cdtext information for a CdIo object. Get CD-Text information for a CdIo object.
@param cd_obj the CD object that may contain CD-TEXT information. @param p_cdio the CD object that may contain CD-Text information.
@return the CD-TEXT object or NULL if obj is NULL @param i_track track for which we are requesting CD-Text information.
or CD-TEXT information does not exist. @return the CD-Text object or NULL if obj is NULL
or CD-Text information does not exist.
If i_track is 0 or CDIO_CDROM_LEADOUT_TRACK the track returned If i_track is 0 or CDIO_CDROM_LEADOUT_TRACK the track returned
is the information assocated with the CD. is the information assocated with the CD.
*/ */
const cdtext_t *cdio_get_cdtext (CdIo *cd_obj, track_t i_track); const cdtext_t *cdio_get_cdtext (CdIo *p_cdio, track_t i_track);
/*! /*!
Get an array of device names in search_devices that have at Get an array of device names in search_devices that have at least
least the capabilities listed by cap. If search_devices is NULL, the capabilities listed by the capabities parameter. If
then we'll search all possible CD drives. search_devices is NULL, then we'll search all possible CD drives.
If "any" is set false then every capability listed in the extended If "b_any" is set false then every capability listed in the
portion of capabilities (i.e. not the basic filesystem) must be extended portion of capabilities (i.e. not the basic filesystem)
satisified. If "any" is set true, then if any of the capabilities must be satisified. If "any" is set true, then if any of the
matches, we call that a success. capabilities matches, we call that a success.
To find a CD-drive of any type, use the mask CDIO_FS_MATCH_ALL. To find a CD-drive of any type, use the mask CDIO_FS_MATCH_ALL.
@@ -207,7 +211,7 @@ extern "C" {
was found. was found.
*/ */
char ** cdio_get_devices_with_cap (char* ppsz_search_devices[], char ** cdio_get_devices_with_cap (char* ppsz_search_devices[],
cdio_fs_anal_t capabilities, bool any); cdio_fs_anal_t capabilities, bool b_any);
/*! /*!
Like cdio_get_devices_with_cap but we return the driver we found Like cdio_get_devices_with_cap but we return the driver we found
@@ -216,7 +220,8 @@ extern "C" {
and speeds things up for libcdio as well. and speeds things up for libcdio as well.
*/ */
char ** cdio_get_devices_with_cap_ret (/*out*/ char* ppsz_search_devices[], char ** cdio_get_devices_with_cap_ret (/*out*/ char* ppsz_search_devices[],
cdio_fs_anal_t capabilities, bool any, cdio_fs_anal_t capabilities,
bool b_any,
/*out*/ driver_id_t *p_driver_id); /*out*/ driver_id_t *p_driver_id);
/*! Return an array of device names. If you want a specific /*! Return an array of device names. If you want a specific
@@ -243,10 +248,10 @@ extern "C" {
/*! /*!
Get the default CD device. Get the default CD device.
if cd_obj is NULL (we haven't initialized a specific device driver), if p_cdio is NULL (we haven't initialized a specific device driver),
then find a suitable one and return the default device for that. then find a suitable one and return the default device for that.
@param cd_obj the CD object queried @param p_cdio the CD object queried
@return a string containing the default CD device or NULL is @return a string containing the default CD device or NULL is
if we couldn't get a default device. if we couldn't get a default device.
@@ -259,8 +264,10 @@ extern "C" {
/*! /*!
Get the what kind of device we've got. Get the what kind of device we've got.
@param cd_obj the CD object queried @param p_cdio the CD object queried
@return a list of device capabilities. @param p_read_cap pointer to return read capabilities
@param p_write_cap pointer to return write capabilities
@param p_misc_cap pointer to return miscellaneous other capabilities
In some situations of drivers or OS's we can't find a CD device if In some situations of drivers or OS's we can't find a CD device if
there is no media in it and it is possible for this routine to return there is no media in it and it is possible for this routine to return
@@ -362,35 +369,35 @@ extern "C" {
/*! /*!
Get the starting LBA for track number Get the starting LBA for track number
i_track in cd_obj. Track numbers usually start at something i_track in p_cdio. Track numbers usually start at something
greater than 0, usually 1. greater than 0, usually 1.
The "leadout" track is specified either by The "leadout" track is specified either by
using i_track CDIO_CDROM_LEADOUT_TRACK or the total tracks+1. using i_track CDIO_CDROM_LEADOUT_TRACK or the total tracks+1.
@param cd_obj object to get information from @param p_cdio object to get information from
@param i_track the track number we want the LSN for @param i_track the track number we want the LSN for
@return the starting LBA or CDIO_INVALID_LBA on error. @return the starting LBA or CDIO_INVALID_LBA on error.
*/ */
lba_t cdio_get_track_lba(const CdIo *cd_obj, track_t i_track); lba_t cdio_get_track_lba(const CdIo *p_cdio, track_t i_track);
/*! /*!
Return the starting MSF (minutes/secs/frames) for track number Return the starting MSF (minutes/secs/frames) for track number
i_track in cd_obj. Track numbers usually start at something i_track in p_cdio. Track numbers usually start at something
greater than 0, usually 1. greater than 0, usually 1.
The "leadout" track is specified either by The "leadout" track is specified either by
using i_track CDIO_CDROM_LEADOUT_TRACK or the total tracks+1. using i_track CDIO_CDROM_LEADOUT_TRACK or the total tracks+1.
@param obj object to get information from @param p_cdio object to get information from
@param i_track the track number we want the LSN for @param i_track the track number we want the LSN for
@return the starting LSN or CDIO_INVALID_LSN on error. @return the starting LSN or CDIO_INVALID_LSN on error.
*/ */
lsn_t cdio_get_track_lsn(const CdIo *cd_obj, track_t i_track); lsn_t cdio_get_track_lsn(const CdIo *p_cdio, track_t i_track);
/*! /*!
Return the starting MSF (minutes/secs/frames) for track number Return the starting MSF (minutes/secs/frames) for track number
i_track in cd_obj. Track numbers usually start at something i_track in p_cdio. Track numbers usually start at something
greater than 0, usually 1. greater than 0, usually 1.
The "leadout" track is specified either by The "leadout" track is specified either by
@@ -398,7 +405,7 @@ extern "C" {
@return true if things worked or false if there is no track entry. @return true if things worked or false if there is no track entry.
*/ */
bool cdio_get_track_msf(const CdIo *cd_obj, track_t i_track, bool cdio_get_track_msf(const CdIo *p_cdio, track_t i_track,
/*out*/ msf_t *msf); /*out*/ msf_t *msf);
/*! /*!
@@ -409,19 +416,19 @@ extern "C" {
@return the number of sectors or 0 if there is an error. @return the number of sectors or 0 if there is an error.
*/ */
unsigned int cdio_get_track_sec_count(const CdIo *cd_obj, track_t i_track); unsigned int cdio_get_track_sec_count(const CdIo *p_cdio, track_t i_track);
/*! /*!
Reposition read offset Reposition read offset
Similar to (if not the same as) libc's lseek() Similar to (if not the same as) libc's lseek()
@param cd_obj object to get information from @param p_cdio object to get information from
@param offset amount to seek @param offset amount to seek
@param whence like corresponding parameter in libc's lseek, e.g. @param whence like corresponding parameter in libc's lseek, e.g.
SEEK_SET or SEEK_END. SEEK_SET or SEEK_END.
@return (off_t) -1 on error. @return (off_t) -1 on error.
*/ */
off_t cdio_lseek(const CdIo *cd_obj, off_t offset, int whence); off_t cdio_lseek(const CdIo *p_cdio, off_t offset, int whence);
/*! /*!
Reads into buf the next size bytes. Reads into buf the next size bytes.
@@ -429,36 +436,36 @@ extern "C" {
@return (ssize_t) -1 on error. @return (ssize_t) -1 on error.
*/ */
ssize_t cdio_read(const CdIo *cd_obj, void *buf, size_t size); ssize_t cdio_read(const CdIo *p_cdio, void *buf, size_t size);
/*! /*!
Read an audio sector Read an audio sector
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_audio_sector (const CdIo *cd_obj, void *buf, lsn_t lsn); int cdio_read_audio_sector (const CdIo *p_cdio, void *buf, lsn_t lsn);
/*! /*!
Reads audio sectors Reads audio sectors
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@param i_sectors number of sectors to read @param i_sectors number of sectors to read
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_audio_sectors (const CdIo *cd_obj, void *buf, lsn_t lsn, int cdio_read_audio_sectors (const CdIo *p_cdio, void *buf, lsn_t lsn,
unsigned int i_sectors); unsigned int i_sectors);
/*! /*!
Reads a mode1 sector Reads a mode1 sector
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@param b_form2 true for reading mode1 form2 sectors or false for @param b_form2 true for reading mode1 form2 sectors or false for
@@ -466,13 +473,13 @@ extern "C" {
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_mode1_sector (const CdIo *cd_obj, void *buf, lsn_t lsn, int cdio_read_mode1_sector (const CdIo *p_cdio, void *buf, lsn_t lsn,
bool b_form2); bool b_form2);
/*! /*!
Reads mode1 sectors Reads mode1 sectors
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@param b_form2 true for reading mode1 form2 sectors or false for @param b_form2 true for reading mode1 form2 sectors or false for
@@ -481,13 +488,13 @@ extern "C" {
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_mode1_sectors (const CdIo *cd_obj, void *buf, lsn_t lsn, int cdio_read_mode1_sectors (const CdIo *p_cdio, void *buf, lsn_t lsn,
bool b_form2, unsigned int i_sectors); bool b_form2, unsigned int i_sectors);
/*! /*!
Reads a mode1 sector Reads a mode1 sector
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@param b_form2 true for reading mode1 form2 sectors or false for @param b_form2 true for reading mode1 form2 sectors or false for
@@ -495,13 +502,13 @@ extern "C" {
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_mode2_sector (const CdIo *cd_obj, void *buf, lsn_t lsn, int cdio_read_mode2_sector (const CdIo *p_cdio, void *buf, lsn_t lsn,
bool b_form2); bool b_form2);
/*! /*!
Reads mode2 sectors Reads mode2 sectors
@param cd_obj object to read from @param p_cdio object to read from
@param buf place to read data into @param buf place to read data into
@param lsn sector to read @param lsn sector to read
@param b_form2 true for reading mode1 form2 sectors or false for @param b_form2 true for reading mode1 form2 sectors or false for
@@ -510,26 +517,26 @@ extern "C" {
@return 0 if no error, nonzero otherwise. @return 0 if no error, nonzero otherwise.
*/ */
int cdio_read_mode2_sectors (const CdIo *cd_obj, void *buf, lsn_t lsn, int cdio_read_mode2_sectors (const CdIo *p_cdio, void *buf, lsn_t lsn,
bool b_form2, unsigned int i_sectors); bool b_form2, unsigned int i_sectors);
/*! /*!
Set the arg "key" with "value" in "obj". Set the arg "key" with "value" in "obj".
@param cd_obj the CD object to set @param p_cdio the CD object to set
@param key the key to set @param key the key to set
@param value the value to assocaiate with key @param value the value to assocaiate with key
@return 0 if no error was found, and nonzero otherwise. @return 0 if no error was found, and nonzero otherwise.
*/ */
int cdio_set_arg (CdIo *cd_obj, const char key[], const char value[]); int cdio_set_arg (CdIo *p_cdio, const char key[], const char value[]);
/*! /*!
Get the size of the CD in logical block address (LBA) units. Get the size of the CD in logical block address (LBA) units.
@param cd_obj the CD object queried @param p_cdio the CD object queried
@return the size @return the size
*/ */
uint32_t cdio_stat_size (const CdIo *cd_obj); uint32_t cdio_stat_size (const CdIo *p_cdio);
/*! /*!
Initialize CD Reading and control routines. Should be called first. Initialize CD Reading and control routines. Should be called first.

View File

@@ -1,5 +1,5 @@
/* /*
$Id: cdtext.h,v 1.6 2004/07/17 02:18:27 rocky Exp $ $Id: cdtext.h,v 1.7 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
adapted from cuetools adapted from cuetools
@@ -21,7 +21,7 @@
*/ */
/*! /*!
* \file cdtext.h * \file cdtext.h
* \brief Header CDTEXT information * \brief Header CD-Text information
*/ */
@@ -36,6 +36,10 @@ extern "C" {
#define MAX_CDTEXT_FIELDS 13 #define MAX_CDTEXT_FIELDS 13
/*! \brief structure for holding CD-Text information
@see cdtext_init, cdtext_destroy, cdtext_get, and cdtext_set.
*/
struct cdtext { struct cdtext {
char *field[MAX_CDTEXT_FIELDS]; char *field[MAX_CDTEXT_FIELDS];
}; };

View File

@@ -1,5 +1,5 @@
/* /*
$Id: dvd.h,v 1.3 2004/07/28 01:09:59 rocky Exp $ $Id: dvd.h,v 1.4 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
Modeled after GNU/Linux definitions in linux/cdrom.h Modeled after GNU/Linux definitions in linux/cdrom.h
@@ -20,7 +20,7 @@
*/ */
/*! /*!
\file scsi_mmc.h \file dvd.h
\brief Definitions for DVD access. \brief Definitions for DVD access.
*/ */

View File

@@ -1,5 +1,5 @@
/* /*
$Id: iso9660.h,v 1.45 2004/06/29 02:01:24 rocky Exp $ $Id: iso9660.h,v 1.46 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -56,32 +56,35 @@
= 38 chars = 38 chars
\endverbatim \endverbatim
*/ */
#define LEN_ISONAME 31
#define MAX_ISONAME 37
/*! size in bytes of the filename portion + null byte */
#define LEN_ISONAME 31
/*! Max # characters in the entire ISO 9660 filename. */
#define MAX_ISONAME 37
/*! Max # characters in the entire ISO 9660 filename. */
#define MAX_ISOPATHNAME 255 #define MAX_ISOPATHNAME 255
/*! \def Max # characters in an perparer id. */ /*! Max # characters in an perparer id. */
#define ISO_MAX_PREPARER_ID 128 #define ISO_MAX_PREPARER_ID 128
/*! \def Max # characters in an publisher id. */ /*! Max # characters in an publisher id. */
#define ISO_MAX_PUBLISHER_ID 128 #define ISO_MAX_PUBLISHER_ID 128
/*! \def Max # characters in an application id. */ /*! Max # characters in an application id. */
#define ISO_MAX_APPLICATION_ID 128 #define ISO_MAX_APPLICATION_ID 128
/*! \def Max # characters in an system id. */ /*! Max # characters in an system id. */
#define ISO_MAX_SYSTEM_ID 32 #define ISO_MAX_SYSTEM_ID 32
/*! \def Max # characters in an volume id. */ /*! Max # characters in an volume id. */
#define ISO_MAX_VOLUME_ID 32 #define ISO_MAX_VOLUME_ID 32
/*! \def Max # characters in an volumeset id. */ /*! Max # characters in an volume-set id. */
#define ISO_MAX_VOLUMESET_ID 128 #define ISO_MAX_VOLUMESET_ID 128
/* /**! ISO 9660 directory flags. */
* ISO 9660 directory flags.
*/
#define ISO_FILE 0 /**< Not really a flag... */ #define ISO_FILE 0 /**< Not really a flag... */
#define ISO_EXISTENCE 1 /**< Do not make existence known (hidden) */ #define ISO_EXISTENCE 1 /**< Do not make existence known (hidden) */
#define ISO_DIRECTORY 2 /**< This file is a directory */ #define ISO_DIRECTORY 2 /**< This file is a directory */
@@ -92,18 +95,23 @@
#define ISO_DRESERVED2 64 /**< Reserved bit 6 */ #define ISO_DRESERVED2 64 /**< Reserved bit 6 */
#define ISO_MULTIEXTENT 128 /**< Not final entry of a mult. ext. file */ #define ISO_MULTIEXTENT 128 /**< Not final entry of a mult. ext. file */
/* Volume descriptor types */ /**! Volume descriptor types */
#define ISO_VD_PRIMARY 1 #define ISO_VD_PRIMARY 1
#define ISO_VD_SUPPLEMENTARY 2 /**< Used by Joliet */ #define ISO_VD_SUPPLEMENTARY 2 /**< Used by Joliet */
#define ISO_VD_END 255 #define ISO_VD_END 255
#define ISO_PVD_SECTOR 16 /**< Sector of Primary Volume Descriptor */ /*! Sector of Primary Volume Descriptor */
#define ISO_EVD_SECTOR 17 /**< Sector of End Volume Descriptor */ #define ISO_PVD_SECTOR 16
#define ISO_STANDARD_ID "CD001" /**< String inside track identifying an /*! Sector of End Volume Descriptor */
ISO 9660 filesystem. */ #define ISO_EVD_SECTOR 17
#define ISO_BLOCKSIZE 2048 /**< Number of bytes in an ISO
9660 block */ /*! String inside track identifying an ISO 9660 filesystem. */
#define ISO_STANDARD_ID "CD001"
/*! Number of bytes in an ISO 9660 block */
#define ISO_BLOCKSIZE 2048
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@@ -1,5 +1,5 @@
/* /*
$Id: logging.h,v 1.8 2004/05/05 02:47:18 rocky Exp $ $Id: logging.h,v 1.9 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2000, Herbert Valerio Riedel <hvr@gnu.org> Copyright (C) 2000, Herbert Valerio Riedel <hvr@gnu.org>
Copyright (C) 2003, Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, Rocky Bernstein <rocky@panix.com>
@@ -75,7 +75,7 @@ typedef void (*cdio_log_handler_t) (cdio_log_level_t level,
cdio_log_handler_t cdio_log_set_handler (cdio_log_handler_t new_handler); cdio_log_handler_t cdio_log_set_handler (cdio_log_handler_t new_handler);
/** /**
* Handle an message with the given log level * Handle an message with the given log level.
* *
* @see cdio_debug * @see cdio_debug
* @see cdio_info * @see cdio_info

View File

@@ -1,5 +1,5 @@
/* /*
$Id: scsi_mmc.h,v 1.32 2004/08/27 02:50:13 rocky Exp $ $Id: scsi_mmc.h,v 1.33 2004/09/04 23:49:47 rocky Exp $
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com> Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
@@ -264,13 +264,16 @@
*/ */
#define MAX_CDB_LEN 12 #define MAX_CDB_LEN 12
/*! A Command Descriptor Buffer (CDB) used in sending SCSI MMC /*! \brief A Command Descriptor Buffer (CDB) used in sending SCSI MMC
commands. commands.
*/ */
typedef struct scsi_mmc_cdb { typedef struct scsi_mmc_cdb {
uint8_t field[MAX_CDB_LEN]; uint8_t field[MAX_CDB_LEN];
} scsi_mmc_cdb_t; } scsi_mmc_cdb_t;
/*! \brief Format of header block in data returned from a SCSI-MMC
GET_CONFIGURATION command.
*/
typedef struct scsi_mmc_feature_list_header { typedef struct scsi_mmc_feature_list_header {
unsigned char length_msb; unsigned char length_msb;
unsigned char length_1sb; unsigned char length_1sb;