transmission/libtransmission/handshake.h

48 lines
1.6 KiB
C

/*
* This file Copyright (C) 2007-2008 Charles Kerr <charles@rebelbase.com>
*
* This file is licensed by the GPL version 2. Works owned by the
* Transmission project are granted a special exemption to clause 2(b)
* so that the bulk of its code can remain under the MIT license.
* This exemption does not extend to derived works not owned by
* the Transmission project.
*
* $Id$
*/
#ifndef __TRANSMISSION__
#error only libtransmission should #include this header.
#endif
#ifndef TR_HANDSHAKE_H
#define TR_HANDSHAKE_H
#include "transmission.h"
struct in_addr;
struct tr_peerIo;
typedef struct tr_handshake tr_handshake;
/* returns true on success, false on error */
typedef int ( *handshakeDoneCB )( struct tr_handshake * handshake,
struct tr_peerIo * io,
int isConnected,
const uint8_t * peerId,
void * userData );
tr_handshake * tr_handshakeNew( struct tr_peerIo * io,
tr_encryption_mode encryptionMode,
handshakeDoneCB doneCB,
void * doneUserData );
const struct in_addr * tr_handshakeGetAddr(
const struct tr_handshake * handshake,
uint16_t
* setme_port );
void tr_handshakeAbort( tr_handshake * handshake );
struct tr_peerIo* tr_handshakeGetIO( tr_handshake * handshake );
#endif