Funkcje wykorzystywane przez różne moduły biblioteki. Więcej...
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,...) |
void | gg_debug_session (struct gg_session *sess, int level, const char *format,...) |
char * | gg_vsaprintf (const char *format, va_list ap) |
char * | gg_saprintf (const char *format,...) |
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) |
void | gg_chomp (char *line) |
char * | gg_urlencode (const char *str) |
int | gg_http_hash (const char *format,...) |
char * | gg_base64_encode (const char *buf) |
char * | gg_base64_decode (const char *buf) |
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. | |
char * | gg_cp_to_utf8 (const char *b) |
static int | gg_utf8_helper (unsigned char *s, int n, uint16_t *ch) |
char * | gg_utf8_to_cp (const char *b) |
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 |
static const uint16_t | table_cp1250 [] |
Funkcje wykorzystywane przez różne moduły biblioteki.
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 ) |
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_cp_to_utf8 | ( | const char * | b | ) |
Tylko do użytku wewnętrznego.
Zamienia tekst kodowany CP1250 na UTF-8.
b | Tekst źródłowy w CP1250. |
static int gg_utf8_helper | ( | unsigned char * | s, | |
int | n, | |||
uint16_t * | ch | |||
) | [static] |
Tylko do użytku wewnętrznego.
Dekoduje jeden znak UTF-8.
s | Tekst źródłowy. | |
n | Długość tekstu źródłowego. | |
ch | Wskaźnik na wynik dekodowania. |
char* gg_utf8_to_cp | ( | const char * | b | ) |
Tylko do użytku wewnętrznego.
Zamienia tekst kodowany UTF-8 na CP1250.
b | Tekst źródłowy w UTF-8. |
char gg_base64_charset[] [static] |
"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.
const uint16_t table_cp1250[] [static] |
{ 0x20ac, '?', 0x201a, '?', 0x201e, 0x2026, 0x2020, 0x2021, '?', 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179, '?', 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, '?', 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a, 0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b, 0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c, 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9, }
Tylko do użytku wewnętrznego.
Tablica konwersji między CP1250 a UTF-8.