| 41 | | #ifdef __GG_LIBGADU_HAVE_OPENSSL |
| | 46 | /** \cond ignore */ |
| | 47 | |
| | 48 | /* Defined if libgadu was compiled for bigendian machine. */ |
| | 49 | #undef GG_CONFIG_BIGENDIAN |
| | 50 | |
| | 51 | /* Defined if this machine has gethostbyname_r(). */ |
| | 52 | #undef GG_CONFIG_HAVE_GETHOSTBYNAME_R |
| | 53 | |
| | 54 | /* Defined if libgadu was compiled and linked with pthread support. */ |
| | 55 | #undef GG_CONFIG_HAVE_PTHREAD |
| | 56 | |
| | 57 | /* Defined if this machine has C99-compiliant vsnprintf(). */ |
| | 58 | #undef GG_CONFIG_HAVE_C99_VSNPRINTF |
| | 59 | |
| | 60 | /* Defined if this machine has va_copy(). */ |
| | 61 | #undef GG_CONFIG_HAVE_VA_COPY |
| | 62 | |
| | 63 | /* Defined if this machine has __va_copy(). */ |
| | 64 | #undef GG_CONFIG_HAVE___VA_COPY |
| | 65 | |
| | 66 | /* Defined if this machine supports long long. */ |
| | 67 | #undef GG_CONFIG_HAVE_LONG_LONG |
| | 68 | |
| | 69 | /* Defined if libgadu was compiled and linked with TLS support. */ |
| | 70 | #undef GG_CONFIG_HAVE_OPENSSL |
| | 71 | |
| | 72 | /* Defined if uintX_t types are defined in <stdint.h>. */ |
| | 73 | #undef GG_CONFIG_HAVE_STDINT_H |
| | 74 | |
| | 75 | /* Defined if uintX_t types are defined in <inttypes.h>. */ |
| | 76 | #undef GG_CONFIG_HAVE_INTTYPES_H |
| | 77 | |
| | 78 | /* Defined if uintX_t types are defined in <sys/inttypes.h>. */ |
| | 79 | #undef GG_CONFIG_HAVE_SYS_INTTYPES_H |
| | 80 | |
| | 81 | /* Defined if uintX_t types are defined in <sys/int_types.h>. */ |
| | 82 | #undef GG_CONFIG_HAVE_SYS_INT_TYPES_H |
| | 83 | |
| | 84 | /* Defined if uintX_t types are defined in <sys/types.h>. */ |
| | 85 | #undef GG_CONFIG_HAVE_SYS_TYPES_H |
| | 86 | |
| | 87 | #ifdef GG_CONFIG_HAVE_OPENSSL |
| 56 | | int fd; /* podgl±dany deskryptor */ \ |
| 57 | | int check; /* sprawdzamy zapis czy odczyt */ \ |
| 58 | | int state; /* aktualny stan maszynki */ \ |
| 59 | | int error; /* kod b³êdu dla GG_STATE_ERROR */ \ |
| 60 | | int type; /* rodzaj sesji */ \ |
| 61 | | int id; /* identyfikator */ \ |
| 62 | | int timeout; /* sugerowany timeout w sekundach */ \ |
| 63 | | int (*callback)(x*); /* callback przy zmianach */ \ |
| 64 | | void (*destroy)(x*); /* funkcja niszczenia */ |
| 65 | | |
| | 151 | int fd; /**< Obserwowany deskryptor */ \ |
| | 152 | int check; /**< Informacja o ÅŒÄ |
| | 153 | daniu odczytu/zapisu (patrz \ref gg_check_t) */ \ |
| | 154 | int state; /**< Aktualny stan poÅÄ |
| | 155 | czenia (patrz \ref gg_state_t) */ \ |
| | 156 | int error; /**< Kod bÅÄdu dla \c GG_STATE_ERROR (patrz \ref gg_error_t) */ \ |
| | 157 | int type; /**< Rodzaj sesji (patrz \ref gg_session_t) */ \ |
| | 158 | int id; /**< Identyfikator sesji */ \ |
| | 159 | int timeout; /**< Czas pozostaÅy do zakoÅczenia stanu */ \ |
| | 160 | int (*callback)(x*); /**< Funkcja zwrotna */ \ |
| | 161 | void (*destroy)(x*); /**< Funkcja zwalniania zasobów */ |
| | 162 | |
| | 163 | /** |
| | 164 | * Struktura wspólna dla wszystkich sesji i poÅÄ |
| | 165 | czeÅ. Pozwala na proste |
| | 166 | * rzutowanie niezaleÅŒne od rodzaju poÅÄ |
| | 167 | czenia. |
| | 168 | */ |
| 81 | | int async; /* czy po³±czenie jest asynchroniczne */ |
| 82 | | int pid; /* pid procesu resolvera */ |
| 83 | | int port; /* port, z którym siê ³±czymy */ |
| 84 | | int seq; /* numer sekwencyjny ostatniej wiadomo¶ci */ |
| 85 | | int last_pong; /* czas otrzymania ostatniego ping/pong */ |
| 86 | | int last_event; /* czas otrzymania ostatniego pakietu */ |
| 87 | | |
| 88 | | struct gg_event *event; /* zdarzenie po ->callback() */ |
| 89 | | |
| 90 | | uint32_t proxy_addr; /* adres proxy, keszowany */ |
| 91 | | uint16_t proxy_port; /* port proxy */ |
| 92 | | |
| 93 | | uint32_t hub_addr; /* adres huba po resolvniêciu */ |
| 94 | | uint32_t server_addr; /* adres serwera, od huba */ |
| 95 | | |
| 96 | | uint32_t client_addr; /* adres klienta */ |
| 97 | | uint16_t client_port; /* port, na którym klient s³ucha */ |
| 98 | | |
| 99 | | uint32_t external_addr; /* adres zewnetrzny klienta */ |
| 100 | | uint16_t external_port; /* port zewnetrzny klienta */ |
| | 187 | int async; /**< Flaga poÅÄ |
| | 188 | czenia asynchronicznego */ |
| | 189 | int pid; /**< Numer procesu rozwiÄ |
| | 190 | zujÄ |
| | 191 | cego nazwÄ serwera */ |
| | 192 | int port; /**< Port serwera */ |
| | 193 | int seq; /**< Numer sekwencyjny ostatniej wiadomoÅci */ |
| | 194 | int last_pong; /**< Czas otrzymania ostatniej ramki utrzymaniowej */ |
| | 195 | int last_event; /**< Czas otrzymania ostatniego pakietu */ |
| | 196 | |
| | 197 | struct gg_event *event; /**< Zdarzenie po wywoÅaniu \c callback */ |
| | 198 | |
| | 199 | uint32_t proxy_addr; /**< Adres serwera poÅredniczÄ |
| | 200 | cego */ |
| | 201 | uint16_t proxy_port; /**< Port serwera poÅredniczÄ |
| | 202 | cego */ |
| | 203 | |
| | 204 | uint32_t hub_addr; /**< Adres huba po rozwiÄ |
| | 205 | zaniu nazwy */ |
| | 206 | uint32_t server_addr; /**< Adres serwera otrzymany od huba */ |
| | 207 | |
| | 208 | uint32_t client_addr; /**< Adres gniazda dla poÅÄ |
| | 209 | czeÅ bezpoÅrednich do wersji Gadu-Gadu 6.x */ |
| | 210 | uint16_t client_port; /**< Port gniazda dla poÅÄ |
| | 211 | czeÅ bezpoÅrednich do wersji Gadu-Gadu 6.x */ |
| | 212 | |
| | 213 | uint32_t external_addr; /**< Publiczny adres dla poÅÄ |
| | 214 | czeÅ bezpoÅrednich do wersji Gadu-Gadu 6.x */ |
| | 215 | uint16_t external_port; /**< Publiczny port dla poÅÄ |
| | 216 | czeÅ bezpoÅrednich do wersji Gadu-Gadu 6.x */ |
| | 217 | |
| | 218 | uin_t uin; /**< WÅasny numer Gadu-Gadu */ |
| | 219 | char *password; /**< HasÅo (zwalniane po uÅŒyciu) */ |
| | 220 | |
| | 221 | int initial_status; /**< PoczÄ |
| | 222 | tkowy status */ |
| | 223 | int status; /**< Aktualny status */ |
| | 224 | |
| | 225 | char *recv_buf; /**< Bufor na odbierany pakiety */ |
| | 226 | int recv_done; /**< Liczba wczytanych bajtów pakietu */ |
| | 227 | int recv_left; /**< Liczba pozostaÅych do wczytania bajtów pakietu */ |
| | 228 | |
| | 229 | int protocol_version; /**< Wersja protokoÅu */ |
| | 230 | char *client_version; /**< Wersja klienta */ |
| | 231 | int last_sysmsg; /**< Numer ostatniej wiadomoÅci systemowej */ |
| | 232 | |
| | 233 | char *initial_descr; /**< PoczÄ |
| | 234 | tkowy opis statusu */ |
| | 235 | |
| | 236 | void *resolver; /**< Dane prywatne procesu lub wÄ |
| | 237 | tku rozwiÄ |
| | 238 | zujÄ |
| | 239 | cego nazwÄ serwera */ |
| | 240 | |
| | 241 | char *header_buf; /**< Bufor na poczÄ |
| | 242 | tek nagÅówka pakietu */ |
| | 243 | unsigned int header_done; /**< Liczba wczytanych bajtów nagÅówka pakietu */ |
| | 244 | |
| | 245 | #ifdef GG_CONFIG_HAVE_OPENSSL |
| | 246 | SSL *ssl; /**< Struktura TLS */ |
| | 247 | SSL_CTX *ssl_ctx; /**< Kontekst sesji TLS */ |
| | 248 | #else |
| | 249 | void *ssl; /**< Struktura TLS */ |
| | 250 | void *ssl_ctx; /**< Kontekst sesji TLS */ |
| | 251 | #endif |
| | 252 | |
| | 253 | int image_size; /**< Maksymalny rozmiar obsÅugiwanych obrazków w KiB */ |
| | 254 | |
| | 255 | char *userlist_reply; /**< Bufor z odbieranÄ |
| | 256 | listÄ |
| | 257 | kontaktów */ |
| | 258 | |
| | 259 | int userlist_blocks; /**< Liczba czÄÅci listy kontaktów */ |
| | 260 | |
| | 261 | struct gg_image_queue *images; /**< Lista wczytywanych obrazków */ |
| | 262 | |
| | 263 | int hash_type; /**< Rodzaj funkcji skrótu hasÅa */ |
| | 264 | |
| | 265 | char *send_buf; /**< Bufor z danymi do wysÅania */ |
| | 266 | int send_left; /**< Liczba bajtów do wysÅania */ |
| | 267 | |
| | 268 | struct gg_dcc7 *dcc7_list; /**< Lista poÅÄ |
| | 269 | czeÅ bezpoÅrednich skojarzonych z sesjÄ |
| | 270 | */ |
| 102 | | uin_t uin; /* numerek klienta */ |
| 103 | | char *password; /* i jego has³o. zwalniane automagicznie */ |
| 104 | | |
| 105 | | int initial_status; /* pocz±tkowy stan klienta */ |
| 106 | | int status; /* aktualny stan klienta */ |
| 107 | | |
| 108 | | char *recv_buf; /* bufor na otrzymywane pakiety */ |
| 109 | | int recv_done; /* ile ju¿ wczytano do bufora */ |
| 110 | | int recv_left; /* i ile jeszcze trzeba wczytaæ */ |
| 111 | | |
| 112 | | int protocol_version; /* wersja u¿ywanego protoko³u */ |
| 113 | | char *client_version; /* wersja u¿ywanego klienta */ |
| 114 | | int last_sysmsg; /* ostatnia wiadomo¶æ systemowa */ |
| 115 | | |
| 116 | | char *initial_descr; /* pocz±tkowy opis stanu klienta */ |
| 117 | | |
| 118 | | void *resolver; /* wskaŒnik na informacje resolvera */ |
| 119 | | |
| 120 | | char *header_buf; /* bufor na pocz±tek nag³ówka */ |
| 121 | | unsigned int header_done;/* ile ju¿ mamy */ |
| 122 | | |
| 123 | | #ifdef __GG_LIBGADU_HAVE_OPENSSL |
| 124 | | SSL *ssl; /* sesja TLS */ |
| 125 | | SSL_CTX *ssl_ctx; /* kontekst sesji? */ |
| 126 | | #else |
| 127 | | void *ssl; /* zachowujemy ABI */ |
| 128 | | void *ssl_ctx; |
| 129 | | #endif |
| 130 | | |
| 131 | | int image_size; /* maksymalny rozmiar obrazków w KiB */ |
| 132 | | |
| 133 | | char *userlist_reply; /* fragment odpowiedzi listy kontaktów */ |
| 134 | | |
| 135 | | int userlist_blocks; /* na ile kawa³ków podzielono listê kontaktów */ |
| 136 | | |
| 137 | | struct gg_image_queue *images; /* aktualnie wczytywane obrazki */ |
| 138 | | }; |
| 139 | | |
| 140 | | /* |
| 141 | | * struct gg_http |
| 142 | | * |
| 143 | | * ogólna struktura opisuj±ca stan wszystkich operacji HTTP. tworzona |
| 144 | | * przez gg_http_connect(), zwalniana przez gg_http_free(). |
| | 272 | int soft_timeout; /**< Flaga mówiÄ |
| | 273 | ca, ÅŒe po przekroczeniu \c timeout naleÅŒy wywoÅaÄ \c gg_watch_fd() */ |
| | 274 | }; |
| | 275 | |
| | 276 | /** |
| | 277 | * PoÅÄ |
| | 278 | czenie HTTP. |
| | 279 | * |
| | 280 | * Tworzone przez \c gg_http_connect(), zwalniane przez \c gg_http_free(). |
| | 281 | * |
| | 282 | * \ingroup http |
| 149 | | int async; /* czy po³±czenie asynchroniczne */ |
| 150 | | int pid; /* pid procesu resolvera */ |
| 151 | | int port; /* port, z którym siê ³±czymy */ |
| 152 | | |
| 153 | | char *query; /* bufor zapytania http */ |
| 154 | | char *header; /* bufor nag³ówka */ |
| 155 | | int header_size; /* rozmiar wczytanego nag³ówka */ |
| 156 | | char *body; /* bufor otrzymanych informacji */ |
| 157 | | unsigned int body_size; /* oczekiwana ilo¶æ informacji */ |
| 158 | | |
| 159 | | void *data; /* dane danej operacji http */ |
| 160 | | |
| 161 | | char *user_data; /* dane u¿ytkownika, nie s± zwalniane przez gg_http_free() */ |
| 162 | | |
| 163 | | void *resolver; /* wskaŒnik na informacje resolvera */ |
| 164 | | |
| 165 | | unsigned int body_done; /* ile ju¿ tre¶ci odebrano? */ |
| 166 | | }; |
| | 287 | int async; /**< Flaga poÅÄ |
| | 288 | czenia asynchronicznego */ |
| | 289 | int pid; /**< Identyfikator procesu rozwiÄ |
| | 290 | zujÄ |
| | 291 | cego nazwÄ serwera */ |
| | 292 | int port; /**< Port */ |
| | 293 | |
| | 294 | char *query; /**< Zapytanie HTTP */ |
| | 295 | char *header; /**< Odebrany nagÅówek */ |
| | 296 | int header_size; /**< Rozmiar wczytanego nagÅówka */ |
| | 297 | char *body; /**< Odebrana strona */ |
| | 298 | unsigned int body_size; /**< Rozmiar strony */ |
| | 299 | |
| | 300 | void *data; /**< Dane prywatne usÅugi HTTP */ |
| | 301 | |
| | 302 | char *user_data; /**< Dane prywatne uÅŒytkownika (nie sÄ |
| | 303 | zwalniane) */ |
| | 304 | |
| | 305 | void *resolver; /**< Dane prywatne procesu lub wÄ |
| | 306 | tku rozwiÄ |
| | 307 | zujÄ |
| | 308 | cego nazwÄ */ |
| | 309 | |
| | 310 | unsigned int body_done; /**< Liczba odebranych bajtów strony */ |
| | 311 | }; |
| | 312 | |
| | 313 | /** \cond ignore */ |
| 183 | | uint32_t mode; /* dwFileAttributes */ |
| 184 | | uint32_t ctime[2]; /* ftCreationTime */ |
| 185 | | uint32_t atime[2]; /* ftLastAccessTime */ |
| 186 | | uint32_t mtime[2]; /* ftLastWriteTime */ |
| 187 | | uint32_t size_hi; /* nFileSizeHigh */ |
| 188 | | uint32_t size; /* nFileSizeLow */ |
| 189 | | uint32_t reserved0; /* dwReserved0 */ |
| 190 | | uint32_t reserved1; /* dwReserved1 */ |
| 191 | | unsigned char filename[GG_MAX_PATH - 14]; /* cFileName */ |
| 192 | | unsigned char short_filename[14]; /* cAlternateFileName */ |
| 193 | | } GG_PACKED; |
| 194 | | |
| 195 | | /* |
| 196 | | * struct gg_dcc |
| 197 | | * |
| 198 | | * struktura opisuj±ca nas³uchuj±ce gniazdo po³±czeñ miêdzy klientami. |
| 199 | | * tworzona przez gg_dcc_socket_create(), zwalniana przez gg_dcc_free(). |
| | 332 | uint32_t mode; /**< dwFileAttributes */ |
| | 333 | uint32_t ctime[2]; /**< ftCreationTime */ |
| | 334 | uint32_t atime[2]; /**< ftLastAccessTime */ |
| | 335 | uint32_t mtime[2]; /**< ftLastWriteTime */ |
| | 336 | uint32_t size_hi; /**< nFileSizeHigh */ |
| | 337 | uint32_t size; /**< nFileSizeLow */ |
| | 338 | uint32_t reserved0; /**< dwReserved0 */ |
| | 339 | uint32_t reserved1; /**< dwReserved1 */ |
| | 340 | unsigned char filename[GG_MAX_PATH - 14]; /**< cFileName */ |
| | 341 | unsigned char short_filename[14]; /**< cAlternateFileName */ |
| | 342 | } /** \cond ignore */ GG_PACKED /** \endcond */; |
| | 343 | |
| | 344 | /** |
| | 345 | * PoÅÄ |
| | 346 | czenie bezpoÅrednie do wersji Gadu-Gadu 6.x. |
| | 347 | * |
| | 348 | * Tworzone przez \c gg_dcc_socket_create(), \c gg_dcc_get_file(), |
| | 349 | * \c gg_dcc_send_file() lub \c gg_dcc_voice_chat(), zwalniane przez |
| | 350 | * \c gg_dcc_free(). |
| | 351 | * |
| | 352 | * \ingroup dcc6 |
| 204 | | struct gg_event *event; /* opis zdarzenia */ |
| 205 | | |
| 206 | | int active; /* czy to my siê ³±czymy? */ |
| 207 | | int port; /* port, na którym siedzi */ |
| 208 | | uin_t uin; /* uin klienta */ |
| 209 | | uin_t peer_uin; /* uin drugiej strony */ |
| 210 | | int file_fd; /* deskryptor pliku */ |
| 211 | | unsigned int offset; /* offset w pliku */ |
| 212 | | unsigned int chunk_size;/* rozmiar kawa³ka */ |
| 213 | | unsigned int chunk_offset;/* offset w aktualnym kawa³ku */ |
| | 357 | struct gg_event *event; /**< Zdarzenie po wywoÅaniu \c callback */ |
| | 358 | |
| | 359 | int active; /**< Flaga poÅÄ |
| | 360 | czenia aktywnego (nieuÅŒywana) */ |
| | 361 | int port; /**< Port gniazda nasÅuchujÄ |
| | 362 | cego */ |
| | 363 | uin_t uin; /**< WÅasny numer Gadu-Gadu */ |
| | 364 | uin_t peer_uin; /**< Numer Gadu-Gadu drugiej strony poÅÄ |
| | 365 | czenia */ |
| | 366 | int file_fd; /**< deskryptor pliku */ |
| | 367 | unsigned int offset; /**< PoÅoÅŒenie w pliku */ |
| | 368 | unsigned int chunk_size; |
| | 369 | /**< Rozmiar kawaÅka pliku */ |
| | 370 | unsigned int chunk_offset; |
| | 371 | /**< PoÅoÅŒenie w aktualnym kawaÅku pliku */ |
| 215 | | /* informacje o pliku */ |
| 216 | | int established; /* po³±czenie ustanowione */ |
| 217 | | char *voice_buf; /* bufor na pakiet po³±czenia g³osowego */ |
| 218 | | int incoming; /* po³±czenie przychodz±ce */ |
| 219 | | char *chunk_buf; /* bufor na kawa³ek danych */ |
| 220 | | uint32_t remote_addr; /* adres drugiej strony */ |
| 221 | | uint16_t remote_port; /* port drugiej strony */ |
| 222 | | }; |
| 223 | | |
| 224 | | /* |
| 225 | | * enum gg_session_t |
| 226 | | * |
| 227 | | * rodzaje sesji. |
| | 373 | /**< Informacje o pliku */ |
| | 374 | int established; /**< Flaga ustanowienia poÅÄ |
| | 375 | czenia */ |
| | 376 | char *voice_buf; /**< Bufor na pakiet poÅÄ |
| | 377 | czenia gÅosowego */ |
| | 378 | int incoming; /**< Flaga poÅÄ |
| | 379 | czenia przychodzÄ |
| | 380 | cego */ |
| | 381 | char *chunk_buf; /**< Bufor na fragment danych */ |
| | 382 | uint32_t remote_addr; /**< Adres drugiej strony */ |
| | 383 | uint16_t remote_port; /**< Port drugiej strony */ |
| | 384 | }; |
| | 385 | |
| | 386 | #define GG_DCC7_HASH_LEN 20 /**< Maksymalny rozmiar skrótu pliku w poÅÄ |
| | 387 | czeniach bezpoÅrenich */ |
| | 388 | #define GG_DCC7_FILENAME_LEN 255 /**< Maksymalny rozmiar nazwy pliku w poÅÄ |
| | 389 | czeniach bezpoÅrednich */ |
| | 390 | #define GG_DCC7_INFO_LEN 64 /**< Maksymalny rozmiar informacji o poÅÄ |
| | 391 | czeniach bezpoÅrednich */ |
| | 392 | |
| | 393 | /** |
| | 394 | * PoÅÄ |
| | 395 | czenie bezpoÅrednie od wersji Gadu-Gadu 7.x. |
| | 396 | * |
| | 397 | * \ingroup dcc7 |
| | 398 | */ |
| | 399 | struct gg_dcc7 { |
| | 400 | gg_common_head(struct gg_dcc7) |
| | 401 | |
| | 402 | gg_dcc7_id_t cid; /**< Identyfikator poÅÄ |
| | 403 | czenia */ |
| | 404 | |
| | 405 | struct gg_event *event; /**< Struktura zdarzenia */ |
| | 406 | |
| | 407 | uin_t uin; /**< WÅasny numer Gadu-Gadu */ |
| | 408 | uin_t peer_uin; /**< Numer Gadu-Gadu drugiej strony poÅÄ |
| | 409 | czenia */ |
| | 410 | |
| | 411 | int file_fd; /**< Deskryptor przesyÅanego pliku */ |
| | 412 | unsigned int offset; /**< Aktualne poÅoÅŒenie w przesyÅanym pliku */ |
| | 413 | unsigned int size; /**< Rozmiar przesyÅanego pliku */ |
| | 414 | unsigned char filename[GG_DCC7_FILENAME_LEN + 1]; |
| | 415 | /**< Nazwa przesyÅanego pliku */ |
| | 416 | unsigned char hash[GG_DCC7_HASH_LEN]; |
| | 417 | /**< Skrót SHA1 przesyÅanego pliku */ |
| | 418 | |
| | 419 | int dcc_type; /**< Rodzaj poÅÄ |
| | 420 | czenia bezpoÅredniego */ |
| | 421 | int established; /**< Flaga ustanowienia poÅÄ |
| | 422 | czenia */ |
| | 423 | int incoming; /**< Flaga poÅÄ |
| | 424 | czenia przychodzÄ |
| | 425 | cego */ |
| | 426 | int reverse; /**< Flaga poÅÄ |
| | 427 | czenia zwrotnego */ |
| | 428 | |
| | 429 | uint32_t local_addr; /**< Adres lokalny */ |
| | 430 | uint16_t local_port; /**< Port lokalny */ |
| | 431 | |
| | 432 | uint32_t remote_addr; /**< Adres drugiej strony */ |
| | 433 | uint16_t remote_port; /**< Port drugiej strony */ |
| | 434 | |
| | 435 | struct gg_session *sess; |
| | 436 | /**< Sesja do której przypisano poÅÄ |
| | 437 | czenie */ |
| | 438 | struct gg_dcc7 *next; /**< NastÄpne poÅÄ |
| | 439 | czenie w liÅcie */ |
| | 440 | |
| | 441 | int soft_timeout; /**< Flaga mówiÄ |
| | 442 | ca, ÅŒe po przekroczeniu \c timeout naleÅŒy wywoÅaÄ \c gg_dcc7_watch_fd() */ |
| | 443 | int seek; /**< Flaga mówiÄ |
| | 444 | ca, ÅŒe moÅŒna zmieniaÄ poÅoÅŒenie w wysyÅanym pliku */ |
| | 445 | }; |
| | 446 | |
| | 447 | /** |
| | 448 | * Rodzaj sesji. |
| 230 | | GG_SESSION_GG = 1, /* po³±czenie z serwerem gg */ |
| 231 | | GG_SESSION_HTTP, /* ogólna sesja http */ |
| 232 | | GG_SESSION_SEARCH, /* szukanie */ |
| 233 | | GG_SESSION_REGISTER, /* rejestrowanie */ |
| 234 | | GG_SESSION_REMIND, /* przypominanie has³a */ |
| 235 | | GG_SESSION_PASSWD, /* zmiana has³a */ |
| 236 | | GG_SESSION_CHANGE, /* zmiana informacji o sobie */ |
| 237 | | GG_SESSION_DCC, /* ogólne po³±czenie DCC */ |
| 238 | | GG_SESSION_DCC_SOCKET, /* nas³uchuj±cy socket */ |
| 239 | | GG_SESSION_DCC_SEND, /* wysy³anie pliku */ |
| 240 | | GG_SESSION_DCC_GET, /* odbieranie pliku */ |
| 241 | | GG_SESSION_DCC_VOICE, /* rozmowa g³osowa */ |
| 242 | | GG_SESSION_USERLIST_GET, /* pobieranie userlisty */ |
| 243 | | GG_SESSION_USERLIST_PUT, /* wysy³anie userlisty */ |
| 244 | | GG_SESSION_UNREGISTER, /* usuwanie konta */ |
| 245 | | GG_SESSION_USERLIST_REMOVE, /* usuwanie userlisty */ |
| 246 | | GG_SESSION_TOKEN, /* pobieranie tokenu */ |
| 247 | | |
| 248 | | GG_SESSION_USER0 = 256, /* zdefiniowana dla u¿ytkownika */ |
| 249 | | GG_SESSION_USER1, /* j.w. */ |
| 250 | | GG_SESSION_USER2, /* j.w. */ |
| 251 | | GG_SESSION_USER3, /* j.w. */ |
| 252 | | GG_SESSION_USER4, /* j.w. */ |
| 253 | | GG_SESSION_USER5, /* j.w. */ |
| 254 | | GG_SESSION_USER6, /* j.w. */ |
| 255 | | GG_SESSION_USER7 /* j.w. */ |
| 256 | | }; |
| 257 | | |
| 258 | | /* |
| 259 | | * enum gg_state_t |
| 260 | | * |
| 261 | | * opisuje stan asynchronicznej maszyny. |
| | 451 | GG_SESSION_GG = 1, /**< PoÅÄ |
| | 452 | czenie z serwerem Gadu-Gadu */ |
| | 453 | GG_SESSION_HTTP, /**< PoÅÄ |
| | 454 | czenie HTTP */ |
| | 455 | GG_SESSION_SEARCH, /**< Wyszukiwanie w katalogu publicznym (nieaktualne) */ |
| | 456 | GG_SESSION_REGISTER, /**< Rejestracja nowego konta */ |
| | 457 | GG_SESSION_REMIND, /**< Przypominanie hasÅa */ |
| | 458 | GG_SESSION_PASSWD, /**< Zmiana hasÅa */ |
| | 459 | GG_SESSION_CHANGE, /**< Zmiana informacji w katalogu publicznym (nieaktualne) */ |
| | 460 | GG_SESSION_DCC, /**< PoÅÄ |
| | 461 | czenie bezpoÅrednie (do wersji 6.x) */ |
| | 462 | GG_SESSION_DCC_SOCKET, /**< Gniazdo nasÅuchujÄ |
| | 463 | ce (do wersji 6.x) */ |
| | 464 | GG_SESSION_DCC_SEND, /**< WysyÅanie pliku (do wersji 6.x) */ |
| | 465 | GG_SESSION_DCC_GET, /**< Odbieranie pliku (do wersji 6.x) */ |
| | 466 | GG_SESSION_DCC_VOICE, /**< Rozmowa gÅosowa (do wersji 6.x) */ |
| | 467 | GG_SESSION_USERLIST_GET, /**< Import listy kontaktów z serwera (nieaktualne) */ |
| | 468 | GG_SESSION_USERLIST_PUT, /**< Eksport listy kontaktów do serwera (nieaktualne) */ |
| | 469 | GG_SESSION_UNREGISTER, /**< Usuwanie konta */ |
| | 470 | GG_SESSION_USERLIST_REMOVE, /**< Usuwanie listy kontaktów z serwera (nieaktualne) */ |
| | 471 | GG_SESSION_TOKEN, /**< Pobieranie tokenu */ |
| | 472 | GG_SESSION_DCC7_SOCKET, /**< Gniazdo nasÅuchujÄ |
| | 473 | ce (od wersji 7.x) */ |
| | 474 | GG_SESSION_DCC7_SEND, /**< WysyÅanie pliku (od wersji 7.x) */ |
| | 475 | GG_SESSION_DCC7_GET, /**< Odbieranie pliku (od wersji 7.x) */ |
| | 476 | GG_SESSION_DCC7_VOICE, /**< Rozmowa gÅosowa (od wersji 7.x) */ |
| | 477 | |
| | 478 | GG_SESSION_USER0 = 256, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 479 | GG_SESSION_USER1, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 480 | GG_SESSION_USER2, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 481 | GG_SESSION_USER3, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 482 | GG_SESSION_USER4, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 483 | GG_SESSION_USER5, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 484 | GG_SESSION_USER6, /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 485 | GG_SESSION_USER7 /**< Rodzaj zadeklarowany dla uÅŒytkownika */ |
| | 486 | }; |
| | 487 | |
| | 488 | /** |
| | 489 | * Aktualny stan sesji. |