libgadu  1.12.2
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

static void gg_compat_message_sent (struct gg_session *sess, int seq, size_t recipients_count, uin_t *recipients)
 
static void gg_compat_message_cleanup (struct gg_session *sess)
 
const char * gg_libgadu_version (void)
 Zwraca wersję biblioteki. Więcej...
 
void * gg_new0 (size_t size)
 
int gg_required_proto (struct gg_session *gs, int protocol_version)
 
int gg_get_dummy_fd (struct gg_session *sess)
 
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_close (struct gg_session *sess)
 
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. Więcej...
 
int gg_ping (struct gg_session *sess)
 Wysyła do serwera pakiet utrzymania połączenia. Więcej...
 
void gg_logoff (struct gg_session *sess)
 Kończy połączenie z serwerem. Więcej...
 
void gg_free_session (struct gg_session *sess)
 Zwalnia zasoby używane przez połączenie z serwerem. Więcej...
 
int gg_change_status (struct gg_session *sess, int status)
 Zmienia status użytkownika. Więcej...
 
int gg_change_status_descr (struct gg_session *sess, int status, const char *descr)
 Zmienia status użytkownika na status opisowy. Więcej...
 
int gg_change_status_descr_time (struct gg_session *sess, int status, const char *descr, int ts)
 Zmienia status użytkownika na status opisowy z podanym czasem powrotu. Więcej...
 
int gg_change_status_flags (struct gg_session *sess, int flags)
 Funkcja zmieniająca flagi statusu. Więcej...
 
int gg_send_message (struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message)
 Wysyła wiadomość do użytkownika. Więcej...
 
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ą. Więcej...
 
int gg_send_message_html (struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *html_message)
 Wysyła formatowaną wiadomość HTML. Więcej...
 
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. Więcej...
 
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. Więcej...
 
int gg_send_message_confer_html (struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, const unsigned char *html_message)
 Wysyła formatowaną wiadomość HTML w ramach konferencji. Więcej...
 
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. Więcej...
 
int gg_image_request (struct gg_session *sess, uin_t recipient, int size, uint32_t crc32)
 Wysyła żądanie obrazka o podanych parametrach. Więcej...
 
int gg_image_reply (struct gg_session *sess, uin_t recipient, const char *filename, const char *image, int size)
 Wysyła żądany obrazek. Więcej...
 
void gg_image_sendout (struct gg_session *sess)
 
static int gg_notify105_ex (struct gg_session *sess, uin_t *userlist, char *types, int count)
 
int gg_notify_ex (struct gg_session *sess, uin_t *userlist, char *types, int count)
 Wysyła do serwera listę kontaktów. Więcej...
 
int gg_notify (struct gg_session *sess, uin_t *userlist, int count)
 Wysyła do serwera listę kontaktów. Więcej...
 
int gg_add_notify_ex (struct gg_session *sess, uin_t uin, char type)
 Dodaje kontakt. Więcej...
 
int gg_add_notify (struct gg_session *sess, uin_t uin)
 Dodaje kontakt. Więcej...
 
int gg_remove_notify_ex (struct gg_session *sess, uin_t uin, char type)
 Usuwa kontakt. Więcej...
 
int gg_remove_notify (struct gg_session *sess, uin_t uin)
 Usuwa kontakt. Więcej...
 
int gg_userlist_request (struct gg_session *sess, char type, const char *request)
 Wysyła do serwera zapytanie dotyczące listy kontaktów. Więcej...
 
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). Więcej...
 
int gg_typing_notification (struct gg_session *sess, uin_t recipient, int length)
 Informuje rozmówcę o pisaniu wiadomości. Więcej...
 
int gg_multilogon_disconnect (struct gg_session *gs, gg_multilogon_id_t conn_id)
 Rozłącza inną sesję multilogowania. Więcej...
 
int gg_chat_create (struct gg_session *gs)
 Tworzy nową konferencję (11.0). Więcej...
 
int gg_chat_invite (struct gg_session *gs, uint64_t id, uin_t *participants, unsigned int participants_count)
 Zaprasza nowych użytkowników do konferencji (11.0). Więcej...
 
int gg_chat_leave (struct gg_session *gs, uint64_t id)
 Opuszcza konferencję (11.0). Więcej...
 
int gg_chat_send_message (struct gg_session *gs, uint64_t id, const char *message, int is_html)
 Wysyła wiadomość w ramach konferencji (11.0). Więcej...
 
int gg_libgadu_check_feature (gg_libgadu_feature_t feature)
 Sprawdza czy biblioteka obsługuje daną funkcję. Więcej...
 
static void gg_socket_manager_error (struct gg_session *sess, enum gg_failure_t failure)
 
int gg_compat_feature_is_enabled (struct gg_session *sess, gg_compat_feature_t feature)
 
static gg_msg_list_tgg_compat_find_sent_message (struct gg_session *sess, int seq, int remove)
 
void gg_compat_message_ack (struct gg_session *sess, int seq)
 
int gg_socket_manager_connected (void *handle, void *priv, int fd)
 Odbiera nowo utworzone gniazdo TCP/TLS. Więcej...
 

Zmienne

int gg_dcc_port = 0
 Port gniazda nasłuchującego dla połączeń bezpośrednich. Więcej...
 
unsigned long gg_dcc_ip = 0
 Adres IP gniazda nasłuchującego dla połączeń bezpośrednich. Więcej...
 
unsigned long gg_local_ip = 0
 Adres lokalnego interfejsu IP, z którego wywoływane są wszystkie połączenia. Więcej...
 
int gg_proxy_enabled = 0
 Flaga włączenia połączeń przez serwer pośredniczący. Więcej...
 
char * gg_proxy_host = NULL
 Adres serwera pośredniczącego. Więcej...
 
int gg_proxy_port = 0
 Port serwera pośredniczącego. Więcej...
 
int gg_proxy_http_only = 0
 Flaga używania serwera pośredniczącego jedynie dla usług HTTP. Więcej...
 
char * gg_proxy_username = NULL
 Nazwa użytkownika do autoryzacji serwera pośredniczącego. Więcej...
 
char * gg_proxy_password = NULL
 Hasło użytkownika do autoryzacji serwera pośredniczącego. Więcej...
 

Opis szczegółowy

Główny moduł biblioteki.

Dokumentacja funkcji

static void gg_compat_message_sent ( struct gg_session sess,
int  seq,
size_t  recipients_count,
uin_t recipients 
)
static
static void gg_compat_message_cleanup ( struct gg_session sess)
static
void* gg_new0 ( size_t  size)
int gg_required_proto ( struct gg_session gs,
int  protocol_version 
)
int gg_get_dummy_fd ( struct gg_session sess)
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_close ( struct gg_session sess)
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 NULL, 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
void gg_image_sendout ( struct gg_session sess)
static int gg_notify105_ex ( struct gg_session sess,
uin_t userlist,
char *  types,
int  count 
)
static
static void gg_socket_manager_error ( struct gg_session sess,
enum gg_failure_t  failure 
)
static
int gg_compat_feature_is_enabled ( struct gg_session sess,
gg_compat_feature_t  feature 
)
static gg_msg_list_t* gg_compat_find_sent_message ( struct gg_session sess,
int  seq,
int  remove 
)
static
void gg_compat_message_ack ( struct gg_session sess,
int  seq 
)