libgadu  1.12.2
Definicje | Funkcje | Zmienne
Dokumentacja pliku common.c

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

Wykres zależności załączania dla common.c:

Definicje

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

Funkcje

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. Więcej...
 
uin_t gg_str_to_uin (const char *str, int len)
 
gg_chat_list_tgg_chat_find (struct gg_session *sess, uint64_t id)
 Szuka informacji o konferencji o podanym identyfikatorze. Więcej...
 
int gg_chat_update (struct gg_session *sess, uint64_t id, uint32_t version, const uin_t *participants, unsigned int participants_count)
 
void gg_connection_failure (struct gg_session *gs, struct gg_event *ge, enum gg_failure_t failure)
 
time_t gg_server_time (struct gg_session *gs)
 
void gg_strarr_free (char **strarr)
 
char ** gg_strarr_dup (char **strarr)
 
int gg_rand (void *buff, size_t len)
 

Zmienne

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

Opis szczegółowy

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

Dokumentacja definicji

◆ va_copy

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

Dokumentacja funkcji

◆ gg_get_line()

char* gg_get_line ( char **  ptr)

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.

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

◆ gg_read_line()

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

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.

Nota
W przypadku zakończenia połączenia przez drugą stronę, ostatnia linia nie jest zwracana.
Parametry
sockDeskryptor gniazda
bufWskaźnik do bufora
lengthDługość bufora
Zwraca
Zwraca wskaźnik na koniec odebranej linii jeśli się powiodło, lub NULL w przypadku błędu.

◆ gg_http_hash()

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

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

Parametry
formatFormat kolejnych parametrów (niezgodny z printf)
Zwraca
Wartość skrótu

◆ gg_proxy_auth()

char* gg_proxy_auth ( void  )

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

Dane pobiera ze zmiennych globalnych gg_proxy_username i gg_proxy_password.

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

◆ gg_crc32()

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

Wyznacza sumę kontrolną CRC32.

Parametry
crcSuma kontrola poprzedniego bloku danych lub 0 jeśli liczona jest suma kontrolna pierwszego bloku
bufBufor danych
lenDługość bufora danych
Zwraca
Suma kontrolna.

◆ gg_str_to_uin()

uin_t gg_str_to_uin ( const char *  str,
int  len 
)

Parsuje identyfikator użytkownika.

Parametry
strCiąg tekstowy, zawierający identyfikator
lenDługość identyfikatora
Zwraca
Identyfikator, lub 0, jeżeli nie udało się odczytać

◆ gg_chat_find()

gg_chat_list_t* gg_chat_find ( struct gg_session sess,
uint64_t  id 
)

Szuka informacji o konferencji o podanym identyfikatorze.

Parametry
sessStruktura sesji
idIdentyfikator konferencji
Zwraca
Struktura z informacjami o konferencji

◆ gg_chat_update()

int gg_chat_update ( struct gg_session sess,
uint64_t  id,
uint32_t  version,
const uin_t participants,
unsigned int  participants_count 
)

Aktualizuje informacje o konferencji.

Parametry
sessStruktura sesji
idIdentyfikator konferencji
versionWersja informacji o konferencji
participantsLista uczestników konferencji
participants_countIlość uczestników konferencji
Zwraca
Wartość równa 0, jeżeli zakończono powodzeniem

◆ gg_connection_failure()

void gg_connection_failure ( struct gg_session gs,
struct gg_event ge,
enum gg_failure_t  failure 
)

◆ gg_server_time()

time_t gg_server_time ( struct gg_session gs)

◆ gg_strarr_free()

void gg_strarr_free ( char **  strarr)

◆ gg_strarr_dup()

char** gg_strarr_dup ( char **  strarr)

◆ gg_rand()

int gg_rand ( void *  buff,
size_t  len 
)

Dokumentacja zmiennych

◆ gg_base64_charset

char gg_base64_charset[]
static
Wartość początkowa:
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Zestaw znaków kodowania base64.

◆ gg_crc32_table

const uint32_t gg_crc32_table[256]
static

Tablica pomocnicza do wyznaczania sumy kontrolnej.