|
libgadu 1.11.0
|
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) |
| 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. | |
| void | gg_dcc7_free (struct gg_dcc7 *dcc) |
| Zwalnia zasoby używane przez połączenie bezpośrednie. | |
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 |
| 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 int gg_dcc7_postauth_fixup | ( | struct gg_dcc7 * | dcc | ) | [static] |
Ustawia odpowiednie stany wewnętrzne w zależności od rodzaju połączenia.
| dcc | Struktura połączenia |
1.7.3