// This file Copyright © 2007-2022 Mnemosyne LLC. // It may be used under GPLv2 (SPDX: GPL-2.0), GPLv3 (SPDX: GPL-3.0), // or any future license endorsed by Mnemosyne LLC. // License text can be found in the licenses/ folder. #pragma once #ifndef __TRANSMISSION__ #error only libtransmission should #include this header. #endif struct tr_torrent; /** * @addtogroup file_io File IO * @{ */ /** * Reads the block specified by the piece index, offset, and length. * @return 0 on success, or an errno value on failure. */ int tr_ioRead(struct tr_torrent* tor, tr_piece_index_t pieceIndex, uint32_t offset, uint32_t len, uint8_t* setme); int tr_ioPrefetch(tr_torrent* tor, tr_piece_index_t pieceIndex, uint32_t begin, uint32_t len); /** * Writes the block specified by the piece index, offset, and length. * @return 0 on success, or an errno value on failure. */ int tr_ioWrite(struct tr_torrent* tor, tr_piece_index_t pieceIndex, uint32_t offset, uint32_t len, uint8_t const* writeme); /** * @brief Test to see if the piece matches its metainfo's SHA1 checksum. */ bool tr_ioTestPiece(tr_torrent* tor, tr_piece_index_t piece); /* @} */