libgadu  1.12.2
Funkcje
Funkcje pomocnicze
Diagram współpracy dla Funkcje pomocnicze:

Funkcje

char * gg_vsaprintf (const char *format, va_list ap)
 
char * gg_saprintf (const char *format,...)
 
int gg_connect (void *addr, int port, int async)
 
void gg_chomp (char *line)
 
char * gg_urlencode (const char *str)
 
char * gg_base64_encode (const char *buf)
 
char * gg_base64_decode (const char *buf)
 
uint64_t gg_fix64 (uint64_t x)
 
uint32_t gg_fix32 (uint32_t x)
 
uint16_t gg_fix16 (uint16_t x)
 

Opis szczegółowy

Dokumentacja funkcji

◆ gg_vsaprintf()

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
formatFormat wiadomości (zgodny z printf)
apLista argumentów (zgodna z printf)
Zwraca
Zaalokowany bufor lub NULL, jeśli zabrakło pamięci.

◆ gg_saprintf()

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
formatFormat wiadomości (zgodny z printf)
Zwraca
Zaalokowany bufor lub NULL, jeśli zabrakło pamięci.

◆ gg_connect()

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

Nawiązuje połączenie TCP.

Parametry
addrWskaźnik na strukturę in_addr z adresem serwera
portPort serwera
asyncFlaga asynchronicznego połączenia
Zwraca
Deskryptor gniazda lub -1 w przypadku błędu

◆ gg_chomp()

void gg_chomp ( char *  line)

Usuwa znaki końca linii.

Funkcja działa bezpośrednio na buforze.

Parametry
lineBufor z tekstem

◆ gg_urlencode()

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
strCiąg znaków do zakodowania
Zwraca
Zaalokowany bufor lub NULL w przypadku błędu.

◆ gg_base64_encode()

char* gg_base64_encode ( const char *  buf)

Koduje ciąg znaków do base64.

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

Parametry
bufBufor z danami do zakodowania
Zwraca
Zaalokowany bufor z zakodowanymi danymi

◆ gg_base64_decode()

char* gg_base64_decode ( const char *  buf)

Dekoduje ciąg znaków zapisany w base64.

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

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

◆ gg_fix64()

uint64_t gg_fix64 ( uint64_t  x)

Zamienia kolejność bajtów w 64-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
xLiczba do zamiany
Zwraca
Liczba z odpowiednią kolejnością bajtów

◆ gg_fix32()

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
xLiczba do zamiany
Zwraca
Liczba z odpowiednią kolejnością bajtów

◆ gg_fix16()

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
xLiczba do zamiany
Zwraca
Liczba z odpowiednią kolejnością bajtów