| 
    pidgin 2.15.0dev
    
   | 
 
A core representation of a file transfer. More...
#include <ft.h>

Data Fields | ||
| guint | ref | |
| The reference count.   | ||
| PurpleXferType | type | |
| The type of transfer.   | ||
| PurpleAccount * | account | |
| The account.   | ||
| char * | who | |
| The person on the other end of the transfer.   | ||
| char * | message | |
| A message sent with the request  | ||
| char * | filename | |
| The name sent over the network.   | ||
| char * | local_filename | |
| The name on the local hard drive.   | ||
| size_t | size | |
| The size of the file.   | ||
| FILE * | dest_fp | |
| The destination file pointer.   | ||
| char * | remote_ip | |
| The remote IP address.   | ||
| int | local_port | |
| The local port.   | ||
| int | remote_port | |
| The remote port.   | ||
| int | fd | |
| The socket file descriptor.   | ||
| int | watcher | |
| Watcher.   | ||
| size_t | bytes_sent | |
| The number of bytes sent.   | ||
| size_t | bytes_remaining | |
| The number of bytes remaining.   | ||
| time_t | start_time | |
| When the transfer of data began.   | ||
| time_t | end_time | |
| When the transfer of data ended.   | ||
| size_t | current_buffer_size | |
| This gradually increases for fast network connections.   | ||
| PurpleXferStatusType | status | |
| File Transfer's status.   | ||
| struct { | ||
| void(* init )(PurpleXfer *xfer) | ||
| void(* request_denied )(PurpleXfer *xfer) | ||
| void(* start )(PurpleXfer *xfer) | ||
| void(* end )(PurpleXfer *xfer) | ||
| void(* cancel_send )(PurpleXfer *xfer) | ||
| void(* cancel_recv )(PurpleXfer *xfer) | ||
|    gssize(*   read )(guchar **buffer, PurpleXfer  *xfer)  | ||
|    gssize(*   write )(const guchar *buffer, size_t  size, PurpleXfer *xfer)  | ||
|    void(*   ack )(PurpleXfer *xfer, const  guchar *buffer, size_t size)  | ||
| } | ops | |
| I/O operations, which should be set by the prpl using purple_xfer_set_init_fnc() and friends.   | ||
| PurpleXferUiOps * | ui_ops | |
| UI-specific operations.   | ||
| void * | ui_data | |
| UI-specific data.   | ||
| void * | data | |
| prpl-specific data.   | ||
| PurpleAccount* _PurpleXfer::account | 
| void(* _PurpleXfer::ack) (PurpleXfer *xfer, const guchar *buffer, size_t size) | 
| size_t _PurpleXfer::bytes_remaining | 
| void(* _PurpleXfer::cancel_recv) (PurpleXfer *xfer) | 
| void(* _PurpleXfer::cancel_send) (PurpleXfer *xfer) | 
| size_t _PurpleXfer::current_buffer_size | 
| void(* _PurpleXfer::end) (PurpleXfer *xfer) | 
| void(* _PurpleXfer::init) (PurpleXfer *xfer) | 
| char* _PurpleXfer::local_filename | 
| struct { ... } _PurpleXfer::ops | 
I/O operations, which should be set by the prpl using purple_xfer_set_init_fnc() and friends.
Setting init is mandatory; all others are optional.
| gssize(* _PurpleXfer::read) (guchar **buffer, PurpleXfer *xfer) | 
| void(* _PurpleXfer::request_denied) (PurpleXfer *xfer) | 
| void(* _PurpleXfer::start) (PurpleXfer *xfer) | 
| time_t _PurpleXfer::start_time | 
| PurpleXferStatusType _PurpleXfer::status | 
| PurpleXferType _PurpleXfer::type | 
| PurpleXferUiOps* _PurpleXfer::ui_ops | 
| char* _PurpleXfer::who | 
| gssize(* _PurpleXfer::write) (const guchar *buffer, size_t size, PurpleXfer *xfer) |