|
libgadu
1.12.2
|
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. Więcej... | |
| 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. Więcej... | |
| int | gg_dcc7_reject (struct gg_dcc7 *dcc, int reason) |
| Odrzuca próbę przesłania pliku. Więcej... | |
| 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) |
| int | gg_dcc7_handle_reject (struct gg_session *sess, struct gg_event *e, const void *payload, int len) |
| int | gg_dcc7_handle_new (struct gg_session *sess, struct gg_event *e, const void *payload, int len) |
| static int | gg_dcc7_postauth_fixup (struct gg_dcc7 *dcc) |
| struct gg_event * | gg_dcc7_watch_fd (struct gg_dcc7 *dcc) |
| Funkcja wywoływana po zaobserwowaniu zmian na deskryptorze połączenia. Więcej... | |
| void | gg_dcc7_free (struct gg_dcc7 *dcc) |
| Zwalnia zasoby używane przez połączenie bezpośrednie. Więcej... | |
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 |
Dodaje połączenie bezpośrednie do sesji.
| sess | Struktura sesji |
| dcc | Struktura połączenia |
|
static |
Usuwa połączenie bezpośrednie z sesji.
| sess | Struktura sesji |
| dcc | Struktura połączenia |
|
static |
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 |
Rozpoczyna proces pobierania adresu
| dcc | Struktura połączenia |
|
static |
Nawiązuje połączenie bezpośrednie
| dcc | Struktura połączenia |
|
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 |
Tworzy gniazdo nasłuchujące i wysyła jego parametry
| dcc | Struktura połączenia |
|
static |
Odwraca połączenie po nieudanym connect()
| dcc | Struktura połączenia |
|
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 |
| int gg_dcc7_handle_reject | ( | struct gg_session * | sess, |
| struct gg_event * | e, | ||
| const void * | payload, | ||
| int | len | ||
| ) |
Obsługuje pakiet odrzucenia połączenia bezpośredniego.
| sess | Struktura sesji |
| e | Struktura zdarzenia |
| payload | Treść pakietu |
| len | Długość pakietu |
| int gg_dcc7_handle_new | ( | struct gg_session * | sess, |
| struct gg_event * | e, | ||
| const void * | payload, | ||
| int | len | ||
| ) |
Obsługuje pakiet nowego połączenia bezpośredniego.
| sess | Struktura sesji |
| e | Struktura zdarzenia |
| payload | Treść pakietu |
| len | Długość pakietu |
|
static |
Ustawia odpowiednie stany wewnętrzne w zależności od rodzaju połączenia.
| dcc | Struktura połączenia |
1.8.6