gg_debug
Działanie:
Wyświetla komunikat o danym poziomie, o ile użytkownik sobie tego życzy.
Deklaracja:
void gg_debug(int level, const char *format, ...);
Parametry:
Zwracana wartość:
Brak.
gg_vsaprintf
Działanie:
Robi dokładnie to samo, co vsprintf(), tyle że alokuje sobie wcześniej miejsce na dane. Powinno działać na tych maszynach, które mają funkcję vsnprintf() zgodną z C99, jak i na wcześniejszych.
Deklaracja:
char *gg_vsaprintf(const char *format, va_list ap);
Parametry:
Zwracana wartość:
Zaalokowany bufor, który należy później zwolnić, lub NULL jeśli nie udało się wykonać zadania.
gg_saprintf
Działanie:
Robi dokładnie to samo, co sprintf(), tyle że alokuje sobie wcześniej miejsce na dane. Powinno działać na tych maszynach, które mają funkcję vsnprintf() zgodną z C99, jak i na wcześniejszych.
Deklaracja:
char *gg_saprintf(const char *format, ...);
Parametry:
Zwracana wartość:
Zaalokowany bufor, który należy później zwolnić, lub NULL jeśli nie udało się wykonać zadania.
gg_get_line
Działanie:
Podaje kolejną linię z bufora tekstowego. Niszczy go bezpowrotnie, dzieląc na kolejne stringi. Zdarza się, nie ma potrzeby pisania funkcji dublującej bufor żeby tylko mieć nieruszone dane wejściowe, skoro i tak nie będą nam poźniej potrzebne. Obcina `\r\n'.
Deklaracja:
char *gg_get_line(char **ptr);
Parametry:
Zwracana wartość:
Wskaźnik do kolejnej linii tekstu lub NULL, jeśli to już koniec bufora.
gg_connect
Działanie:
Łączy się z serwerem. Pierwszy argument jest typu (void *), żeby nie musieć niczego inkludować w libgadu.h i nie psuć jakiś głupich zależności na dziwnych systemach.
Deklaracja:
int gg_connect(void *addr, int port, int async);
Parametry:
Zwracana wartość:
Deskryptor gniazda lub -1 w przypadku błędu (kod błędu w zmiennej errno).
gg_read_line
Działanie:
Czyta jedną linię tekstu z gniazda.
Deklaracja:
char *gg_read_line(int sock, char *buf, int length);
Parametry:
Zwracana wartość:
Jeśli trafi na błąd odczytu, zwraca NULL. Inaczej zwraca buf.
gg_chomp
Działanie:
Ucina "\r\n" lub "\n" z końca linii.
Deklaracja:
void gg_chomp(char *line);
Parametry:
Zwracana wartość:
Brak.
gg_urlencode
Działanie:
Zamienia podany tekst na ciąg znaków do formularza http. Przydaje się przy różnych usługach katalogu publicznego.
Deklaracja:
char *gg_urlencode(const char *str);
Parametry:
Zwracana wartość:
Zaalokowany bufor, który należy później zwolnić albo NULL w przypadku błędu.
gg_http_hash
Działanie:
Funkcja licząca hash dla adresu e-mail, hasła i paru innych.
Deklaracja:
int gg_http_hash(const char *format, ...);
Parametry:
Zwracana wartość:
Hash wykorzystywany przy rejestracji i wszelkich manipulacjach własnego wpisu w katalogu publicznym.
gg_gethostbyname
Działanie:
Odpowiednik gethostbyname() używający gethostbyname_r(), gdy potrzebna jest wielobieżność. Chwilowo korzysta ze zwykłego gethostbyname().
Deklaracja:
struct hostent *gg_gethostbyname(const char *hostname);
Parametry:
Zwracana wartość:
Zaalokowany bufor, który należy zwolnić lub NULL w przypadku błędu.
gg_win32_thread_socket
Działanie:
Zwraca deskryptor gniazda, które było ostatnio tworzone dla wątku o podanym identyfikatorze.
jeśli na win32 przy połączeniach synchronicznych zapamiętamy w jakim wątku uruchomiliśmy funkcję, która się z czymkolwiek łączy, to z osobnego wątku możemy anulować połączenie poprzez gg_win32_thread_socket(watek, -1); Deklaracja:
int gg_win32_thread_socket(int thread_id, int socket);
Parametry:
Zwracana wartość:
Jeśli socket jest równe 0, zwraca deskryptor gniazda dla podanego wątku.
gg_base64_encode
Działanie:
Zapisuje ciąg znaków w base64.
Deklaracja:
char *gg_base64_encode(const char *buf);
Parametry:
Zwracana wartość:
Zaalokowany bufor.
gg_base64_decode
Działanie:
Dekoduje ciąg znaków z base64.
Deklaracja:
char *gg_base64_decode(const char *buf);
Parametry:
Zwracana wartość:
Zaalokowany bufor.
gg_proxy_auth
Działanie:
Tworzy nagłówek autoryzacji dla proxy.
zaalokowany tekst lub NULL, jeśli proxy nie jest włączone lub nie wymaga autoryzacji. Deklaracja:
char *gg_proxy_auth();
Zwracana wartość:
Brak.
gg_dcc_request
Działanie:
Wysyła informację o tym, że dany klient powinien się z nami połączyć. Wykorzystywane, kiedy druga strona, której chcemy coś wysłać jest za maskaradą.
Deklaracja:
Parametry:
Zwracana wartość:
Patrz gg_send_message_ctcp().
gg_dcc_fill_filetime
Działanie:
Zamienia czas w postaci unixowej na windowsowy.
Deklaracja:
void gg_dcc_fill_filetime(uint32_t ut, uint32_t *ft);
Parametry:
Zwracana wartość:
Brak.
gg_dcc_fill_file_info
Działanie:
Wypełnia pola struct gg_dcc niezbędne do wysłania pliku.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_dcc_get_file
Działanie:
Inicjuje proces odbierania pliku od danego klienta, gdy ten wysłał do nas żądanie połączenia.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_dcc lub NULL jeśli wystąpił błąd.
gg_dcc_send_file
Działanie:
Inicjuje proces wysyłania pliku do danego klienta.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_dcc lub NULL jeśli wystąpił błąd.
gg_dcc_voice_chat
Działanie:
Próbuje nawiązać połączenie głosowe.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_dcc lub NULL jeśli wystąpił błąd.
gg_dcc_set_type
Działanie:
Po zdarzeniu GG_EVENT_DCC_CALLBACK należy ustawić typ połączenia za pomocą tej funkcji.
Deklaracja:
Parametry:
Zwracana wartość:
Brak.
gg_dcc_socket_create
Działanie:
Tworzy gniazdo dla bezpośredniej komunikacji między klientami.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_dcc, którą poźniej należy zwolnić funkcją gg_dcc_free(), albo NULL jeśli wystąpił błąd.
gg_dcc_voice_send
Działanie:
Wysyła ramkę danych dla rozmowy głosowej.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_dcc_watch_fd
Działanie:
Funkcja, którą należy wywołać, gdy coś się zmieni na gg_dcc->fd.
Deklaracja:
struct gg_event *gg_dcc_watch_fd(struct gg_dcc *h);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_event lub NULL, jeśli zabrakło pamięci na nią.
gg_dcc_free
Działanie:
Zwalnia pamięć po strukturze połączenia dcc.
Deklaracja:
void gg_dcc_free(struct gg_dcc *d);
Parametry:
Zwracana wartość:
Brak.
gg_event_free
Działanie:
Zwalnia pamięć zajmowaną przez informację o zdarzeniu.
Deklaracja:
void gg_event_free(struct gg_event *e);
Parametry:
Zwracana wartość:
Brak.
gg_watch_fd
Działanie:
Funkcja, którą należy wywołać, gdy coś się stanie z obserwowanym deskryptorem. Zwraca klientowi informację o tym, co się dzieje.
Deklaracja:
struct gg_event *gg_watch_fd(struct gg_session *sess);
Parametry:
Zwracana wartość:
Wskaźnik do struktury gg_event, którą trzeba zwolnić później za pomocą gg_event_free(). Jesli rodzaj zdarzenia jest równy GG_EVENT_NONE, należy je zignorować. Jeśli zwróciło NULL, stało się coś niedobrego -- albo zabrakło pamięci albo zerwało połączenie.
gg_http_connect
Działanie:
Rozpoczyna połączenie po http.
Deklaracja:
struct gg_http *gg_http_connect(const char *hostname, int port, int async, const char *method, const char *path, const char *header);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_http_free(), albo NULL jeśli wystąpił błąd.
gg_http_watch_fd
Działanie:
Przy asynchronicznej obsłudze HTTP funkcję tą należy wywołać jeśli zmieniło się coś na obserwowanym deskryptorze.
Deklaracja:
int gg_http_watch_fd(struct gg_http *h);
Parametry:
Zwracana wartość:
Jeśli wszystko poszło dobrze to 0, inaczej -1. Połączenie będzie zakończone, jeśli h->state == GG_STATE_PARSING. Jeśli wystąpi jakiś błąd, to będzie tam GG_STATE_ERROR i odpowiedni kod błędu w h->error.
gg_http_stop
Działanie:
Jeśli połączenie jest w trakcie, przerywa je. Nie zwalnia h->data.
Deklaracja:
void gg_http_stop(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
gg_http_free
Działanie:
Próbuje zamknąć połączenie i zwalnia pamięć po nim.
Deklaracja:
void gg_http_free(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
gg_libgadu_version
Działanie:
Zwraca wersję libgadu.
Deklaracja:
const char *gg_libgadu_version();
Parametry:
Zwracana wartość:
Wersja libgadu.
gg_fix32
Działanie:
Zamienia kolejność bajtów w liczbie 32-bitowej tak, by odpowiadała kolejności bajtów w protokole GG. Ze względu na LE-owość serwera, zamienia tylko na maszynach BE-wych.
Deklaracja:
uint32_t gg_fix32(uint32_t x);
Parametry:
Zwracana wartość:
Liczba z odpowiednią kolejnością bajtów.
gg_fix16
Działanie:
Zamienia kolejność bajtów w liczbie 16-bitowej tak, by odpowiadała kolejności bajtów w protokole GG. Ze względu na LE-owość serwera, zamienia tylko na maszynach BE-wych.
Deklaracja:
uint16_t gg_fix16(uint16_t x);
Parametry:
Zwracana wartość:
Liczba z odpowiednią kolejnością bajtów.
gg_login_hash
Działanie:
Liczy hash z hasła i danego seeda.
Deklaracja:
unsigned int gg_login_hash(unsigned char *password, unsigned int seed);
Parametry:
Zwracana wartość:
Hash.
gg_resolve
Działanie:
Tworzy potok, forkuje się i w drugim procesie zaczyna resolvować podanego hosta. Zapisuje w sesji deskryptor potoku. Jeśli coś tam będzie gotowego, znaczy, że można wczytać struct in_addr. Jeśli nie znajdzie, zwraca INADDR_NONE.
Deklaracja:
int gg_resolve(int *fd, int *pid, const char *hostname);
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_resolve_pthread
Działanie:
Tworzy potok, nowy wątek i w nim zaczyna resolvować podanego hosta. Zapisuje w sesji deskryptor potoku. Jeśli coś tam będzie gotowego, znaczy, że można wczytać struct in_addr. Jeśli nie znajdzie, zwraca INADDR_NONE.
Deklaracja:
int gg_resolve_pthread(int *fd, void **resolver, const char *hostname);
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_recv_packet
Działanie:
Odbiera jeden pakiet i zwraca wskaźnik do niego. Pamięć po nim należy zwolnić za pomocą free().
Deklaracja:
void *gg_recv_packet(struct gg_session *sess);
Parametry:
Zwracana wartość:
W przypadku błędu NULL, kod błędu w errno.
gg_send_packet
Działanie:
Konstruuje pakiet i wysyła go w do serwera.
Deklaracja:
int gg_send_packet(int sock, int type, ...);
Parametry:
Zwracana wartość:
Jeśli się powiodło, zwraca 0, w przypadku błędu -1. Jeśli errno == ENOMEM, zabrakło pamięci. Inaczej był błąd przy wysyłaniu pakietu. Dla errno == 0 nie wysłano całego pakietu.
gg_login
Działanie:
Rozpoczyna procedurę łączenia się z serwerem. Resztę obsługuje się przez gg_watch_fd().
UWAGA! program musi obsłużyć SIGCHLD, jeśli łączy się asynchronicznie, żeby poprawnie zamknąć proces resolvera. Deklaracja:
struct gg_session *gg_login(const struct gg_login_params *p);
Parametry:
Zwracana wartość:
W przypadku błędu NULL, jeśli idzie dobrze (async) albo poszło dobrze (sync), zwróci wskaźnik do zaalokowanej struct gg_session.
gg_free_session
Działanie:
Próbuje zamknąć połączenia i zwalnia pamięć zajmowaną przez sesję.
Deklaracja:
void gg_free_session(struct gg_session *sess);
Parametry:
Zwracana wartość:
Brak.
gg_change_status
Działanie:
Zmienia status użytkownika. Przydatne do /away i /busy oraz /quit.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_change_status_descr
Działanie:
Zmienia status użytkownika na opisowy.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_change_status_descr_time
Działanie:
Zmienia status użytkownika na opisowy z godziną powrotu.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_logoff
Działanie:
Wylogowuje użytkownika i zamyka połączenie, ale nie zwalnia pamięci.
Deklaracja:
void gg_logoff(struct gg_session *sess);
Parametry:
Zwracana wartość:
Brak.
gg_send_message_ctcp
Działanie:
Wysyła wiadomość do innego użytkownika. Zwraca losowy numer sekwencyjny, który można zignorować albo wykorzystać do potwierdzenia.
Deklaracja:
int gg_send_message_ctcp(struct gg_session *sess, int msgclass, uin_t recipient, unsigned char *message, int message_len);
Parametry:
Zwracana wartość:
Numer sekwencyjny wiadomości lub -1 w przypadku błędu.
gg_send_message
Działanie:
Wysyła wiadomość do innego użytkownika. Zwraca losowy numer sekwencyjny, który można zignorować albo wykorzystać do potwierdzenia.
Deklaracja:
int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, unsigned char *message);
Parametry:
Zwracana wartość:
Numer sekwencyjny wiadomości lub -1 w przypadku błędu.
gg_send_message_richtext
Działanie:
Wysyła kolorową wiadomość do innego użytkownika. Zwraca losowy numer sekwencyjny, który można zignorować albo wykorzystać do potwierdzenia.
Deklaracja:
int gg_send_message_richtext(struct gg_session *sess, int msgclass, uin_t recipient, unsigned char *message, unsigned char *format, int formatlen);
Parametry:
Zwracana wartość:
Numer sekwencyjny wiadomości lub -1 w przypadku błędu.
gg_send_message_confer
Działanie:
Wysyła wiadomość do kilku użytkownikow (konferencja). Zwraca losowy numer sekwencyjny, który można zignorować albo wykorzystać do potwierdzenia.
Deklaracja:
int gg_send_message_confer(struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, unsigned char *message);
Parametry:
Zwracana wartość:
Numer sekwencyjny wiadomości lub -1 w przypadku błędu.
gg_send_message_confer_richtext
Działanie:
Wysyła kolorową wiadomość do kilku użytkownikow (konferencja). Zwraca losowy numer sekwencyjny, który można zignorować albo wykorzystać do potwierdzenia.
Deklaracja:
int gg_send_message_confer_richtext(struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, unsigned char *message, unsigned char *format, int formatlen);
Parametry:
Zwracana wartość:
Numer sekwencyjny wiadomości lub -1 w przypadku błędu.
gg_ping
Działanie:
Wysyła do serwera pakiet ping.
Deklaracja:
int gg_ping(struct gg_session *sess);
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_notify_ex
Działanie:
Wysyła serwerowi listę kontaktów (wraz z odpowiadającymi im typami userów), dzięki czemu wie, czyj stan nas interesuje.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_notify
Działanie:
Wysyła serwerowi listę kontaktów, dzięki czemu wie, czyj stan nas interesuje.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_add_notify_ex
Działanie:
Dodaje do listy kontaktów dany numer w trakcie połączenia. Dodawanemu użytkownikowi określamy jego typ (patrz protocol.html)
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_add_notify
Działanie:
Dodaje do listy kontaktów dany numer w trakcie połączenia.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_remove_notify_ex
Działanie:
Usuwa z listy kontaktów w trakcie połączenia. Usuwanemu użytkownikowi określamy jego typ (patrz protocol.html)
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_remove_notify
Działanie:
Usuwa z listy kontaktów w trakcie połączenia.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_register
Działanie:
Rozpoczyna rejestrację użytkownika.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_register_free(), albo NULL jeśli wystąpił błąd.
gg_register2
Działanie:
Rozpoczyna rejestrację użytkownika protokołem GG 5.0.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_register_free(), albo NULL jeśli wystąpił błąd.
gg_unregister
Działanie:
Usuwa konto użytkownika z serwera.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_unregister_free(), albo NULL jeśli wystąpił błąd.
gg_unregister2
Działanie:
Usuwa konto użytkownika z serwera protokołem GG 5.0
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_unregister_free(), albo NULL jeśli wystąpił błąd.
gg_change_passwd
Działanie:
Wysyła żądanie zmiany hasła. Funkcja nie działa, ze względu na zmiany w protokole. Została tylko po to, by zachować ABI biblioteki.
Deklaracja:
struct gg_http *gg_change_passwd(uin_t uin, const char *passwd, const char *newpasswd, const char *newemail, int async);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_change_passwd_free(), albo NULL jeśli wystąpił błąd.
gg_change_passwd2
Działanie:
Wysyła żądanie zmiany hasła, uwzględniając zmiany w protokole.
Deklaracja:
struct gg_http *gg_change_passwd2(uin_t uin, const char *passwd, const char *newpasswd, const char *email, const char *newemail, int async);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_change_passwd_free(), albo NULL jeśli wystąpił błąd.
gg_change_passwd3
Działanie:
Wysyła żądanie zmiany hasła zgodnie z protokołem GG 5.0.4
Deklaracja:
struct gg_http *gg_change_passwd3(uin_t uin, const char *passwd, const char *newpasswd, const char *qa, int async);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_change_passwd_free(), albo NULL jeśli wystąpił błąd.
gg_remind_passwd
Działanie:
Wysyła żądanie przypomnienia hasła e-mailem.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_remind_passwd_free(), albo NULL jeśli wystąpił błąd.
gg_change_info
Działanie:
Zmienia własne dane w katalogu publicznym.
Deklaracja:
struct gg_http *gg_change_info(uin_t uin, const char *passwd, const struct gg_change_info_request *request, int async);
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_change_info_free(), albo NULL jeśli wystąpił błąd.
gg_pubdir_watch_fd
Działanie:
Przy asynchronicznych operacjach na katalogu publicznym należy wywoływać tą funkcję przy zmianach na obserwowanym deskryptorze.
Deklaracja:
int gg_pubdir_watch_fd(struct gg_http *h);
Parametry:
Zwracana wartość:
Jeśli wszystko poszło dobrze to 0, inaczej -1. Operacja będzie zakończona, jeśli h->state == GG_STATE_DONE. Jeśli wystąpi jakiś błąd, to będzie tam GG_STATE_ERROR i odpowiedni kod błędu w h->error.
gg_pubdir_free
Działanie:
Zwalnia pamięć po efektach operacji na katalogu publicznym.
Deklaracja:
void gg_pubdir_free(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
gg_change_info_request_new
Działanie:
Alokuje pamięć i tworzy struct gg_change_info_request do użycia jako parametr gg_change_info().
Deklaracja:
struct gg_change_info_request *gg_change_info_request_new(const char *first_name, const char *last_name, const char *nickname, const char *email, int born, int gender, const char *city);
Parametry:
Zwracana wartość:
Zaalokowana struktura lub NULL w przypadku braku pamięci.
gg_change_info_request_free
Działanie:
Zwalnia pamięć zajmowaną przez struct gg_change_info_request i jej pola.
Deklaracja:
void gg_change_info_request_free(struct gg_change_info_request *r);
Parametry:
Zwracana wartość:
Brak.
gg_pubdir50_new
Działanie:
Tworzy nową zmienną typu gg_pubdir50_t.
zaalokowana zmienna lub NULL w przypadku braku pamięci. Deklaracja:
gg_pubdir50_t gg_pubdir50_new(int type);
Zwracana wartość:
Brak.
gg_pubdir50_add_n
Działanie:
Funkcja dodaje lub zastępuje istniejące pole do zapytania lub odpowiedzi.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1
gg_pubdir50_add
Działanie:
Funkcja dodaje pole do zapytania.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1
gg_pubdir50_seq_set
Działanie:
Ustawia numer sekwencyjny zapytania.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1.
gg_pubdir50_free
Działanie:
Zwalnia pamięć po zapytaniu lub rezultacie szukania użytkownika.
Deklaracja:
void gg_pubdir50_free(gg_pubdir50_t s);
Parametry:
Zwracana wartość:
Brak.
gg_pubdir50
Działanie:
Wysyła zapytanie katalogu publicznego do serwera.
Deklaracja:
Parametry:
Zwracana wartość:
Numer sekwencyjny wyszukiwania lub 0 w przypadku błędu.
gg_pubdir50_handle_reply
Działanie:
Analizuje przychodzący pakiet odpowiedzi i zapisuje wynik w struct gg_event.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1
gg_pubdir50_get
Działanie:
Pobiera informację z rezultatu wyszukiwania.
Deklaracja:
Parametry:
Zwracana wartość:
Wartość pola lub NULL, jeśli nie znaleziono.
gg_pubdir50_count
Działanie:
Zwraca ilość wyników danego zapytania.
Deklaracja:
int gg_pubdir50_count(gg_pubdir50_t res);
Parametry:
Zwracana wartość:
Ilość lub -1 w przypadku błędu.
gg_pubdir50_type
Działanie:
Zwraca rodzaj zapytania lub odpowiedzi.
Deklaracja:
int gg_pubdir50_type(gg_pubdir50_t res);
Parametry:
Zwracana wartość:
Ilość lub -1 w przypadku błędu.
gg_pubdir50_next
Działanie:
Zwraca numer, od którego należy rozpocząć kolejne wyszukiwanie, jeśli zależy nam na kolejnych wynikach.
Deklaracja:
uin_t gg_pubdir50_next(gg_pubdir50_t res);
Parametry:
Zwracana wartość:
Numer lub -1 w przypadku błędu.
gg_pubdir50_seq
Działanie:
Zwraca numer sekwencyjny zapytania lub odpowiedzi.
Deklaracja:
uint32_t gg_pubdir50_seq(gg_pubdir50_t res);
Parametry:
Zwracana wartość:
Numer lub -1 w przypadku błędu.
gg_search
Działanie:
ZE WZGLĘDU NA ZMIANY W PROTOKOLE, WYSZUKIWANIE TĄ METODĄ NIE ZWRÓCI ŻADNYCH WYNIKÓW. NALEŻY UŻYWAĆ FUNKCJI gg_search50(). FUNKCJA ZOSTAŁA WYŁĄCZNIE DLA ZACHOWANIA ABI.
Deklaracja:
Zwracana wartość:
Brak.
gg_search_watch_fd
Działanie:
Funkcja została wyłącznie dla zachowania ABI.
Deklaracja:
int gg_search_watch_fd(struct gg_http *h);
Zwracana wartość:
Brak.
gg_search_free
Działanie:
Funkcja została wyłącznie dla zachowania ABI.
Deklaracja:
void gg_search_free(struct gg_http *h);
Zwracana wartość:
Brak.
gg_search_request_mode*
Działanie:
Funkcje została wyłącznie dla zachowania ABI.
Deklaracja:
const struct gg_search_request *gg_search_request_mode_0(char *nickname, char *first_name, char *last_name, char *city, int gender, int min_birth, int max_birth, int active, int start);
Zwracana wartość:
Brak.
gg_search_request_free
Działanie:
Funkcja została wyłącznie dla zachowania ABI.
Deklaracja:
void gg_search_request_free(struct gg_search_request *r);
Zwracana wartość:
Brak.
gg_userlist_get
Działanie:
Wysyła żądanie pobrania listy kontaktów z serwera.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_userlist_get_send(), albo NULL jeśli wystąpił błąd.
gg_userlist_get_watch_fd
Działanie:
Przy asynchronicznym ściąganiu listy kontaktów należy wywołać tą funkcję po zauważeniu zmian na obserwowanym deskryptorze.
Deklaracja:
int gg_userlist_get_watch_fd(struct gg_http *h);
Parametry:
Zwracana wartość:
Jeśli wszystko poszło dobrze to 0, inaczej -1. Operacja będzie zakończona, jeśli h->state == GG_STATE_DONE. Jeśli wystąpi jakiś błąd, to będzie tam GG_STATE_ERROR i odpowiedni kod błędu w h->error.
gg_userlist_get_free
Działanie:
Zwalnia pamięć po pobieraniu listy kontaktów z serwera.
Deklaracja:
void gg_userlist_get_free(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
gg_userlist_put
Działanie:
Wysyła listę kontaktów na serwer.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_userlist_send(), albo NULL jeśli wystąpił błąd.
gg_userlist_put_watch_fd
Działanie:
Przy asynchronicznym wysyłaniu userlisty należy wywołać tą funkcję po zauważeniu zmian na obserwowanym deskryptorze
Deklaracja:
int gg_userlist_put_watch_fd(struct gg_http *h);
Parametry:
Zwracana wartość:
Jeśli wszystko poszło dobrze to 0, inaczej -1. Operacja będzie zakończona, jeśli h->state == GG_STATE_DONE. Jeśli wystąpi jakiś błąd, to będzie tam GG_STATE_ERROR i odpowiedni kod błędu w h->error.
gg_userlist_put_free
Działanie:
Zwalnia pamięć po wysyłaniu listy kontaktów na serwer.
Deklaracja:
void gg_userlist_put_free(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
gg_userlist_remove
Działanie:
Usuwa listę kontaktów z serwera.
Deklaracja:
Parametry:
Zwracana wartość:
Zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_userlist_send(), albo NULL jeśli wystąpił błąd.
gg_userlist_remove_watch_fd
Działanie:
Przy asynchronicznym usuwaniu userlisty należy wywołać tą funkcję po zauważeniu zmian na obserwowanym deskryptorze
Deklaracja:
int gg_userlist_remove_watch_fd(struct gg_http *h);
Parametry:
Zwracana wartość:
Jeśli wszystko poszło dobrze to 0, inaczej -1. Operacja będzie zakończona, jeśli h->state == GG_STATE_DONE. Jeśli wystąpi jakiś błąd, to będzie tam GG_STATE_ERROR i odpowiedni kod błędu w h->error.
gg_userlist_remove_free
Działanie:
Zwalnia pamięć po usuwaniu listy kontaktów z serwera.
Deklaracja:
void gg_userlist_remove_free(struct gg_http *h);
Parametry:
Zwracana wartość:
Brak.
|