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 lub podano nieprawidłowe parametry, 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() troszczący się o współbieżność, gdy mamy do dyspozycji funkcję gethostbyname_r().
Deklaracja:
struct in_addr *gg_gethostbyname(const char *hostname);
Parametry:
Zwracana wartość:
Zwraca wskaźnik na strukturę in_addr, którą należy zwolnić.
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_crc32_make_table
Działanie:
Static void gg_crc32_make_table() { uint32_t h = 1; unsigned int i, j;
memset(gg_crc32_table, 0, sizeof(gg_crc32_table)); for (i = 128; i; i >>= 1) { h = (h >> 1) ^ ((h & 1) ? 0xedb88320L : 0); for (j = 0; j < 256; j += 2 * i) gg_crc32_table[i + j] = gg_crc32_table[j] ^ h; } gg_crc32_initialized = 1; } /* gg_crc32() wyznacza sumę kontrolną CRC32 danego bloku danych. Deklaracja:
uint32_t gg_crc32(uint32_t crc, unsigned char *buf, int len);
Parametry:
Zwracana wartość:
Suma kontrolna CRC32.
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_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_fill_file_info2
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_image_queue_remove
Działanie:
Usuwa z kolejki dany wpis.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1
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_fields
Działanie:
Zwalnia pola struct gg_http, ale nie zwalnia samej struktury.
Deklaracja:
void gg_http_free_fields(struct gg_http *h);
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_cleanup
Działanie:
Sprząta po wątku resolvera.
Deklaracja:
void gg_resolve_pthread_cleanup(void *arg, int kill);
Parametry:
Zwracana wartość:
Brak.
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_read
Działanie:
Czyta z gniazda określoną ilość bajtów. Bierze pod uwagę, czy mamy połączenie zwykłe czy TLS.
Deklaracja:
Parametry:
Zwracana wartość:
Takie same wartości jak read().
gg_write
Działanie:
Zapisuje do gniazda określoną ilość bajtów. Bierze pod uwagę, czy mamy połączenie zwykłe czy TLS.
Deklaracja:
Parametry:
Zwracana wartość:
Takie same wartości jak write().
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. Należy zwrócić uwagę, że gdy połączenie jest nieblokujące, a kod błędu wynosi EAGAIN, nie udało się odczytać całego pakietu i nie należy tego traktować jako błąd.
gg_send_packet
Działanie:
Konstruuje pakiet i wysyła go do serwera.
Deklaracja:
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_image_request
Działanie:
Wysyła żądanie wysłania obrazka o podanych parametrach.
Deklaracja:
Parametry:
Zwracana wartość:
0/-1
gg_image_reply
Działanie:
Wysyła żądany obrazek.
Deklaracja:
int gg_image_reply(struct gg_session *sess, uin_t recipient, const char *filename, const char *image, int size);
Parametry:
Zwracana wartość:
0/-1
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_userlist_request
Działanie:
Wysyła żądanie/zapytanie listy kontaktów na serwerze.
Deklaracja:
Parametry:
Zwracana wartość:
0 jeśli operacja się powiodła, -1 w przypadku błędu.
gg_register3
Działanie:
Rozpoczyna rejestrację użytkownika protokołem GG 6.0. Wymaga wcześniejszego pobrania tokenu za pomocą funkcji gg_token().
Deklaracja:
struct gg_http *gg_register3(const char *email, const char *password, const char *tokenid, const char *tokenval, int async);
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_unregister3
Działanie:
Usuwa konto użytkownika z serwera protokołem GG 6.0
Deklaracja:
struct gg_http *gg_unregister3(uin_t uin, const char *password, const char *tokenid, const char *tokenval, int async);
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_passwd4
Działanie:
Wysyła żądanie zmiany hasła zgodnie z protokołem GG 6.0. Wymaga wcześniejszego pobrania tokenu za pomocą funkcji gg_token().
Deklaracja:
struct gg_http *gg_change_passwd4(uin_t uin, const char *email, const char *passwd, const char *newpasswd, const char *tokenid, const char *tokenval, 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_passwd3
Działanie:
Wysyła żądanie przypomnienia hasła e-mailem.
Deklaracja:
struct gg_http *gg_remind_passwd3(uin_t uin, const char *email, const char *tokenid, const char *tokenval, int async);
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_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_token
Działanie:
Pobiera z serwera token do autoryzacji zakładania konta, usuwania konta i zmiany hasła.
zaalokowana struct gg_http, którą poźniej należy zwolnić funkcją gg_token_free(), albo NULL jeśli wystąpił błąd. Deklaracja:
struct gg_http *gg_token(int async);
Zwracana wartość:
Brak.
gg_token_watch_fd
Działanie:
Przy asynchronicznych operacjach związanych z tokenem należy wywoływać tę funkcję przy zmianach na obserwowanym deskryptorze.
Deklaracja:
int gg_token_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_token_free
Działanie:
Zwalnia pamięć po efektach pobierania tokenu.
Deklaracja:
void gg_token_free(struct gg_http *h);
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
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.
|