libgadu 1.12.2

- Strona główna
- Dodatkowe strony
- Moduły
- Struktury Danych
- Pliki

- Lista plików
- Globalne

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_session * | gg_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_t * | gg_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

  password | Hasło
  seed | Ziarno 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

  sess | Struktura sesji
  buf | Bufor na danymi
  length | Dł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

  sess | Struktura sesji
  buf | Bufor z danymi
  length | Dł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

  sess | Struktura sesji
  buf | Bufor z danymi
  length | Dł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

  sess | Struktura 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

  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

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

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
| ) |  |