libgadu
1.11.2
|
Główny moduł biblioteki. Więcej...
Funkcje | |
const char * | gg_libgadu_version () |
Zwraca wersję biblioteki. | |
uint32_t | gg_fix32 (uint32_t x) |
uint16_t | gg_fix16 (uint16_t x) |
unsigned int | gg_login_hash (const unsigned char *password, unsigned int seed) |
int | gg_read (struct gg_session *sess, char *buf, int length) |
static int | gg_write_common (struct gg_session *sess, const 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_change_status_flags (struct gg_session *sess, int flags) |
Funkcja zmieniająca flagi statusu. | |
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. | |
int | gg_userlist100_request (struct gg_session *sess, char type, unsigned int version, char format_type, const char *request) |
Wysyła do serwera zapytanie dotyczące listy kontaktów (10.0). | |
int | gg_typing_notification (struct gg_session *sess, uin_t recipient, int length) |
Informuje rozmówcę o pisaniu wiadomości. | |
int | gg_multilogon_disconnect (struct gg_session *gs, gg_multilogon_id_t conn_id) |
Rozłącza inną sesję multilogowania. | |
int | gg_libgadu_check_feature (gg_libgadu_feature_t feature) |
Sprawdza czy biblioteka obsługuje daną funkcję. | |
Zmienne | |
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. |
Główny moduł biblioteki.
unsigned int gg_login_hash | ( | const unsigned char * | password, |
unsigned int | seed | ||
) |
Liczy skrót z hasła i ziarna.
password | Hasło |
seed | Ziarno podane przez serwer |
int gg_read | ( | struct gg_session * | sess, |
char * | buf, | ||
int | length | ||
) |
Odbiera od serwera dane binarne.
Funkcja odbiera dane od serwera zajmując się SSL/TLS w razie konieczności. Obsługuje EINTR, więc użytkownik nie musi się przejmować przerwanymi wywołaniami systemowymi.
sess | Struktura sesji |
buf | Bufor na danymi |
length | Długość bufora |
read
static int gg_write_common | ( | struct gg_session * | sess, |
const char * | buf, | ||
int | length | ||
) | [static] |
Wysyła do serwera dane binarne.
Funkcja wysyła dane do serwera zajmując się SSL/TLS w razie konieczności. Obsługuje EINTR, więc użytkownik nie musi się przejmować przerwanymi wywołaniami systemowymi.
sess | Struktura sesji |
buf | Bufor z danymi |
length | Długość bufora |
write
int gg_write | ( | struct gg_session * | sess, |
const char * | buf, | ||
int | length | ||
) |
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 | ) |
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, | ||
... | |||
) |
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] |
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 |