diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/external_dependencies/libdiscid-0.6.2/src/unix.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-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.h | 103 |
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); |