libgadu
1.12.2
|
Bufor wspierający budowanie pakietów typu Type-Value(s) Więcej...
Struktury danych | |
struct | gg_tvbuilder |
Bufor wspierający budowanie pakietów typu Type-Value(s)
|
static |
Poszerza bufor o podaną liczbę bajtów.
tvb | Bufor |
length | Liczba bajtów do dodania |
gg_tvbuilder_t* gg_tvbuilder_new | ( | struct gg_session * | gs, |
struct gg_event * | ge | ||
) |
Tworzy nową instancję bufora.
gs | Struktura sesji |
ge | Struktura zdarzenia |
void gg_tvbuilder_free | ( | gg_tvbuilder_t * | tvb | ) |
Zwalnia bufor.
tvb | Bufor |
void gg_tvbuilder_fail | ( | gg_tvbuilder_t * | tvb, |
enum gg_failure_t | failure | ||
) |
Zwalnia bufor i generuje błąd połączenia.
tvb | Bufor |
failure | Powód błędu |
int gg_tvbuilder_send | ( | gg_tvbuilder_t * | tvb, |
int | type | ||
) |
Próbuje wysłać zawartość bufora i go zwalnia.
tvb | Bufor |
type | Typ pakietu |
int gg_tvbuilder_is_valid | ( | const gg_tvbuilder_t * | tvb | ) |
Sprawdza, czy wszystkie zapisy do bufora były prawidłowe.
tvb | Builder. |
size_t gg_tvbuilder_get_size | ( | const gg_tvbuilder_t * | tvb | ) |
Sprawdza rozmiar bufora.
tvb | Bufor |
void gg_tvbuilder_expected_size | ( | gg_tvbuilder_t * | tvb, |
size_t | length | ||
) |
Określa oczekiwaną liczbę bajtów, o którą zostanie rozszerzony bufor.
Funkcja powoduje jedynie wzrost wydajności poprzez zmniejszenie ilości realokacji.
tvb | Builder. |
length | Oczekiwana liczba bajtów. |
void gg_tvbuilder_strip | ( | gg_tvbuilder_t * | tvb, |
size_t | length | ||
) |
Skraca bufor o podaną liczbę bajtów
tvb | Bufor |
length | Ilość bajtów do skrócenia |
void gg_tvbuilder_write_uint8 | ( | gg_tvbuilder_t * | tvb, |
uint8_t | value | ||
) |
Zapisuje do bufora liczbę 8-bitową.
tvb | Bufor |
value | Wartość do zapisania |
void gg_tvbuilder_write_uint32 | ( | gg_tvbuilder_t * | tvb, |
uint32_t | value | ||
) |
Zapisuje do bufora liczbę 32-bitową.
tvb | Bufor |
value | Wartość do zapisania |
void gg_tvbuilder_write_uint64 | ( | gg_tvbuilder_t * | tvb, |
uint64_t | value | ||
) |
Zapisuje do bufora liczbę 64-bitową.
tvb | Bufor |
value | Wartość do zapisania |
void gg_tvbuilder_write_packed_uint | ( | gg_tvbuilder_t * | tvb, |
uint64_t | value | ||
) |
Zapisuje do bufora liczbę 1-9 bajtową.
tvb | Bufor |
value | Wartość do zapisania |
void gg_tvbuilder_write_buff | ( | gg_tvbuilder_t * | tvb, |
const char * | buffer, | ||
size_t | length | ||
) |
Zapisuje do bufora zawartość innego bufora.
tvb | Bufor docelowy |
buffer | Bufor źródłowy |
length | Ilość danych do skopiowania |
void gg_tvbuilder_write_str | ( | gg_tvbuilder_t * | tvb, |
const char * | buffer, | ||
ssize_t | length | ||
) |
Zapisuje do bufora ciąg tekstowy (mogący zawierać znaki \0).
tvb | Bufor docelowy |
buffer | Bufor źródłowy |
length | Długość tekstu, lub -1, jeżeli ma zostać wyliczona automatycznie (do pierwszego znaku \0) |
void gg_tvbuilder_write_uin | ( | gg_tvbuilder_t * | tvb, |
uin_t | uin | ||
) |
Zapisuje do bufora identyfikator użytkownika.
tvb | Bufor |
uin | Identyfikator użytkownika |