transmission: update from 2.13 to 2.22
[tomato.git] / release / src / router / transmission / libtransmission / rpcimpl.h
blobf0d2dfd38e0c4952a82e0d65cbb4816e02cbe87f
1 /*
2 * This file Copyright (C) Mnemosyne LLC
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.
10 * $Id: rpcimpl.h 11709 2011-01-19 13:48:47Z jordan $
13 #ifndef TR_RPC_H
14 #define TR_RPC_H
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
20 /***
21 **** RPC processing
22 ***/
24 struct tr_benc;
25 struct evbuffer;
27 /* FIXME(libevent2): make "response" an evbuffer and remove response_len */
28 typedef void( *tr_rpc_response_func )( tr_session * session,
29 struct evbuffer * response,
30 void * user_data );
31 /* http://www.json.org/ */
32 void tr_rpc_request_exec_json( tr_session * session,
33 const void * request_json,
34 int request_len,
35 tr_rpc_response_func callback,
36 void * callback_user_data );
38 /* see the RPC spec's "Request URI Notation" section */
39 void tr_rpc_request_exec_uri( tr_session * session,
40 const void * request_uri,
41 int request_len,
42 tr_rpc_response_func callback,
43 void * callback_user_data );
45 void tr_rpc_parse_list_str( struct tr_benc * setme,
46 const char * list_str,
47 int list_str_len );
49 #ifdef __cplusplus
51 #endif
53 #endif /* TR_RPC_H */