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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/