|
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) |