libgadu
1.12.1
|
Obsługa połączeń bezpośrednich od wersji Gadu-Gadu 7.x. Więcej...
Definicje | |
#define | gg_debug_dcc(dcc, level, fmt...) gg_debug_session(((dcc) != NULL) ? (dcc)->sess : NULL, level, fmt) |
#define | gg_debug_dump_dcc(dcc, level, buf, len) gg_debug_dump(((dcc) != NULL) ? (dcc)->sess : NULL, level, buf, len) |
Funkcje | |
static int | gg_dcc7_session_add (struct gg_session *sess, struct gg_dcc7 *dcc) |
static int | gg_dcc7_session_remove (struct gg_session *sess, struct gg_dcc7 *dcc) |
static struct gg_dcc7 * | gg_dcc7_session_find (struct gg_session *sess, gg_dcc7_id_t id, uin_t uin) |
static int | gg_dcc7_get_relay_addr (struct gg_dcc7 *dcc) |
static int | gg_dcc7_connect (struct gg_dcc7 *dcc) |
static int | gg_dcc7_listen (struct gg_dcc7 *dcc, uint32_t addr, uint16_t port) |
static int | gg_dcc7_listen_and_send_info (struct gg_dcc7 *dcc) |
static int | gg_dcc7_reverse_connect (struct gg_dcc7 *dcc) |
static int | gg_dcc7_request_id (struct gg_session *sess, uint32_t type) |
static struct gg_dcc7 * | gg_dcc7_send_file_common (struct gg_session *sess, uin_t rcpt, int fd, size_t size, const char *filename1250, const char *hash, int seek) |
struct gg_dcc7 * | gg_dcc7_send_file (struct gg_session *sess, uin_t rcpt, const char *filename, const char *filename1250, const char *hash) |
Rozpoczyna wysyłanie pliku o danej nazwie. | |
struct gg_dcc7 * | gg_dcc7_send_file_fd (struct gg_session *sess, uin_t rcpt, int fd, size_t size, const char *filename1250, const char *hash) |
int | gg_dcc7_accept (struct gg_dcc7 *dcc, unsigned int offset) |
Potwierdza chęć odebrania pliku. | |
int | gg_dcc7_reject (struct gg_dcc7 *dcc, int reason) |
Odrzuca próbę przesłania pliku. | |
int | gg_dcc7_handle_id (struct gg_session *sess, struct gg_event *e, const void *payload, int len) |
int | gg_dcc7_handle_accept (struct gg_session *sess, struct gg_event *e, const void *payload, int len) |
int | gg_dcc7_handle_info (struct gg_session *sess, struct gg_event *e, const void *payload, int len) |
Obsługa połączeń bezpośrednich od wersji Gadu-Gadu 7.x.
#define gg_debug_dcc | ( | dcc, | |
level, | |||
fmt... | |||
) | gg_debug_session(((dcc) != NULL) ? (dcc)->sess : NULL, level, fmt) |
#define gg_debug_dump_dcc | ( | dcc, | |
level, | |||
buf, | |||
len | |||
) | gg_debug_dump(((dcc) != NULL) ? (dcc)->sess : NULL, level, buf, len) |
static int gg_dcc7_session_add | ( | struct gg_session * | sess, |
struct gg_dcc7 * | dcc | ||
) | [static] |
Dodaje połączenie bezpośrednie do sesji.
sess | Struktura sesji |
dcc | Struktura połączenia |
static int gg_dcc7_session_remove | ( | struct gg_session * | sess, |
struct gg_dcc7 * | dcc | ||
) | [static] |
Usuwa połączenie bezpośrednie z sesji.
sess | Struktura sesji |
dcc | Struktura połączenia |
static struct gg_dcc7* gg_dcc7_session_find | ( | struct gg_session * | sess, |
gg_dcc7_id_t | id, | ||
uin_t | uin | ||
) | [static, read] |
Zwraca strukturę połączenia o danym identyfikatorze.
sess | Struktura sesji |
id | Identyfikator połączenia |
uin | Numer nadawcy lub odbiorcy |
NULL
jeśli nie znaleziono static int gg_dcc7_get_relay_addr | ( | struct gg_dcc7 * | dcc | ) | [static] |
Rozpoczyna proces pobierania adresu
dcc | Struktura połączenia |
static int gg_dcc7_connect | ( | struct gg_dcc7 * | dcc | ) | [static] |
Nawiązuje połączenie bezpośrednie
dcc | Struktura połączenia |
static int gg_dcc7_listen | ( | struct gg_dcc7 * | dcc, |
uint32_t | addr, | ||
uint16_t | port | ||
) | [static] |
Tworzy gniazdo nasłuchujące dla połączenia bezpośredniego
dcc | Struktura połączenia |
addr | Preferowany adres (jeśli równy 0, nasłuchujemy na wszystkich interfejsach) |
port | Preferowany port (jeśli równy 0, nasłuchujemy na losowym) |
static int gg_dcc7_listen_and_send_info | ( | struct gg_dcc7 * | dcc | ) | [static] |
Tworzy gniazdo nasłuchujące i wysyła jego parametry
dcc | Struktura połączenia |
static int gg_dcc7_reverse_connect | ( | struct gg_dcc7 * | dcc | ) | [static] |
Odwraca połączenie po nieudanym connect()
dcc | Struktura połączenia |
static int gg_dcc7_request_id | ( | struct gg_session * | sess, |
uint32_t | type | ||
) | [static] |
Wysyła do serwera żądanie nadania identyfikatora sesji
sess | Struktura sesji |
type | Rodzaj połączenia (GG_DCC7_TYPE_FILE lub GG_DCC7_TYPE_VOICE ) |
int gg_dcc7_handle_id | ( | struct gg_session * | sess, |
struct gg_event * | e, | ||
const void * | payload, | ||
int | len | ||
) |
Obsługuje pakiet identyfikatora połączenia bezpośredniego.
sess | Struktura sesji |
e | Struktura zdarzenia |
payload | Treść pakietu |
len | Długość pakietu |
int gg_dcc7_handle_accept | ( | struct gg_session * | sess, |
struct gg_event * | e, | ||
const void * | payload, | ||
int | len | ||
) |
Obsługuje pakiet akceptacji połączenia bezpośredniego.
sess | Struktura sesji |
e | Struktura zdarzenia |
payload | Treść pakietu |
len | Długość pakietu |
int gg_dcc7_handle_info | ( | struct gg_session * | sess, |
struct gg_event * | e, | ||
const void * | payload, | ||
int | len | ||
) |
Obsługuje pakiet informacji o połączeniu bezpośrednim.
sess | Struktura sesji |
e | Struktura zdarzenia |
payload | Treść pakietu |
len | Długość pakietu |