libgadu  1.11.4
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
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)
 
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_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_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.
 

Opis szczegółowy

Główny moduł biblioteki.

Dokumentacja funkcji

unsigned int gg_login_hash ( const unsigned char *  password,
unsigned int  seed 
)

Liczy skrót z hasła i ziarna.

Parametry
passwordHasło
seedZiarno podane przez serwer
Zwraca
Wartość skrótu
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.

Parametry
sessStruktura sesji
bufBufor na danymi
lengthDługość bufora
Zwraca
To samo co funkcja systemowa 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.

Nota
Funkcja nie zajmuje się buforowaniem wysyłanych danych (patrz gg_write()).
Parametry
sessStruktura sesji
bufBufor z danymi
lengthDługość bufora
Zwraca
To samo co funkcja systemowa 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.

Parametry
sessStruktura sesji
bufBufor z danymi
lengthDługość bufora
Zwraca
To samo co funkcja systemowa 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.

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

Parametry
sessStruktura sesji
typeRodzaj 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

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
sessStruktura sesji
Zwraca
0 jeśli się powiodło, -1 w przypadku błędu