Funkcje pomocnicze
[Pozostałe funkcje]


Funkcje

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.
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.
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.
uint32_t gg_fix32 (uint32_t x)
 Zamienia kolejność bajtów w 32-bitowym słowie.
uint16_t gg_fix16 (uint16_t x)
 Zamienia kolejność bajtów w 16-bitowym słowie.


Dokumentacja funkcji

char* gg_vsaprintf ( const char *  format,
va_list  ap 
)

Odpowiednik funkcji vsprintf alokujący miejsce na wynik.

Funkcja korzysta z funkcji vsnprintf, sprawdzając czy dostępna funkcja systemowa jest zgodna ze standardem C99 czy wcześniejszymi.

Parametry:
format Format wiadomości (zgodny z printf)
ap Lista argumentów (zgodna z printf)
Zwraca:
Zaalokowany bufor lub NULL, jeśli zabrakło pamięci.

char* gg_saprintf ( const char *  format,
  ... 
)

Odpowiednik funkcji sprintf alokujący miejsce na wynik.

Funkcja korzysta z funkcji vsnprintf, sprawdzając czy dostępna funkcja systemowa jest zgodna ze standardem C99 czy wcześniejszymi.

Parametry:
format Format wiadomości (zgodny z printf)
Zwraca:
Zaalokowany bufor lub NULL, jeśli zabrakło pamięci.

int gg_connect ( void *  addr,
int  port,
int  async 
)

Nawiązuje połączenie TCP.

Parametry:
addr Wskaźnik na strukturę in_addr z adresem serwera
port Port serwera
async Flaga asynchronicznego połączenia
Zwraca:
Deskryptor gniazda lub -1 w przypadku błędu

void gg_chomp ( char *  line  ) 

Usuwa znaki końca linii.

Funkcja działa bezpośrednio na buforze.

Parametry:
line Bufor z tekstem

char* gg_urlencode ( const char *  str  ) 

Koduje ciąg znaków do postacji adresu HTTP.

Zamienia znaki niedrukowalne, spoza ASCII i mające specjalne znaczenie dla protokołu HTTP na encje postaci XX, gdzie XX jest szesnastkową wartością znaku.

Parametry:
str Ciąg znaków do zakodowania
Zwraca:
Zaalokowany bufor lub NULL w przypadku błędu.

char* gg_base64_encode ( const char *  buf  ) 

Koduje ciąg znaków do base64.

Wynik funkcji należy zwolnić za pomocą free.

Parametry:
buf Bufor z danami do zakodowania
Zwraca:
Zaalokowany bufor z zakodowanymi danymi

char* gg_base64_decode ( const char *  buf  ) 

Dekoduje ciąg znaków zapisany w base64.

Wynik funkcji należy zwolnić za pomocą free.

Parametry:
buf Bufor źródłowy z danymi do zdekodowania
Zwraca:
Zaalokowany bufor ze zdekodowanymi danymi

uint32_t gg_fix32 ( uint32_t  x  ) 

Zamienia kolejność bajtów w 32-bitowym słowie.

Ze względu na little-endianowość protokołu Gadu-Gadu, na maszynach big-endianowych odwraca kolejność bajtów w słowie.

Parametry:
x Liczba do zamiany
Zwraca:
Liczba z odpowiednią kolejnością bajtów

uint16_t gg_fix16 ( uint16_t  x  ) 

Zamienia kolejność bajtów w 16-bitowym słowie.

Ze względu na little-endianowość protokołu Gadu-Gadu, na maszynach big-endianowych zamienia kolejność bajtów w słowie.

Parametry:
x Liczba do zamiany
Zwraca:
Liczba z odpowiednią kolejnością bajtów


Wygenerowano Wed Nov 5 02:25:52 2008 dla libgadu programem  doxygen 1.5.6