Dokumentacja pliku common.c


Opis szczegółowy

Funkcje wykorzystywane przez różne moduły biblioteki.


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


Dokumentacja funkcji

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.

Parametry:
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.

Parametry:
ptr Wskaźnik do zmiennej, która przechowuje aktualne położenie w analizowanym buforze
Zwraca:
Wskaźnik do kolejnej linii tekstu lub NULL, jeśli to już koniec bufora.

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.

Parametry:
sock Deskryptor gniazda
buf Wskaźnik do bufora
length Długość bufora
Zwraca:
Zwraca 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ą.

Parametry:
format Format kolejnych parametrów (niezgodny z printf)
Zwraca:
Wartość skrótu

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.

Parametry:
hostname Nazwa serwera
Zwraca:
Zaalokowana struktura 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.

Zwraca:
Zaalokowany bufor z tekstem lub NULL, jeśli serwer pośredniczący nie jest używany lub nie wymaga autoryzacji.

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.

Parametry:
crc Suma kontrola poprzedniego bloku danych lub 0 jeśli liczona jest suma kontrolna pierwszego bloku
buf Bufor danych
len Długość bufora danych
Zwraca:
Suma kontrolna.


Dokumentacja zmiennych

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.


Wygenerowano Fri May 9 14:15:53 2008 dla libgadu programem  doxygen 1.5.5