source: trunk/libtransmission/inout.h @ 13625

Last change on this file since 13625 was 13625, checked in by jordan, 9 years ago

Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk).

  • Property svn:keywords set to Date Rev Author Id
File size: 2.0 KB
RevLine 
[7632]1/*
[11709]2 * This file Copyright (C) Mnemosyne LLC
[1]3 *
[11599]4 * This file is licensed by the GPL version 2. Works owned by the
[13625]5 * Transmission project are granted a special exemption to clause 2 (b)
[8903]6 * so that the bulk of its code can remain under the MIT license.
[7632]7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
[260]9 *
[7632]10 * $Id: inout.h 13625 2012-12-05 17:29:46Z jordan $
11 */
[1]12
[7151]13#ifndef __TRANSMISSION__
[7632]14 #error only libtransmission should #include this header.
[7151]15#endif
16
[1]17#ifndef TR_IO_H
18#define TR_IO_H 1
19
[3105]20struct tr_torrent;
[1]21
[4734]22/**
[8561]23 * @addtogroup file_io File IO
24 * @{
25 */
26
27/**
[4734]28 * Reads the block specified by the piece index, offset, and length.
[6842]29 * @return 0 on success, or an errno value on failure.
[4734]30 */
[13625]31int tr_ioRead (struct tr_torrent   * tor,
[8912]32               tr_piece_index_t      pieceIndex,
33               uint32_t              offset,
34               uint32_t              len,
[13625]35               uint8_t             * setme);
[1356]36
[13625]37int tr_ioPrefetch (tr_torrent       * tor,
[12545]38                   tr_piece_index_t   pieceIndex,
39                   uint32_t           begin,
[13625]40                   uint32_t           len);
[9495]41
[4734]42/**
43 * Writes the block specified by the piece index, offset, and length.
[6842]44 * @return 0 on success, or an errno value on failure.
[4734]45 */
[13625]46int tr_ioWrite (struct tr_torrent  * tor,
[8912]47                tr_piece_index_t     pieceIndex,
48                uint32_t             offset,
49                uint32_t             len,
[13625]50                const uint8_t      * writeme);
[4734]51
[3105]52/**
[7559]53 * @brief Test to see if the piece matches its metainfo's SHA1 checksum.
[5042]54 */
[13625]55bool tr_ioTestPiece (tr_torrent       * tor,
56                     tr_piece_index_t   piece);
[1]57
[3105]58
[6073]59/**
60 * Converts a piece index + offset into a file index + offset.
61 */
[13625]62void tr_ioFindFileLocation (const tr_torrent  * tor,
[12076]63                             tr_piece_index_t   pieceIndex,
64                             uint32_t           pieceOffset,
65                             tr_file_index_t  * fileIndex,
[13625]66                             uint64_t         * fileOffset);
[6073]67
68
[8561]69/* @} */
[1]70#endif
Note: See TracBrowser for help on using the repository browser.