libgadu 1.12.2

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

- Lista plików
- Globalne

Definicje | Funkcje | Zmienne
Dokumentacja pliku common.c

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

## 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_t * | gg_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

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

## Dokumentacja funkcji

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

  ptr | Wskaź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.

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

  sock | Deskryptor gniazda
  buf | Wskaźnik do bufora
  length | Długość bufora

Zwraca
  Zwraca wskaźnik na koniec odebranej linii jeśli się powiodło, lub `NULL` w przypadku błędu.

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

  format | Format kolejnych parametrów (niezgodny z `printf`)

Zwraca
  Wartość skrótu

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.

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

Wyznacza sumę kontrolną CRC32.

Parametry

  crc | Suma kontrola poprzedniego bloku danych lub 0 jeśli liczona jest suma kontrolna pierwszego bloku
  buf | Bufor danych
  len | Długość bufora danych

Zwraca
  Suma kontrolna.

uin_t gg_str_to_uin | ( | const char * | str,
|  | int | len
| ) |  |

Parsuje identyfikator użytkownika.

Parametry

  str | Ciąg tekstowy, zawierający identyfikator
  len | Długość identyfikatora

Zwraca
  Identyfikator, lub 0, jeżeli nie udało się odczytać

gg_chat_list_t* gg_chat_find | ( | struct gg_session * | sess,
|  | uint64_t | id
| ) |  |

Szuka informacji o konferencji o podanym identyfikatorze.

Parametry

  sess | Struktura sesji
  id | Identyfikator konferencji

Zwraca
  Struktura z informacjami o konferencji

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

  sess | Struktura sesji
  id | Identyfikator konferencji
  version | Wersja informacji o konferencji
  participants | Lista uczestników konferencji
  participants_count | Ilość uczestników konferencji

Zwraca
  Wartość równa 0, jeżeli zakończono powodzeniem

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

## Dokumentacja zmiennych

char gg_base64_charset[]
| static

Wartość początkowa:
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Zestaw znaków kodowania base64.

const uint32_t gg_crc32_table[256]
| static

Tablica pomocnicza do wyznaczania sumy kontrolnej.