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) |
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. | |
static void | gg_append (char *dst, int *pos, const void *src, int len) |
static int | gg_convert_to_html (char *dst, const char *utf_msg, const unsigned char *format, int format_len) |
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. |
Główny moduł biblioteki.
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_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 |
static void gg_append | ( | char * | dst, | |
int * | pos, | |||
const void * | src, | |||
int | len | |||
) | [static] |
Tylko do użytku wewnętrznego.
Dodaje tekst na koniec bufora.
dst | Wskaźnik na bufor roboczy | |
pos | Wskaźnik na aktualne położenie w buforze roboczym | |
src | Dodawany tekst | |
len | Długość dodawanego tekstu |
static int gg_convert_to_html | ( | char * | dst, | |
const char * | utf_msg, | |||
const unsigned char * | format, | |||
int | format_len | |||
) | [static] |
Tylko do użytku wewnętrznego.
Zamienia tekst z formatowaniem Gadu-Gadu na HTML.
dst | Bufor wynikowy (może być NULL ) | |
utf_msg | Tekst źródłowy | |
format | Atrybuty tekstu źródłowego | |
format_len | Długość bloku atrybutów tekstu źródłowego |
\0
na końcu bufora wynikowego.\0
(nawet jeśli dst
to NULL
).