Funkcje | |
| void | gg_debug_common (struct gg_session *sess, int level, const char *format, va_list ap) |
| void | gg_debug (int level, const char *format,...) |
| Przekazuje informację odpluskawiania. | |
| void | gg_debug_session (struct gg_session *sess, int level, const char *format,...) |
| Przekazuje informację odpluskwiania związaną z sesją. | |
| char * | gg_vsaprintf (const char *format, va_list ap) |
Odpowiednik funkcji vsprintf alokujący miejsce na wynik. | |
| char * | gg_saprintf (const char *format,...) |
Odpowiednik funkcji sprintf alokujący miejsce na wynik. | |
| char * | gg_get_line (char **ptr) |
| char * | gg_read_line (int sock, char *buf, int length) |
| int | gg_connect (void *addr, int port, int async) |
| Nawiązuje połączenie TCP. | |
| void | gg_chomp (char *line) |
| Usuwa znaki końca linii. | |
| char * | gg_urlencode (const char *str) |
| Koduje ciąg znaków do postacji adresu HTTP. | |
| int | gg_http_hash (const char *format,...) |
| struct in_addr * | gg_gethostbyname (const char *hostname) |
| char * | gg_base64_encode (const char *buf) |
| Koduje ciąg znaków do base64. | |
| char * | gg_base64_decode (const char *buf) |
| Dekoduje ciąg znaków zapisany w base64. | |
| char * | gg_proxy_auth () |
| static void | gg_crc32_make_table (void) |
| uint32_t | gg_crc32 (uint32_t crc, const unsigned char *buf, int len) |
| Wyznacza sumę kontrolną CRC32. | |
Zmienne | |
| FILE * | gg_debug_file = NULL |
| Plik, do którego będą przekazywane informacje odpluskwiania. | |
| static char | gg_base64_charset [] |
| static uint32_t | gg_crc32_table [256] |
| static int | gg_crc32_initialized = 0 |
| void gg_debug_common | ( | struct gg_session * | sess, | |
| int | level, | |||
| const char * | format, | |||
| va_list | ap | |||
| ) |
Tylko do użytku wewnętrznego.
Przekazuje informacje odpluskwiania do odpowiedniej funkcji.
Jeśli aplikacja ustawiła odpowiednią funkcję obsługi w gg_debug_handler_session lub gg_debug_handler, jest ona wywoływana. W przeciwnym wypadku wynik jest wysyłany do standardowego wyjścia błędu.
| sess | Struktura sesji (może być NULL) | |
| level | Poziom informacji | |
| format | Format wiadomości (zgodny z printf) | |
| ap | Lista argumentów (zgodna z printf) |
| char* gg_get_line | ( | char ** | ptr | ) |
Tylko do użytku wewnętrznego.
Pobiera linię tekstu z bufora.
Funkcja niszczy bufor źródłowy bezpowrotnie, dzieląc go na kolejne ciągi znaków i obcina znaki końca linii.
| ptr | Wskaźnik do zmiennej, która przechowuje aktualne położenie w analizowanym buforze |
| char* gg_read_line | ( | int | sock, | |
| char * | buf, | |||
| int | length | |||
| ) |
Tylko do użytku wewnętrznego.
Czyta linię tekstu z gniazda.
Funkcja czyta tekst znak po znaku, więc nie jest efektywna, ale dzięki brakowi buforowania, nie koliduje z innymi funkcjami odczytu.
| sock | Deskryptor gniazda | |
| buf | Wskaźnik do bufora | |
| length | Długość bufora |
buf jeśli się powiodło, lub NULL w przypadku błędu. | int gg_http_hash | ( | const char * | format, | |
| ... | ||||
| ) |
Tylko do użytku wewnętrznego.
Wyznacza skrót dla usług HTTP.
Funkcja jest wykorzystywana do wyznaczania skrótu adresu e-mail, hasła i innych wartości przekazywanych jako parametry usług HTTP.
W parametrze format należy umieścić znaki określające postać kolejnych parametrów: 's' jeśli parametr jest ciągiem znaków, 'u' jeśli jest liczbą.
| format | Format kolejnych parametrów (niezgodny z printf) |
| struct in_addr* gg_gethostbyname | ( | const char * | hostname | ) | [read] |
Tylko do użytku wewnętrznego.
Odpowiednik gethostbyname zapewniający współbieżność.
Jeśli dany system dostarcza gethostbyname_r, używa się tej wersji, jeśli nie, to zwykłej gethostbyname.
| hostname | Nazwa serwera |
in_addr lub NULL w przypadku błędu. | char* gg_proxy_auth | ( | void | ) |
Tylko do użytku wewnętrznego.
Tworzy nagłówek autoryzacji serwera pośredniczącego.
Dane pobiera ze zmiennych globalnych gg_proxy_username i gg_proxy_password.
| static void gg_crc32_make_table | ( | void | ) | [static] |
Tylko do użytku wewnętrznego.
Tworzy tablicę pomocniczą do wyznaczania sumy kontrolnej.
| uint32_t gg_crc32 | ( | uint32_t | crc, | |
| const unsigned char * | buf, | |||
| int | len | |||
| ) |
Wyznacza sumę kontrolną CRC32.
| crc | Suma kontrola poprzedniego bloku danych lub 0 jeśli liczona jest suma kontrolna pierwszego bloku | |
| buf | Bufor danych | |
| len | Długość bufora danych |
char gg_base64_charset[] [static] |
Wartość początkowa:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
Tylko do użytku wewnętrznego.
Zestaw znaków kodowania base64.
uint32_t gg_crc32_table[256] [static] |
Tylko do użytku wewnętrznego.
Tablica pomocnicza do wyznaczania sumy kontrolnej.
int gg_crc32_initialized = 0 [static] |
Tylko do użytku wewnętrznego.
Flaga wypełnienia tablicy pomocniczej do wyznaczania sumy kontrolnej.
1.5.6