common.c File Reference

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


Defines

#define va_copy(dest, src)   (dest) = (src)

Functions

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 (void)
uint32_t gg_crc32 (uint32_t crc, const unsigned char *buf, int len)
 Wyznacza sumę kontrolną CRC32.

Variables

static char gg_base64_charset []
static const uint32_t gg_crc32_table [256]


Detailed Description

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


Define Documentation

#define va_copy ( dest,
src   )     (dest) = (src)


Function Documentation

char* gg_get_line ( char **  ptr  ) 

For internal use only.

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.

Parameters:
ptr Wskaźnik do zmiennej, która przechowuje aktualne położenie w analizowanym buforze
Note:
Funkcja nie jest już używana. Pozostała dla zachowania ABI.
Returns:
Wskaźnik do kolejnej linii tekstu lub NULL, jeśli to już koniec bufora.

char* gg_read_line ( int  sock,
char *  buf,
int  length 
)

For internal use only.

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.

Note:
W przypadku zakończenia połączenia przez drugą stronę, ostatnia linia nie jest zwracana.
Parameters:
sock Deskryptor gniazda
buf Wskaźnik do bufora
length Długość bufora
Returns:
Zwraca wskaźnik na koniec odebranej linii jeśli się powiodło, lub NULL w przypadku błędu.

int gg_http_hash ( const char *  format,
  ... 
)

For internal use only.

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ą.

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

char* gg_proxy_auth ( void   ) 

For internal use only.

Tworzy nagłówek autoryzacji serwera pośredniczącego.

Dane pobiera ze zmiennych globalnych gg_proxy_username i gg_proxy_password.

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

uint32_t gg_crc32 ( uint32_t  crc,
const unsigned char *  buf,
int  len 
)

Wyznacza sumę kontrolną CRC32.

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


Variable Documentation

char gg_base64_charset[] [static]

Initial value:

        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

For internal use only.

Zestaw znaków kodowania base64.

const uint32_t gg_crc32_table[256] [static]

For internal use only.

Tablica pomocnicza do wyznaczania sumy kontrolnej.


Generated on Sat Feb 4 03:01:15 2012 for libgadu by  doxygen 1.5.6