source: trunk/libtransmission/peer-msgs.h @ 10800

Last change on this file since 10800 was 10800, checked in by charles, 12 years ago

(trunk) #3256 "libtransmission/publish.[ch] should be replaced" -- apply publish.diff for 2.10

  • Property svn:keywords set to Date Rev Author Id
File size: 1.8 KB
Line 
1/*
2 * This file Copyright (C) 2007-2010 Mnemosyne LLC
3 *
4 * This file is licensed by the GPL version 2.  Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: peer-msgs.h 10800 2010-06-19 14:33:10Z charles $
11 */
12
13#ifndef __TRANSMISSION__
14#error only libtransmission should #include this header.
15#endif
16
17#ifndef TR_PEER_MSGS_H
18#define TR_PEER_MSGS_H
19
20#include <inttypes.h>
21#include "peer-common.h"
22
23struct tr_torrent;
24struct tr_peer;
25struct tr_bitfield;
26
27/**
28 * @addtogroup peers Peers
29 * @{
30 */
31
32typedef struct tr_peermsgs tr_peermsgs;
33
34tr_peermsgs* tr_peerMsgsNew( struct tr_torrent    * torrent,
35                             struct tr_peer       * peer,
36                             tr_peer_callback     * callback,
37                             void                 * callback_data );
38
39void         tr_peerMsgsSetChoke( tr_peermsgs *, int doChoke );
40
41int          tr_peerMsgsIsReadingBlock( const tr_peermsgs * msgs, tr_block_index_t block );
42
43void         tr_peerMsgsSetInterested( tr_peermsgs *, int isInterested );
44
45void         tr_peerMsgsHave( tr_peermsgs * msgs,
46                              uint32_t      pieceIndex );
47
48void         tr_peerMsgsPulse( tr_peermsgs * msgs );
49
50void         tr_peerMsgsCancel( tr_peermsgs * msgs,
51                                tr_block_index_t block );
52
53void         tr_peerMsgsFree( tr_peermsgs* );
54
55size_t       tr_generateAllowedSet( tr_piece_index_t  * setmePieces,
56                                    size_t              desiredSetSize,
57                                    size_t              pieceCount,
58                                    const uint8_t     * infohash,
59                                    const tr_address  * addr );
60
61
62/* @} */
63#endif
Note: See TracBrowser for help on using the repository browser.