libgadu 1.12.2

- Strona główna
- Dodatkowe strony
- Moduły
- Struktury Danych
- Pliki

Funkcje
Funkcje pomocnicze
Pozostałe funkcje

## 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

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

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

  x | Liczba do zamiany

Zwraca
  Liczba z odpowiednią kolejnością bajtów

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