Funkcje | Zmienne

Dokumentacja pliku libgadu.c

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_sessiongg_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 *src, 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.

Opis szczegółowy

Główny moduł biblioteki.


Dokumentacja funkcji

const char* gg_libgadu_version ( void   ) 

Zwraca wersję biblioteki.

Zwraca:
Wskaźnik na statyczny bufor z 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.

Parametry:
password Hasło
seed Ziarno podane przez serwer
Zwraca:
Wartość skrótu
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.

Parametry:
sess Struktura sesji
buf Bufor na danymi
length Długość bufora
Zwraca:
To samo co funkcja systemowa 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.

Parametry:
sess Struktura sesji
buf Bufor z danymi
length Długość bufora
Zwraca:
To samo co funkcja systemowa 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.

Parametry:
sess Struktura sesji
Zwraca:
Wskaźnik do zaalokowanego bufora
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.

Parametry:
sess Struktura sesji
type Rodzaj pakietu
... Lista kolejnych części pakietu (wskaźnik na bufor i długość typu int) zakończona NULL
Zwraca:
0 jeśli się powiodło, -1 w przypadku błędu
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.

Nota:
Korzystanie z tej funkcjonalności nie jest już zalecane.
Parametry:
sess Struktura sesji
Zwraca:
0 jeśli się powiodło, -1 w przypadku błędu
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.

Parametry:
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 *  src,
const unsigned char *  format,
int  format_len 
) [static]

Tylko do użytku wewnętrznego.

Zamienia tekst z formatowaniem Gadu-Gadu na HTML.

Parametry:
dst Bufor wynikowy (może być NULL)
src Tekst źródłowy w UTF-8
format Atrybuty tekstu źródłowego
format_len Długość bloku atrybutów tekstu źródłowego
Nota:
Wynikowy tekst nie jest idealnym kodem HTML, ponieważ ma jak dokładniej odzwierciedlać to, co wygenerowałby oryginalny klient.
Dokleja \0 na końcu bufora wynikowego.
Zwraca:
Długość tekstu wynikowego bez \0 (nawet jeśli dst to NULL).
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje