Funkcje | |
| const char * | gg_libgadu_version () |
| Zwraca wersję biblioteki. | |
| uint32_t | gg_fix32 (uint32_t x) |
| Zamienia kolejność bajtów w 32-bitowym słowie. | |
| uint16_t | gg_fix16 (uint16_t x) |
| Zamienia kolejność bajtów w 16-bitowym słowie. | |
| unsigned int | gg_login_hash (const unsigned char *password, unsigned int seed) |
| int | gg_resolve (int *fd, int *pid, const char *hostname) |
| int | gg_read (struct gg_session *sess, char *buf, int length) |
| int | gg_write (struct gg_session *sess, const char *buf, int length) |
| void * | gg_recv_packet (struct gg_session *sess) |
| int | gg_send_packet (struct gg_session *sess, int type,...) |
| static int | gg_session_callback (struct gg_session *sess) |
| struct gg_session * | gg_login (const struct gg_login_params *p) |
| Łączy się z serwerem Gadu-Gadu. | |
| int | gg_ping (struct gg_session *sess) |
| Wysyła do serwera pakiet utrzymania połączenia. | |
| void | gg_logoff (struct gg_session *sess) |
| Kończy połączenie z serwerem. | |
| void | gg_free_session (struct gg_session *sess) |
| Zwalnia zasoby używane przez połączenie z serwerem. | |
| int | gg_change_status (struct gg_session *sess, int status) |
| Zmienia status użytkownika. | |
| int | gg_change_status_descr (struct gg_session *sess, int status, const char *descr) |
| Zmienia status użytkownika na status opisowy. | |
| int | gg_change_status_descr_time (struct gg_session *sess, int status, const char *descr, int time) |
| Zmienia status użytkownika na status opisowy z podanym czasem powrotu. | |
| int | gg_send_message (struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message) |
| Wysyła wiadomość do użytkownika. | |
| int | gg_send_message_richtext (struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message, const unsigned char *format, int formatlen) |
| Wysyła wiadomość formatowaną. | |
| int | gg_send_message_confer (struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, const unsigned char *message) |
| Wysyła wiadomość w ramach konferencji. | |
| int | gg_send_message_confer_richtext (struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, const unsigned char *message, const unsigned char *format, int formatlen) |
| Wysyła wiadomość formatowaną w ramach konferencji. | |
| int | gg_send_message_ctcp (struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message, int message_len) |
| Wysyła wiadomość binarną przeznaczoną dla klienta. | |
| int | gg_image_request (struct gg_session *sess, uin_t recipient, int size, uint32_t crc32) |
| Wysyła żądanie obrazka o podanych parametrach. | |
| int | gg_image_reply (struct gg_session *sess, uin_t recipient, const char *filename, const char *image, int size) |
| Wysyła żądany obrazek. | |
| int | gg_notify_ex (struct gg_session *sess, uin_t *userlist, char *types, int count) |
| Wysyła do serwera listę kontaktów. | |
| int | gg_notify (struct gg_session *sess, uin_t *userlist, int count) |
| Wysyła do serwera listę kontaktów. | |
| int | gg_add_notify_ex (struct gg_session *sess, uin_t uin, char type) |
| Dodaje kontakt. | |
| int | gg_add_notify (struct gg_session *sess, uin_t uin) |
| Dodaje kontakt. | |
| int | gg_remove_notify_ex (struct gg_session *sess, uin_t uin, char type) |
| Usuwa kontakt. | |
| int | gg_remove_notify (struct gg_session *sess, uin_t uin) |
| Usuwa kontakt. | |
| int | gg_userlist_request (struct gg_session *sess, char type, const char *request) |
| Wysyła do serwera zapytanie dotyczące listy kontaktów. | |
Zmienne | |
| int | gg_debug_level = 0 |
| Poziom rejestracji informacji odpluskwiających. | |
| void(* | gg_debug_handler )(int level, const char *format, va_list ap) = NULL |
| Funkcja, do której są przekazywane informacje odpluskwiające. | |
| void(* | gg_debug_handler_session )(struct gg_session *sess, int level, const char *format, va_list ap) = NULL |
| Funkcja, do której są przekazywane informacje odpluskwiające. | |
| int | gg_dcc_port = 0 |
| Port gniazda nasłuchującego dla połączeń bezpośrednich. | |
| unsigned long | gg_dcc_ip = 0 |
| Adres IP gniazda nasłuchującego dla połączeń bezpośrednich. | |
| unsigned long | gg_local_ip = 0 |
| Adres lokalnego interfejsu IP, z którego wywoływane są wszystkie połączenia. | |
| int | gg_proxy_enabled = 0 |
| Flaga włączenia połączeń przez serwer pośredniczący. | |
| char * | gg_proxy_host = NULL |
| Adres serwera pośredniczącego. | |
| int | gg_proxy_port = 0 |
| Port serwera pośredniczącego. | |
| int | gg_proxy_http_only = 0 |
| Flaga używania serwera pośredniczącego jedynie dla usług HTTP. | |
| char * | gg_proxy_username = NULL |
| Nazwa użytkownika do autoryzacji serwera pośredniczącego. | |
| char * | gg_proxy_password = NULL |
| Hasło użytkownika do autoryzacji serwera pośredniczącego. | |
| const char* gg_libgadu_version | ( | void | ) |
Zwraca wersję biblioteki.
| unsigned int gg_login_hash | ( | const unsigned char * | password, | |
| unsigned int | seed | |||
| ) |
Tylko do użytku wewnętrznego.
Liczy skrót z hasła i ziarna.
| password | Hasło | |
| seed | Ziarno podane przez serwer |
| int gg_resolve | ( | int * | fd, | |
| int * | pid, | |||
| const char * | hostname | |||
| ) |
Tylko do użytku wewnętrznego.
Rozwiązuje nazwę serwera w osobnym procesie.
Połączenia asynchroniczne nie mogą blokować procesu w trakcie rozwiązywania nazwy serwera. W tym celu tworzony jest potok, nowy proces i dopiero w nim przeprowadzane jest rozwiązywanie nazwy. Deskryptor strony do odczytu zapisuje się w strukturze sieci i czeka na dane w postaci struktury in_addr. Jeśli nie znaleziono nazwy, zwracana jest INADDR_NONE.
Podczas kompilacji mógł zostać wybrany alternatywny sposób rozwiązanywania nazwy, za pomocą wątków. W takim wypadku będzie zdefiniowana dyrektywa preprocesora GG_CONFIG_HAVE_PTHREAD.
| fd | Wskaźnik na zmienną, gdzie zostanie umieszczony deskryptor potoku | |
| pid | Wskaźnik na zmienną, gdzie zostanie umieszczony identyfikator procesu potomnego | |
| hostname | Nazwa serwera do rozwiązania |
| int gg_read | ( | struct gg_session * | sess, | |
| char * | buf, | |||
| int | length | |||
| ) |
Tylko do użytku wewnętrznego.
Odbiera od serwera dane binarne.
Funkcja odbiera dane od serwera zajmując się TLS w razie konieczności.
| sess | Struktura sesji | |
| buf | Bufor na danymi | |
| length | Długość bufora |
read | int gg_write | ( | struct gg_session * | sess, | |
| const char * | buf, | |||
| int | length | |||
| ) |
Tylko do użytku wewnętrznego.
Wysyła do serwera dane binarne.
Funkcja wysyła dane do serwera zajmując się TLS w razie konieczności.
| sess | Struktura sesji | |
| buf | Bufor z danymi | |
| length | Długość bufora |
write | void* gg_recv_packet | ( | struct gg_session * | sess | ) |
Tylko do użytku wewnętrznego.
Odbiera pakiet od serwera.
Funkcja odczytuje nagłówek pakietu, a następnie jego zawartość i zwraca w zaalokowanym buforze.
Przy połączeniach asynchronicznych, funkcja może nie być w stanie skompletować całego pakietu -- w takim przypadku zwróci -1, a kodem błędu będzie EAGAIN.
| sess | Struktura sesji |
| int gg_send_packet | ( | struct gg_session * | sess, | |
| int | type, | |||
| ... | ||||
| ) |
Tylko do użytku wewnętrznego.
Wysyła pakiet do serwera.
Funkcja konstruuje pakiet do wysłania z dowolnej liczby fragmentów. Jeśli rozmiar pakietu jest za duży, by móc go wysłać za jednym razem, pozostała część zostanie zakolejkowana i wysłana, gdy będzie to możliwe.
| sess | Struktura sesji | |
| type | Rodzaj pakietu | |
| ... | Lista kolejnych części pakietu (wskaźnik na bufor i długość typu int) zakończona NULL |
| static int gg_session_callback | ( | struct gg_session * | sess | ) | [static] |
Tylko do użytku wewnętrznego.
Funkcja zwrotna sesji.
Pole callback struktury gg_session zawiera wskaźnik do tej funkcji. Wywołuje ona gg_watch_fd i zachowuje wynik w polu event.
| sess | Struktura sesji |
1.5.6