libgadu.h | libgadu.h | |||
---|---|---|---|---|
skipping to change at line 80 | skipping to change at line 80 | |||
/* Defined if this machine supports long long. */ | /* Defined if this machine supports long long. */ | |||
#define GG_CONFIG_HAVE_LONG_LONG /**/ | #define GG_CONFIG_HAVE_LONG_LONG /**/ | |||
/* Defined if libgadu was compiled and linked with GnuTLS support. */ | /* Defined if libgadu was compiled and linked with GnuTLS support. */ | |||
#define GG_CONFIG_HAVE_GNUTLS /**/ | #define GG_CONFIG_HAVE_GNUTLS /**/ | |||
/* Defined if libgadu was compiled and linked with OpenSSL support. */ | /* Defined if libgadu was compiled and linked with OpenSSL support. */ | |||
/* #undef GG_CONFIG_HAVE_OPENSSL */ | /* #undef GG_CONFIG_HAVE_OPENSSL */ | |||
/* Defined if libgadu was compiled and linked with zlib support. */ | ||||
#define GG_CONFIG_HAVE_ZLIB /**/ | ||||
/* Defined if uintX_t types are defined in <stdint.h>. */ | /* Defined if uintX_t types are defined in <stdint.h>. */ | |||
#define GG_CONFIG_HAVE_STDINT_H /**/ | #define GG_CONFIG_HAVE_STDINT_H /**/ | |||
/* Defined if uintX_t types are defined in <inttypes.h>. */ | /* Defined if uintX_t types are defined in <inttypes.h>. */ | |||
/* #undef GG_CONFIG_HAVE_INTTYPES_H */ | /* #undef GG_CONFIG_HAVE_INTTYPES_H */ | |||
/* Defined if uintX_t types are defined in <sys/inttypes.h>. */ | /* Defined if uintX_t types are defined in <sys/inttypes.h>. */ | |||
/* #undef GG_CONFIG_HAVE_SYS_INTTYPES_H */ | /* #undef GG_CONFIG_HAVE_SYS_INTTYPES_H */ | |||
/* Defined if uintX_t types are defined in <sys/int_types.h>. */ | /* Defined if uintX_t types are defined in <sys/int_types.h>. */ | |||
skipping to change at line 233 | skipping to change at line 236 | |||
int last_event; /**< Czas otrzymania ostatniego pakietu */ | int last_event; /**< Czas otrzymania ostatniego pakietu */ | |||
struct gg_event *event; /**< Zdarzenie po wywołaniu \c callback */ | struct gg_event *event; /**< Zdarzenie po wywołaniu \c callback */ | |||
uint32_t proxy_addr; /**< Adres serwera pośredniczącego */ | uint32_t proxy_addr; /**< Adres serwera pośredniczącego */ | |||
uint16_t proxy_port; /**< Port serwera pośredniczącego */ | uint16_t proxy_port; /**< Port serwera pośredniczącego */ | |||
uint32_t hub_addr; /**< Adres huba po rozwiązaniu nazwy */ | uint32_t hub_addr; /**< Adres huba po rozwiązaniu nazwy */ | |||
uint32_t server_addr; /**< Adres serwera otrzymany od huba */ | uint32_t server_addr; /**< Adres serwera otrzymany od huba */ | |||
uint32_t client_addr; /**< Adres gniazda dla połączeń bezpośrednic | uint32_t client_addr; /**< Adres gniazda dla połączeń bezpośrednic | |||
h do wersji Gadu-Gadu 6.x */ | h */ | |||
uint16_t client_port; /**< Port gniazda dla połączeń bezpośrednich | uint16_t client_port; /**< Port gniazda dla połączeń bezpośrednich | |||
do wersji Gadu-Gadu 6.x */ | */ | |||
uint32_t external_addr; /**< Publiczny adres dla połączeń bezpośredn | uint32_t external_addr; /**< Publiczny adres dla połączeń bezpośredn | |||
ich do wersji Gadu-Gadu 6.x */ | ich */ | |||
uint16_t external_port; /**< Publiczny port dla połączeń bezpośredni | uint16_t external_port; /**< Publiczny port dla połączeń bezpośredni | |||
ch do wersji Gadu-Gadu 6.x */ | ch */ | |||
uin_t uin; /**< Własny numer Gadu-Gadu */ | uin_t uin; /**< Własny numer Gadu-Gadu */ | |||
char *password; /**< Hasło (zwalniane po użyciu) */ | char *password; /**< Hasło (zwalniane po użyciu) */ | |||
int initial_status; /**< Początkowy status */ | int initial_status; /**< Początkowy status */ | |||
int status; /**< Aktualny status */ | int status; /**< Aktualny status */ | |||
char *recv_buf; /**< Bufor na odbierany pakiety */ | char *recv_buf; /**< Bufor na odbierany pakiety */ | |||
int recv_done; /**< Liczba wczytanych bajtów pakietu */ | int recv_done; /**< Liczba wczytanych bajtów pakietu */ | |||
int recv_left; /**< Liczba pozostałych do wczytania bajtów pakietu */ | int recv_left; /**< Liczba pozostałych do wczytania bajtów pakietu */ | |||
skipping to change at line 571 | skipping to change at line 574 | |||
* | * | |||
* \ingroup events | * \ingroup events | |||
*/ | */ | |||
enum gg_check_t { | enum gg_check_t { | |||
GG_CHECK_NONE = 0, /**< Nie sprawdzaj niczego */ | GG_CHECK_NONE = 0, /**< Nie sprawdzaj niczego */ | |||
GG_CHECK_WRITE = 1, /**< Sprawdź możliwość zapisu */ | GG_CHECK_WRITE = 1, /**< Sprawdź możliwość zapisu */ | |||
GG_CHECK_READ = 2 /**< Sprawdź możliwość odczytu */ | GG_CHECK_READ = 2 /**< Sprawdź możliwość odczytu */ | |||
}; | }; | |||
/** | /** | |||
* Flaga połączenia szyfrowanego. | ||||
* | ||||
* \ingroup login | ||||
*/ | ||||
typedef enum { | ||||
GG_SSL_DISABLED = 0, /**< Połączenie SSL wyłączone */ | ||||
GG_SSL_ENABLED, /**< Połączenie SSL włączone gdy dostępne */ | ||||
GG_SSL_REQUIRED /**< Połączenie SSL wymagane */ | ||||
} gg_ssl_t; | ||||
/** | ||||
* Parametry połączenia z serwerem Gadu-Gadu. Parametry zostały przeniesion e | * Parametry połączenia z serwerem Gadu-Gadu. Parametry zostały przeniesion e | |||
* do struktury, by uniknąć zmian API po rozszerzeniu protokołu i dodaniu | * do struktury, by uniknąć zmian API po rozszerzeniu protokołu i dodaniu | |||
* kolejnych opcji połączenia. Część parametrów, które nie są już aktualne | * kolejnych opcji połączenia. Część parametrów, które nie są już aktualne | |||
* lub nie mają znaczenia, została usunięta z dokumentacji. | * lub nie mają znaczenia, została usunięta z dokumentacji. | |||
* | * | |||
* \ingroup login | * \ingroup login | |||
*/ | */ | |||
struct gg_login_params { | struct gg_login_params { | |||
uin_t uin; /**< Numer Gadu-Gadu */ | uin_t uin; /**< Numer Gadu-Gadu */ | |||
char *password; /**< Hasło */ | char *password; /**< Hasło */ | |||
int async; /**< Flaga asynchronicznego połączen ia (domyślnie nie) */ | int async; /**< Flaga asynchronicznego połączen ia (domyślnie nie) */ | |||
int status; /**< Początkowy status użytkownika ( domyślnie \c GG_STATUS_AVAIL) */ | int status; /**< Początkowy status użytkownika ( domyślnie \c GG_STATUS_AVAIL) */ | |||
char *status_descr; /**< Początkowy opis użytkownika (do myślnie brak) */ | char *status_descr; /**< Początkowy opis użytkownika (do myślnie brak) */ | |||
uint32_t server_addr; /**< Adres serwera Gadu-Gadu (domyśl nie pobierany automatycznie) */ | uint32_t server_addr; /**< Adres serwera Gadu-Gadu (domyśl nie pobierany automatycznie) */ | |||
uint16_t server_port; /**< Port serwera Gadu-Gadu (domyśln ie pobierany automatycznie) */ | uint16_t server_port; /**< Port serwera Gadu-Gadu (domyśln ie pobierany automatycznie) */ | |||
#ifndef DOXYGEN | uint32_t client_addr; /**< Adres połączeń bezpośrednich (d | |||
uint32_t client_addr; /**< Adres połączeń bezpośrednich (n | omyślnie dobierany automatycznie) */ | |||
ieaktualne) */ | uint16_t client_port; /**< Port połączeń bezpośrednich (do | |||
uint16_t client_port; /**< Port połączeń bezpośrednich (ni | myślnie dobierany automatycznie) */ | |||
eaktualne) */ | ||||
#endif | ||||
int protocol_version; /**< Wersja protokołu wysyłana do se rwera (domyślnie najnowsza obsługiwana) */ | int protocol_version; /**< Wersja protokołu wysyłana do se rwera (domyślnie najnowsza obsługiwana) */ | |||
char *client_version; /**< Wersja klienta wysyłana do serw era (domyślnie najnowsza znana) */ | char *client_version; /**< Wersja klienta wysyłana do serw era (domyślnie najnowsza znana) */ | |||
int has_audio; /**< Flaga obsługi połączeń głosowyc h */ | int has_audio; /**< Flaga obsługi połączeń głosowyc h */ | |||
int last_sysmsg; /**< Numer ostatnio odebranej wiadom ości systemowej */ | int last_sysmsg; /**< Numer ostatnio odebranej wiadom ości systemowej */ | |||
uint32_t external_addr; /**< Adres publiczny dla połączeń be | uint32_t external_addr; /**< Adres publiczny dla połączeń be | |||
zpośrednich (6.x) */ | zpośrednich (domyślnie dobierany automatycznie) */ | |||
uint16_t external_port; /**< Port publiczny dla połączeń bez | uint16_t external_port; /**< Port publiczny dla połączeń bez | |||
pośrednich (6.x) */ | pośrednich (domyślnie dobierany automatycznie) */ | |||
#ifndef DOXYGEN | int tls; /**< Flaga połączenia szyfrowanego ( | |||
int tls; /**< Flaga połączenia szyfrowanego ( | patrz \ref gg_ssl_t) */ | |||
nieaktualna) */ | ||||
#endif | ||||
int image_size; /**< Maksymalny rozmiar obsługiwanyc h obrazków w kilobajtach */ | int image_size; /**< Maksymalny rozmiar obsługiwanyc h obrazków w kilobajtach */ | |||
#ifndef DOXYGEN | #ifndef DOXYGEN | |||
int era_omnix; /**< Flaga udawania klienta Era Omni x (nieaktualna) */ | int era_omnix; /**< Flaga udawania klienta Era Omni x (nieaktualna) */ | |||
#endif | #endif | |||
int hash_type; /**< Rodzaj skrótu hasła (\c GG_LOGI N_HASH_GG32 lub \c GG_LOGIN_HASH_SHA1, domyślnie SHA1) */ | int hash_type; /**< Rodzaj skrótu hasła (\c GG_LOGI N_HASH_GG32 lub \c GG_LOGIN_HASH_SHA1, domyślnie SHA1) */ | |||
gg_encoding_t encoding; /**< Rodzaj kodowania używanego w se sji (domyślnie CP1250) */ | gg_encoding_t encoding; /**< Rodzaj kodowania używanego w se sji (domyślnie CP1250) */ | |||
gg_resolver_t resolver; /**< Sposób rozwiązywania nazw (patr z \ref build-resolver) */ | gg_resolver_t resolver; /**< Sposób rozwiązywania nazw (patr z \ref build-resolver) */ | |||
int protocol_features; /**< Opcje protokołu (flagi GG_FEATU RE_*). */ | int protocol_features; /**< Opcje protokołu (flagi GG_FEATU RE_*). */ | |||
int status_flags; /**< Flagi statusu (flagi GG_STATUS_ FLAG_*, patrz \ref status). */ | int status_flags; /**< Flagi statusu (flagi GG_STATUS_ FLAG_*, patrz \ref status). */ | |||
skipping to change at line 631 | skipping to change at line 641 | |||
int gg_change_status_descr(struct gg_session *sess, int status, const char *descr); | int gg_change_status_descr(struct gg_session *sess, int status, const char *descr); | |||
int gg_change_status_descr_time(struct gg_session *sess, int status, const char *descr, int time); | int gg_change_status_descr_time(struct gg_session *sess, int status, const char *descr, int time); | |||
int gg_change_status_flags(struct gg_session *sess, int flags); | int gg_change_status_flags(struct gg_session *sess, int flags); | |||
int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message); | int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, const unsigned char *message); | |||
int gg_send_message_richtext(struct gg_session *sess, int msgclass, uin_t r ecipient, const unsigned char *message, const unsigned char *format, int fo rmatlen); | int gg_send_message_richtext(struct gg_session *sess, int msgclass, uin_t r ecipient, const unsigned char *message, const unsigned char *format, int fo rmatlen); | |||
int gg_send_message_confer(struct gg_session *sess, int msgclass, int recip ients_count, uin_t *recipients, const unsigned char *message); | int gg_send_message_confer(struct gg_session *sess, int msgclass, int recip ients_count, uin_t *recipients, const unsigned char *message); | |||
int gg_send_message_confer_richtext(struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, const unsigned char *message, cons t unsigned char *format, int formatlen); | int gg_send_message_confer_richtext(struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, const unsigned char *message, cons t unsigned char *format, int formatlen); | |||
int gg_send_message_ctcp(struct gg_session *sess, int msgclass, uin_t recip ient, const unsigned char *message, int message_len); | int gg_send_message_ctcp(struct gg_session *sess, int msgclass, uin_t recip ient, const unsigned char *message, int message_len); | |||
int gg_ping(struct gg_session *sess); | int gg_ping(struct gg_session *sess); | |||
int gg_userlist_request(struct gg_session *sess, char type, const char *req uest); | int gg_userlist_request(struct gg_session *sess, char type, const char *req uest); | |||
int gg_userlist100_request(struct gg_session *sess, char type, unsigned int version, char format_type, const char *request); | ||||
int gg_image_request(struct gg_session *sess, uin_t recipient, int size, ui nt32_t crc32); | int gg_image_request(struct gg_session *sess, uin_t recipient, int size, ui nt32_t crc32); | |||
int gg_image_reply(struct gg_session *sess, uin_t recipient, const char *fi lename, const char *image, int size); | int gg_image_reply(struct gg_session *sess, uin_t recipient, const char *fi lename, const char *image, int size); | |||
int gg_typing_notification(struct gg_session *sess, uin_t recipient, int le ngth); | int gg_typing_notification(struct gg_session *sess, uin_t recipient, int le ngth); | |||
uint32_t gg_crc32(uint32_t crc, const unsigned char *buf, int len); | uint32_t gg_crc32(uint32_t crc, const unsigned char *buf, int len); | |||
int gg_session_set_resolver(struct gg_session *gs, gg_resolver_t type); | int gg_session_set_resolver(struct gg_session *gs, gg_resolver_t type); | |||
gg_resolver_t gg_session_get_resolver(struct gg_session *gs); | gg_resolver_t gg_session_get_resolver(struct gg_session *gs); | |||
int gg_session_set_custom_resolver(struct gg_session *gs, int (*resolver_st art)(int*, void**, const char*), void (*resolver_cleanup)(void**, int)); | int gg_session_set_custom_resolver(struct gg_session *gs, int (*resolver_st art)(int*, void**, const char*), void (*resolver_cleanup)(void**, int)); | |||
skipping to change at line 703 | skipping to change at line 714 | |||
GG_EVENT_DCC7_ERROR, /**< Błąd połączenia bezpośredniego (7.x) */ | GG_EVENT_DCC7_ERROR, /**< Błąd połączenia bezpośredniego (7.x) */ | |||
GG_EVENT_DCC7_DONE, /**< Zakończono połączenie bezpośred nie (7.x) */ | GG_EVENT_DCC7_DONE, /**< Zakończono połączenie bezpośred nie (7.x) */ | |||
GG_EVENT_DCC7_PENDING, /**< Trwa próba połączenia bezpośred niego (7.x), nowy deskryptor */ | GG_EVENT_DCC7_PENDING, /**< Trwa próba połączenia bezpośred niego (7.x), nowy deskryptor */ | |||
GG_EVENT_XML_EVENT, /**< Otrzymano komunikat systemowy ( 7.7) */ | GG_EVENT_XML_EVENT, /**< Otrzymano komunikat systemowy ( 7.7) */ | |||
GG_EVENT_DISCONNECT_ACK, /**< \brief Potwierdzenie zakończeni a sesji. Informuje o tym, że zmiana stanu na niedostępny z opisem dotarła d o serwera i można zakończyć połączenie TCP. */ | GG_EVENT_DISCONNECT_ACK, /**< \brief Potwierdzenie zakończeni a sesji. Informuje o tym, że zmiana stanu na niedostępny z opisem dotarła d o serwera i można zakończyć połączenie TCP. */ | |||
GG_EVENT_TYPING_NOTIFICATION, /**< Powiadomienie o pisaniu */ | GG_EVENT_TYPING_NOTIFICATION, /**< Powiadomienie o pisaniu */ | |||
GG_EVENT_USER_DATA, /**< Informacja o kontaktach */ | GG_EVENT_USER_DATA, /**< Informacja o kontaktach */ | |||
GG_EVENT_MULTILOGON_MSG, /**< Wiadomość wysłana z innej sesji multilogowania */ | GG_EVENT_MULTILOGON_MSG, /**< Wiadomość wysłana z innej sesji multilogowania */ | |||
GG_EVENT_MULTILOGON_INFO, /**< Informacja o innych sesjach mul tilogowania */ | GG_EVENT_MULTILOGON_INFO, /**< Informacja o innych sesjach mul tilogowania */ | |||
GG_EVENT_USERLIST100_VERSION, /**< Otrzymano numer wersji listy ko | ||||
ntaktów na serwerze (10.0) */ | ||||
GG_EVENT_USERLIST100_REPLY, /**< Wynik importu lub eksportu list | ||||
y kontaktów (10.0) */ | ||||
}; | }; | |||
#define GG_EVENT_SEARCH50_REPLY GG_EVENT_PUBDIR50_SEARCH_REPLY | #define GG_EVENT_SEARCH50_REPLY GG_EVENT_PUBDIR50_SEARCH_REPLY | |||
/** | /** | |||
* Powód nieudanego połączenia. | * Powód nieudanego połączenia. | |||
*/ | */ | |||
enum gg_failure_t { | enum gg_failure_t { | |||
GG_FAILURE_RESOLVING = 1, /**< Nie znaleziono serwera */ | GG_FAILURE_RESOLVING = 1, /**< Nie znaleziono serwera */ | |||
GG_FAILURE_CONNECTING, /**< Błąd połączenia */ | GG_FAILURE_CONNECTING, /**< Błąd połączenia */ | |||
GG_FAILURE_INVALID, /**< Serwer zwrócił nieprawidłowe da ne */ | GG_FAILURE_INVALID, /**< Serwer zwrócił nieprawidłowe da ne */ | |||
GG_FAILURE_READING, /**< Zerwano połączenie podczas odcz ytu */ | GG_FAILURE_READING, /**< Zerwano połączenie podczas odcz ytu */ | |||
GG_FAILURE_WRITING, /**< Zerwano połączenie podczas zapi su */ | GG_FAILURE_WRITING, /**< Zerwano połączenie podczas zapi su */ | |||
GG_FAILURE_PASSWORD, /**< Nieprawidłowe hasło */ | GG_FAILURE_PASSWORD, /**< Nieprawidłowe hasło */ | |||
GG_FAILURE_404, /**< Nieużywane */ | GG_FAILURE_404, /**< Nieużywane */ | |||
GG_FAILURE_TLS, /**< Błąd negocjacji szyfrowanego po łączenia */ | GG_FAILURE_TLS, /**< Błąd negocjacji szyfrowanego po łączenia */ | |||
GG_FAILURE_NEED_EMAIL, /**< Serwer rozłączył nas z prośbą o zmianę adresu e-mail */ | GG_FAILURE_NEED_EMAIL, /**< Serwer rozłączył nas z prośbą o zmianę adresu e-mail */ | |||
GG_FAILURE_INTRUDER, /**< Zbyt wiele prób połączenia z ni eprawidłowym hasłem */ | GG_FAILURE_INTRUDER, /**< Zbyt wiele prób połączenia z ni eprawidłowym hasłem */ | |||
GG_FAILURE_UNAVAILABLE /**< Serwery są wyłączone */ | GG_FAILURE_UNAVAILABLE, /**< Serwery są wyłączone */ | |||
GG_FAILURE_PROXY, /**< Błąd serwera pośredniczącego */ | ||||
GG_FAILURE_HUB, /**< Błąd połączenia z hubem */ | ||||
}; | }; | |||
/** | /** | |||
* Kod błędu danej operacji. | * Kod błędu danej operacji. | |||
* | * | |||
* Nie zawiera przesadnie szczegółowych informacji o powodach błędów, by ni e | * Nie zawiera przesadnie szczegółowych informacji o powodach błędów, by ni e | |||
* komplikować ich obsługi. Jeśli wymagana jest większa dokładność, należy | * komplikować ich obsługi. Jeśli wymagana jest większa dokładność, należy | |||
* sprawdzić zawartość zmiennej systemowej \c errno. | * sprawdzić zawartość zmiennej systemowej \c errno. | |||
*/ | */ | |||
enum gg_error_t { | enum gg_error_t { | |||
skipping to change at line 993 | skipping to change at line 1009 | |||
/** | /** | |||
* Opis zdarzenia \c GG_EVENT_MULTILOGON_INFO. | * Opis zdarzenia \c GG_EVENT_MULTILOGON_INFO. | |||
*/ | */ | |||
struct gg_event_multilogon_info { | struct gg_event_multilogon_info { | |||
int count; /**< Liczba sesji */ | int count; /**< Liczba sesji */ | |||
struct gg_multilogon_session *sessions; /** Lista sesji */ | struct gg_multilogon_session *sessions; /** Lista sesji */ | |||
}; | }; | |||
/** | /** | |||
* Opis zdarzenia \c GG_EVENT_USERLIST100_VERSION. | ||||
*/ | ||||
struct gg_event_userlist100_version { | ||||
uint32_t version; /**< Numer wersji listy kontaktów na | ||||
serwerze */ | ||||
}; | ||||
/** | ||||
* Opis zdarzenia \c GG_EVENT_USERLIST100_REPLY. | ||||
*/ | ||||
struct gg_event_userlist100_reply { | ||||
char type; /**< Rodzaj odpowiedzi */ | ||||
uint32_t version; /**< Aktualna wersja listy kontaktów | ||||
na serwerze */ | ||||
char format_type; /**< Typ formatu listy kontaktów (żą | ||||
dany w \c gg_userlist100_request.format_type) */ | ||||
char *reply; /**< Treść listy kontaktów w przesył | ||||
anej wersji i formacie */ | ||||
}; | ||||
/** | ||||
* Unia wszystkich zdarzeń zwracanych przez funkcje \c gg_watch_fd(), | * Unia wszystkich zdarzeń zwracanych przez funkcje \c gg_watch_fd(), | |||
* \c gg_dcc_watch_fd() i \c gg_dcc7_watch_fd(). | * \c gg_dcc_watch_fd() i \c gg_dcc7_watch_fd(). | |||
* | * | |||
* \ingroup events | * \ingroup events | |||
*/ | */ | |||
union gg_event_union { | union gg_event_union { | |||
enum gg_failure_t failure; /**< Błąd połączenia (\c GG_EVENT_CO NN_FAILED) */ | enum gg_failure_t failure; /**< Błąd połączenia (\c GG_EVENT_CO NN_FAILED) */ | |||
struct gg_notify_reply *notify; /**< Zmiana statusu kontaktów (\c GG _EVENT_NOTIFY) */ | struct gg_notify_reply *notify; /**< Zmiana statusu kontaktów (\c GG _EVENT_NOTIFY) */ | |||
struct gg_event_notify_descr notify_descr; /**< Zmiana statusu kontaktów (\c GG_EVENT_NOTIFY_DESCR) */ | struct gg_event_notify_descr notify_descr; /**< Zmiana statusu kontaktów (\c GG_EVENT_NOTIFY_DESCR) */ | |||
struct gg_event_status status; /**< Zmiana statusu kontaktów (\c GG _EVENT_STATUS) */ | struct gg_event_status status; /**< Zmiana statusu kontaktów (\c GG _EVENT_STATUS) */ | |||
skipping to change at line 1026 | skipping to change at line 1059 | |||
enum gg_error_t dcc7_error; /**< Błąd połączenia bezpośredniego (\c GG_EVENT_DCC7_ERROR) */ | enum gg_error_t dcc7_error; /**< Błąd połączenia bezpośredniego (\c GG_EVENT_DCC7_ERROR) */ | |||
struct gg_event_dcc7_connected dcc7_connected; /**< Informacja o ze stawieniu połączenia bezpośredniego (\c GG_EVENT_DCC7_CONNECTED) */ | struct gg_event_dcc7_connected dcc7_connected; /**< Informacja o ze stawieniu połączenia bezpośredniego (\c GG_EVENT_DCC7_CONNECTED) */ | |||
struct gg_event_dcc7_pending dcc7_pending; /**< Trwa próba połą czenia bezpośredniego (\c GG_EVENT_DCC7_PENDING) */ | struct gg_event_dcc7_pending dcc7_pending; /**< Trwa próba połą czenia bezpośredniego (\c GG_EVENT_DCC7_PENDING) */ | |||
struct gg_event_dcc7_reject dcc7_reject; /**< Odrzucono połąc zenia bezpośredniego (\c GG_EVENT_DCC7_REJECT) */ | struct gg_event_dcc7_reject dcc7_reject; /**< Odrzucono połąc zenia bezpośredniego (\c GG_EVENT_DCC7_REJECT) */ | |||
struct gg_event_dcc7_accept dcc7_accept; /**< Zaakceptowano p ołączenie bezpośrednie (\c GG_EVENT_DCC7_ACCEPT) */ | struct gg_event_dcc7_accept dcc7_accept; /**< Zaakceptowano p ołączenie bezpośrednie (\c GG_EVENT_DCC7_ACCEPT) */ | |||
struct gg_event_dcc7_done dcc7_done; /**< Zakończono połączenie b ezpośrednie (\c GG_EVENT_DCC7_DONE) */ | struct gg_event_dcc7_done dcc7_done; /**< Zakończono połączenie b ezpośrednie (\c GG_EVENT_DCC7_DONE) */ | |||
struct gg_event_typing_notification typing_notification; /**< Powiadomienie o pisaniu */ | struct gg_event_typing_notification typing_notification; /**< Powiadomienie o pisaniu */ | |||
struct gg_event_user_data user_data; /**< Informacje o kontaktach */ | struct gg_event_user_data user_data; /**< Informacje o kontaktach */ | |||
struct gg_event_msg multilogon_msg; /**< Inna sesja wysłała wiad omość (\c GG_EVENT_MULTILOGON_MSG) */ | struct gg_event_msg multilogon_msg; /**< Inna sesja wysłała wiad omość (\c GG_EVENT_MULTILOGON_MSG) */ | |||
struct gg_event_multilogon_info multilogon_info; /**< Informa cja o innych sesjach multilogowania (\c GG_EVENT_MULTILOGON_INFO) */ | struct gg_event_multilogon_info multilogon_info; /**< Informa cja o innych sesjach multilogowania (\c GG_EVENT_MULTILOGON_INFO) */ | |||
struct gg_event_userlist100_version userlist100_version; /**< | ||||
Informacja o numerze wersji listy kontaktów na serwerze (\c GG_EVENT_USERL | ||||
IST100_VERSION) */ | ||||
struct gg_event_userlist100_reply userlist100_reply; /**< Odpowie | ||||
dź listy kontaktów (10.0) (\c GG_EVENT_USERLIST100_REPLY) */ | ||||
}; | }; | |||
/** | /** | |||
* Opis zdarzenia. | * Opis zdarzenia. | |||
* | * | |||
* Zwracany przez funkcje \c gg_watch_fd(), \c gg_dcc_watch_fd() | * Zwracany przez funkcje \c gg_watch_fd(), \c gg_dcc_watch_fd() | |||
* i \c gg_dcc7_watch_fd(). Po przeanalizowaniu należy zwolnić | * i \c gg_dcc7_watch_fd(). Po przeanalizowaniu należy zwolnić | |||
* za pomocą \c gg_event_free(). | * za pomocą \c gg_event_free(). | |||
* | * | |||
* \ingroup events | * \ingroup events | |||
skipping to change at line 1255 | skipping to change at line 1290 | |||
#ifdef GG_DEBUG_DISABLE | #ifdef GG_DEBUG_DISABLE | |||
#define gg_debug(x, y...) do { } while(0) | #define gg_debug(x, y...) do { } while(0) | |||
#define gg_debug_session(z, x, y...) do { } while(0) | #define gg_debug_session(z, x, y...) do { } while(0) | |||
#else | #else | |||
void gg_debug(int level, const char *format, ...); | void gg_debug(int level, const char *format, ...); | |||
void gg_debug_session(struct gg_session *sess, int level, const char *forma t, ...); | void gg_debug_session(struct gg_session *sess, int level, const char *forma t, ...); | |||
#endif | #endif | |||
const char *gg_libgadu_version(void); | const char *gg_libgadu_version(void); | |||
/** | ||||
* Lista funkcji biblioteki, które zależą od zewnętrznych bibliotek. | ||||
* | ||||
* \ingroup version | ||||
*/ | ||||
typedef enum { | ||||
GG_LIBGADU_FEATURE_SSL, /**< Biblioteka obsługuje połączenia | ||||
szyfrowane */ | ||||
GG_LIBGADU_FEATURE_PTHREAD, /**< Biblioteka obsługuje rozwiązywa | ||||
nie nazw za pomocą wątków */ | ||||
GG_LIBGADU_FEATURE_USERLIST100, /**< Biblioteka obsługuje listę kont | ||||
aktów zgodną z Gadu-Gadu 10 */ | ||||
} gg_libgadu_feature_t; | ||||
int gg_libgadu_check_feature(gg_libgadu_feature_t feature); | ||||
extern int gg_proxy_enabled; | extern int gg_proxy_enabled; | |||
extern char *gg_proxy_host; | extern char *gg_proxy_host; | |||
extern int gg_proxy_port; | extern int gg_proxy_port; | |||
extern char *gg_proxy_username; | extern char *gg_proxy_username; | |||
extern char *gg_proxy_password; | extern char *gg_proxy_password; | |||
extern int gg_proxy_http_only; | extern int gg_proxy_http_only; | |||
extern unsigned long gg_local_ip; | extern unsigned long gg_local_ip; | |||
#define GG_LOGIN_HASH_GG32 0x01 /**< Algorytm Gadu-Gadu */ | #define GG_LOGIN_HASH_GG32 0x01 /**< Algorytm Gadu-Gadu */ | |||
skipping to change at line 1471 | skipping to change at line 1519 | |||
#define GG_DEFAULT_PORT 8074 | #define GG_DEFAULT_PORT 8074 | |||
#define GG_HTTPS_PORT 443 | #define GG_HTTPS_PORT 443 | |||
#define GG_HTTP_USERAGENT "Mozilla/4.7 [en] (Win98; I)" | #define GG_HTTP_USERAGENT "Mozilla/4.7 [en] (Win98; I)" | |||
#define GG_DEFAULT_CLIENT_VERSION "10.1.0.11070" | #define GG_DEFAULT_CLIENT_VERSION "10.1.0.11070" | |||
#define GG_DEFAULT_PROTOCOL_VERSION 0x2e | #define GG_DEFAULT_PROTOCOL_VERSION 0x2e | |||
#define GG_DEFAULT_TIMEOUT 30 | #define GG_DEFAULT_TIMEOUT 30 | |||
#define GG_HAS_AUDIO_MASK 0x40000000 | #define GG_HAS_AUDIO_MASK 0x40000000 | |||
#define GG_HAS_AUDIO7_MASK 0x20000000 | #define GG_HAS_AUDIO7_MASK 0x20000000 | |||
#define GG_ERA_OMNIX_MASK 0x04000000 | #define GG_ERA_OMNIX_MASK 0x04000000 | |||
#define GG_LIBGADU_VERSION "1.10.1" | #define GG_LIBGADU_VERSION "1.11.0" | |||
#ifndef DOXYGEN | #ifndef DOXYGEN | |||
#define GG_FEATURE_MSG77 0x0001 | #define GG_FEATURE_MSG77 0x0001 | |||
#define GG_FEATURE_STATUS77 0x0002 | #define GG_FEATURE_STATUS77 0x0002 | |||
#define GG_FEATURE_UNKNOWN_4 0x0004 | #define GG_FEATURE_UNKNOWN_4 0x0004 | |||
#define GG_FEATURE_UNKNOWN_8 0x0008 | #define GG_FEATURE_UNKNOWN_8 0x0008 | |||
#define GG_FEATURE_DND_FFC 0x0010 | #define GG_FEATURE_DND_FFC 0x0010 | |||
#define GG_FEATURE_IMAGE_DESCR 0x0020 | #define GG_FEATURE_IMAGE_DESCR 0x0020 | |||
#define GG_FEATURE_UNKNOWN_40 0x0040 | #define GG_FEATURE_UNKNOWN_40 0x0040 | |||
skipping to change at line 2077 | skipping to change at line 2125 | |||
GG_USERLIST_PUT_REPLY, /**< Wyeksportowano listy kontaktów. */ | GG_USERLIST_PUT_REPLY, /**< Wyeksportowano listy kontaktów. */ | |||
GG_USERLIST_GET_REPLY, /**< Zaimportowano listę kontaktów. */ | GG_USERLIST_GET_REPLY, /**< Zaimportowano listę kontaktów. */ | |||
}; | }; | |||
#endif /* DOXYGEN */ | #endif /* DOXYGEN */ | |||
struct gg_userlist_reply { | struct gg_userlist_reply { | |||
uint8_t type; | uint8_t type; | |||
} GG_PACKED; | } GG_PACKED; | |||
#ifndef DOXYGEN | ||||
#define GG_USERLIST100_PUT 0x00 | ||||
#define GG_USERLIST100_GET 0x02 | ||||
#else | ||||
/** | ||||
* \ingroup importexport | ||||
* | ||||
* Rodzaj zapytania (10.0). | ||||
*/ | ||||
enum { | ||||
GG_USERLIST100_PUT, /**< Eksport listy kontaktów. */ | ||||
GG_USERLIST100_GET, /**< Import listy kontaktów. */ | ||||
}; | ||||
#endif /* DOXYGEN */ | ||||
#ifndef DOXYGEN | ||||
#define GG_USERLIST100_FORMAT_TYPE_NONE 0x00 | ||||
#define GG_USERLIST100_FORMAT_TYPE_GG70 0x01 | ||||
#define GG_USERLIST100_FORMAT_TYPE_GG100 0x02 | ||||
#else | ||||
/** | ||||
* \ingroup importexport | ||||
* | ||||
* Typ formatu listy kontaktów (10.0). | ||||
*/ | ||||
enum { | ||||
GG_USERLIST100_FORMAT_TYPE_NONE, /**< Brak treści listy konta | ||||
któw. */ | ||||
GG_USERLIST100_FORMAT_TYPE_GG70, /**< Format listy kontaktów | ||||
zgodny z Gadu-Gadu 7.0. */ | ||||
GG_USERLIST100_FORMAT_TYPE_GG100, /**< Format listy kontaktów | ||||
zgodny z Gadu-Gadu 10.0. */ | ||||
}; | ||||
#endif /* DOXYGEN */ | ||||
#ifndef DOXYGEN | ||||
#define GG_USERLIST100_REPLY_LIST 0x00 | ||||
#define GG_USERLIST100_REPLY_ACK 0x10 | ||||
#define GG_USERLIST100_REPLY_REJECT 0x12 | ||||
#else | ||||
/** | ||||
* \ingroup importexport | ||||
* | ||||
* Typ odpowiedzi listy kontaktów (10.0). | ||||
*/ | ||||
enum { | ||||
GG_USERLIST100_REPLY_LIST, /**< W odpowiedzi znajduje się aktua | ||||
lna lista kontaktów na serwerze. */ | ||||
GG_USERLIST100_REPLY_ACK, /**< Potwierdzenie odebrania nowej w | ||||
ersji listy kontaktów. W polu \c gg_userlist100_reply.version znajduje się | ||||
numer nowej wersji listy kontaktów. */ | ||||
GG_USERLIST100_REPLY_REJECT, /**< Odmowa przyjęcia nowej wersji l | ||||
isty kontaktów. W polu \c gg_userlist100_reply.version znajduje się numer w | ||||
ersji listy kontaktów aktualnie przechowywanej przez serwer. */ | ||||
}; | ||||
#endif /* DOXYGEN */ | ||||
struct gg_dcc_tiny_packet { | struct gg_dcc_tiny_packet { | |||
uint8_t type; /* rodzaj pakietu */ | uint8_t type; /* rodzaj pakietu */ | |||
} GG_PACKED; | } GG_PACKED; | |||
struct gg_dcc_small_packet { | struct gg_dcc_small_packet { | |||
uint32_t type; /* rodzaj pakietu */ | uint32_t type; /* rodzaj pakietu */ | |||
} GG_PACKED; | } GG_PACKED; | |||
struct gg_dcc_big_packet { | struct gg_dcc_big_packet { | |||
uint32_t type; /* rodzaj pakietu */ | uint32_t type; /* rodzaj pakietu */ | |||
End of changes. 14 change blocks. | ||||
24 lines changed or deleted | 153 lines changed or added | |||