aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/libdiscid-0.6.2/src/unix.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/external_dependencies/libdiscid-0.6.2/src/unix.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/external_dependencies/libdiscid-0.6.2/src/unix.h')
-rw-r--r--Src/external_dependencies/libdiscid-0.6.2/src/unix.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/Src/external_dependencies/libdiscid-0.6.2/src/unix.h b/Src/external_dependencies/libdiscid-0.6.2/src/unix.h
new file mode 100644
index 00000000..b6a059fc
--- /dev/null
+++ b/Src/external_dependencies/libdiscid-0.6.2/src/unix.h
@@ -0,0 +1,103 @@
+/* --------------------------------------------------------------------------
+
+ MusicBrainz -- The Internet music metadatabase
+
+ Copyright (C) 2013 Johannes Dewender
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+--------------------------------------------------------------------------- */
+
+#include "discid/discid_private.h"
+
+
+/*
+ * required functions
+ * ------------------
+ */
+
+/*
+ * Read the TOC header from disc
+ *
+ * THIS FUNCTION HAS TO BE IMPLEMENTED FOR THE PLATFORM
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_read_toc_header(int fd, mb_disc_toc *toc);
+
+/*
+ * Read a TOC entry for a certain track from disc
+ *
+ * THIS FUNCTION HAS TO BE IMPLEMENTED FOR THE PLATFORM
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_read_toc_entry(int fd, int track_num,
+ mb_disc_toc_track *track);
+
+/*
+ * Read the MCN from the disc
+ *
+ * THIS FUNCTION HAS TO BE IMPLEMENTED FOR THE PLATFORM
+ */
+LIBDISCID_INTERNAL void mb_disc_unix_read_mcn(int fd, mb_disc_private *disc);
+
+/*
+ * Read the ISRC for a certain track from disc
+ *
+ * THIS FUNCTION HAS TO BE IMPLEMENTED FOR THE PLATFORM
+ */
+LIBDISCID_INTERNAL void mb_disc_unix_read_isrc(int fd, mb_disc_private *disc,
+ int track_num);
+
+
+/*
+ * provided functions
+ * ------------------
+ */
+
+/*
+ * This function is implemented in unix.c and can be used
+ * for most platforms to implement mb_disc_read_unportable
+ * after the above functions are implemented on the platform.
+ * Returns 1 on success and 0 on failure.
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_read(mb_disc_private *disc,
+ const char *device, unsigned int features);
+
+/*
+ * This function is implemented in unix.c and can be used
+ * after the above functions are implemented on the platform.
+ * This uses mb_disc_unix_read_toc_* and adds some error checking.
+ * Returns 1 on success and 0 on failure.
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_read_toc(int fd, mb_disc_private *disc,
+ mb_disc_toc *toc);
+
+/*
+ * utility function to find an existing device from a candidate list
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_exists(const char *device);
+
+/*
+ * utility function to find an existing device from a candidate list
+ */
+LIBDISCID_INTERNAL char *mb_disc_unix_find_device(char *candidates[],
+ int num_candidates);
+
+/*
+ * utility function to try opening the device with open()
+ * returns a non-negative file descriptor on success.
+ * On failure a negative integer is returned and error_msg filled
+ * with an appropriate string.
+ */
+LIBDISCID_INTERNAL int mb_disc_unix_open(mb_disc_private *disc,
+ const char *device);