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.