summaryrefslogtreecommitdiff
path: root/contrib/libvcd/libvcd/inf.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libvcd/libvcd/inf.h')
-rw-r--r--contrib/libvcd/libvcd/inf.h260
1 files changed, 260 insertions, 0 deletions
diff --git a/contrib/libvcd/libvcd/inf.h b/contrib/libvcd/libvcd/inf.h
new file mode 100644
index 000000000..fcd9098e2
--- /dev/null
+++ b/contrib/libvcd/libvcd/inf.h
@@ -0,0 +1,260 @@
+/*!
+ \file inf.h
+
+ Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
+
+ \verbatim
+ 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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Foundation
+ Software, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ \endverbatim
+*/
+
+/*
+ Things here refer to lower-level structures using a structure other
+ than vcdinfo_t. For higher-level structures via the vcdinfo_t, see
+ info.h
+*/
+
+#ifndef _VCD_INF_H
+#define _VCD_INF_H
+
+#include <libvcd/info.h>
+
+ const char * vcdinf_area_str (const struct psd_area_t *_area);
+
+ /*!
+ Return a string containing the VCD album id.
+ */
+ const char * vcdinf_get_album_id(const InfoVcd_t *info);
+
+ /*!
+ Get autowait time value for PsdPlayListDescriptor *d.
+ Time is in seconds unless it is -1 (unlimited).
+ */
+ int vcdinf_get_autowait_time (const PsdPlayListDescriptor_t *d);
+
+ /*!
+ Return the base selection number. VCD_INVALID_BSN is returned if there
+ is an error.
+ */
+ unsigned int vcdinf_get_bsn(const PsdSelectionListDescriptor_t *psd);
+
+ /*! Return the starting LBA (logical block address) for sequence
+ entry_num in obj. VCDINFO_NULL_LBA is returned if there is no entry.
+ The first entry number is 0.
+ */
+ lba_t vcdinf_get_entry_lba(const EntriesVcd_t *entries,
+ unsigned int entry_num);
+
+ const char * vcdinf_get_format_version_str (vcd_type_t vcd_type);
+
+ /*!
+ Return loop count. 0 is infinite loop.
+ */
+ uint16_t vcdinf_get_loop_count (const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ Return LOT offset
+ */
+ uint16_t vcdinf_get_lot_offset (const LotVcd_t *lot, unsigned int n);
+
+ /*!
+ Return number of bytes in PSD.
+ */
+ uint32_t vcdinf_get_psd_size (const InfoVcd_t *info);
+
+ /*!
+ Return the number of segments in the VCD.
+ */
+ unsigned int vcdinf_get_num_entries(const EntriesVcd_t *entries);
+
+ /*!
+ Return number of LIDs.
+ */
+ lid_t vcdinf_get_num_LIDs (const InfoVcd_t *info);
+
+ /*!
+ Return the number of segments in the VCD.
+ */
+ segnum_t vcdinf_get_num_segments(const InfoVcd_t *info);
+
+ /*!
+ Return the number of menu selections for selection-list descriptor d.
+ */
+ unsigned int vcdinf_get_num_selections(const PsdSelectionListDescriptor_t *d);
+
+ /*!
+ Get play-time value for PsdPlayListDescriptor *d.
+ Time is in 1/15-second units.
+ */
+ uint16_t vcdinf_get_play_time (const PsdPlayListDescriptor_t *d);
+
+ /*!
+ Get timeout offset for PsdPlayListDescriptor *d. Return
+ VCDINFO_INVALID_OFFSET if d is NULL;
+ Time is in seconds unless it is -1 (unlimited).
+ */
+ uint16_t vcdinf_get_timeout_offset (const PsdSelectionListDescriptor_t *d);
+
+ /*!
+ Get timeout wait value for PsdPlayListDescriptor *d.
+ Time is in seconds unless it is -1 (unlimited).
+ */
+ int vcdinf_get_timeout_time (const PsdSelectionListDescriptor_t *d);
+
+ /*!
+ Return the track number for entry n in obj. The first track starts
+ at 1.
+ */
+ track_t vcdinf_get_track(const EntriesVcd_t *entries,
+ const unsigned int entry_num);
+
+ /*!
+ Return the VCD volume num - the number of the CD in the collection.
+ This is a number between 1 and the volume count.
+ */
+ unsigned int vcdinf_get_volume_num(const InfoVcd_t *info);
+
+ /*!
+ Return the VCD volume count - the number of CD's in the collection.
+ */
+ unsigned int vcdinf_get_volume_count(const InfoVcd_t *info);
+
+ /*!
+ Get wait time value for PsdPlayListDescriptor *d.
+ Time is in seconds unless it is -1 (unlimited).
+ */
+ int vcdinf_get_wait_time (const PsdPlayListDescriptor_t *d);
+
+ /*!
+ Return true if loop has a jump delay
+ */
+ bool vcdinf_has_jump_delay (const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ Comparison routine used in sorting. We compare LIDs and if those are
+ equal, use the offset.
+ Note: we assume an unassigned LID is 0 and this compares as a high value.
+
+ NOTE: Consider making static.
+ */
+ int vcdinf_lid_t_cmp (vcdinfo_offset_t *a, vcdinfo_offset_t *b);
+
+ /**
+ \fn vcdinf_pld_get_next_offset(const PsdPlayListDescriptor *pld);
+ \brief Get next offset for a given PSD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if pld has no
+ "next" entry or pld is NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_pld_get_next_offset(const PsdPlayListDescriptor_t *pld);
+
+ /*!
+ Get the LID from a given play-list descriptor.
+ VCDINFO_REJECTED_MASK is returned on error or pld is NULL.
+ */
+ uint16_t vcdinf_pld_get_lid(const PsdPlayListDescriptor_t *pld);
+
+ /*!
+ Return the playlist item i in d.
+ */
+ uint16_t vcdinf_pld_get_play_item(const PsdPlayListDescriptor_t *pld,
+ unsigned int i);
+
+ /**
+ \fn vcdinf_pld_get_prev_offset(const PsdSelectionListDescriptor *pld);
+ \brief Get prev offset for a given PSD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if pld has no
+ "prev" entry or pld is NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_pld_get_prev_offset(const PsdPlayListDescriptor_t *pld);
+
+ /**
+ \fn vcdinf_pld_get_return_offset(const PsdPlayListDescriptor *pld);
+ \brief Get return offset for a given PLD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if pld has no
+ "return" entry or pld is NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_pld_get_return_offset(const PsdPlayListDescriptor_t *pld);
+
+ /*!
+ Return number of items in LIDs. Return 0 if error or not found.
+ */
+ int vcdinf_pld_get_noi (const PsdPlayListDescriptor_t *pld);
+
+ /**
+ * \fn vcdinfo_psd_get_default_offset(const PsdSelectionListDescriptor *psd);
+ * \brief Get next offset for a given PSD selector descriptor.
+ * \return VCDINFO_INVALID_OFFSET is returned on error or if psd is
+ * NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_psd_get_default_offset(const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ Get the item id for a given selection-list descriptor.
+ VCDINFO_REJECTED_MASK is returned on error or if psd is NULL.
+ */
+ uint16_t vcdinf_psd_get_itemid(const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ Get the LID from a given selection-list descriptor.
+ VCDINFO_REJECTED_MASK is returned on error or psd is NULL.
+ */
+ uint16_t vcdinf_psd_get_lid(const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ Get the LID rejected status for a given selection-list descriptor.
+ true is also returned d is NULL.
+ */
+ bool
+ vcdinf_psd_get_lid_rejected(const PsdSelectionListDescriptor_t *psd);
+
+ /**
+ \fn vcdinf_psd_get_next_offset(const PsdSelectionListDescriptor *psd);
+ \brief Get "next" offset for a given PSD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if psd has no
+ "next" entry or psd is NULL. Otherwise the LID offset is returned.
+ */
+ lid_t vcdinf_psd_get_next_offset(const PsdSelectionListDescriptor_t *psd);
+
+ /*!
+ \brief Get offset entry_num for a given PSD selector descriptor.
+ \param d PSD selector containing the entry_num we query
+ \param entry_num entry number that we want the LID offset for.
+ \return VCDINFO_INVALID_OFFSET is returned if d on error or d is
+ NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_psd_get_offset(const PsdSelectionListDescriptor_t *d,
+ unsigned int entry_num);
+ /**
+ \fn vcdinf_psd_get_prev_offset(const PsdPlayListDescriptor *psd);
+ \brief Get "prev" offset for a given PSD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if psd has no
+ "prev"
+ entry or psd is NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_psd_get_prev_offset(const PsdSelectionListDescriptor_t *psd);
+
+ /**
+ * \fn vcdinf_psd_get_return_offset(const PsdSelectionListDescriptor *psd);
+ * \brief Get "return" offset for a given PSD selector descriptor.
+ \return VCDINFO_INVALID_OFFSET is returned on error or if psd has no
+ "return" entry or psd is NULL. Otherwise the LID offset is returned.
+ */
+ uint16_t vcdinf_psd_get_return_offset(const PsdSelectionListDescriptor_t *psd);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /*_VCD_INF_H*/