libgadu  1.12.2
Funkcje | Zmienne
Dokumentacja pliku libgadu.c

Główny moduł biblioteki. Więcej...

Wykres zależności załączania dla libgadu.c:

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

◆ gg_compat_message_sent()

static void gg_compat_message_sent ( struct gg_session sess,
int  seq,
size_t  recipients_count,
uin_t recipients 
)
static

◆ gg_compat_message_cleanup()

static void gg_compat_message_cleanup ( struct gg_session sess)
static

◆ gg_new0()

void* gg_new0 ( size_t  size)

◆ gg_required_proto()

int gg_required_proto ( struct gg_session gs,
int  protocol_version 
)

◆ gg_get_dummy_fd()

int gg_get_dummy_fd ( struct gg_session sess)

◆ gg_login_hash()

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

◆ gg_read()

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

◆ gg_write_common()

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

◆ gg_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

◆ gg_close()

void gg_close ( struct gg_session sess)

◆ gg_recv_packet()

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

◆ gg_send_packet()

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

◆ gg_session_callback()

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

◆ gg_image_sendout()

void gg_image_sendout ( struct gg_session sess)

◆ gg_notify105_ex()

static int gg_notify105_ex ( struct gg_session sess,
uin_t userlist,
char *  types,
int  count 
)
static

◆ gg_socket_manager_error()

static void gg_socket_manager_error ( struct gg_session sess,
enum gg_failure_t  failure 
)
static

◆ gg_compat_feature_is_enabled()

int gg_compat_feature_is_enabled ( struct gg_session sess,
gg_compat_feature_t  feature 
)

◆ gg_compat_find_sent_message()

static gg_msg_list_t* gg_compat_find_sent_message ( struct gg_session sess,
int  seq,
int  remove 
)
static

◆ gg_compat_message_ack()

void gg_compat_message_ack ( struct gg_session sess,
int  seq 
)