Typy danych
Struktury
struct gg_change_info_request;
struct gg_dcc; struct gg_event; struct gg_file_info; struct gg_http; struct gg_login_params; struct gg_pubdir; struct gg_session; Typy wyliczeniowe
enum gg_check_t;
enum gg_error_t; enum gg_event_t; enum gg_failure_t; enum gg_session_t; enum gg_state_t; Funkcje dotyczące połączenia z serwerem
struct gg_session *gg_login(const struct gg_login_params *p);
struct gg_event *gg_watch_fd(struct gg_session *sess); void gg_event_free(struct gg_event *e); int gg_change_status(struct gg_session *sess, int status); int gg_change_status_descr(struct gg_session *sess, int status, const char *descr); int gg_send_message(struct gg_session *sess, int msgclass, uin_t recipient, unsigned char *message); int gg_send_message_ctcp(struct gg_session *sess, int msgclass, uin_t recipient, unsigned char *message, int message_len); int gg_send_message_confer(struct gg_session *sess, int msgclass, int recipients_count, uin_t *recipients, unsigned char *message); int gg_ping(struct gg_session *sess); int gg_notify(struct gg_session *sess, uin_t *userlist, int count); int gg_notify_ex(struct gg_session *sess, uin_t *userlist, char *types, int count); int gg_add_notify(struct gg_session *sess, uin_t uin); int gg_add_notify_ex(struct gg_session *sess, uin_t uin, char type); int gg_remove_notify(struct gg_session *sess, uin_t uin); int gg_remove_notify_ex(struct gg_session *sess, uin_t uin, char type); void gg_logoff(struct gg_session *sess); void gg_free_session(struct gg_session *sess); Funkcje obsługi katalogu publicznego
Funkcje obsługi katalogu publicznego GG 5.0
gg_pubdir50_t gg_pubdir50_new(int type);
int gg_pubdir50_add(gg_pubdir50_t req, const char *field, const char *value); int gg_pubdir50_seq_set(gg_pubdir50_t req, uint32_t seq); uint32_t gg_pubdir50(struct gg_session *sess, gg_pubdir50_t req); const char *gg_pubdir50_get(gg_pubdir50_t res, int num, const char *field); int gg_pubdir50_count(gg_pubdir50_t res); int gg_pubdir50_type(gg_pubdir50_t res); uin_t gg_pubdir50_next(gg_pubdir50_t res); uint32_t gg_pubdir50_seq(gg_pubdir50_t res); void gg_pubdir50_free(gg_pubdir50_t s); Funkcje obsługi list kontaktów na serwerze
;
; ; ; ; ; Funkcje obsługi bezpośrednich połączeń
struct gg_dcc *gg_dcc_socket_create(uin_t uin, uint16_t port);
struct gg_event *gg_dcc_watch_fd(struct gg_dcc *h); int gg_dcc_request(struct gg_session *sess, uin_t uin); int gg_dcc_fill_file_info(struct gg_dcc *d, const char *filename); struct gg_dcc *gg_dcc_get_file(uint32_t ip, uint16_t port, uin_t my_uin, uin_t peer_uin); struct gg_dcc *gg_dcc_send_file(uint32_t ip, uint16_t port, uin_t my_uin, uin_t peer_uin); struct gg_dcc *gg_dcc_voice_chat(uint32_t ip, uint16_t port, uin_t my_uin, uin_t peer_uin); int gg_dcc_voice_send(struct gg_dcc *d, char *buf, int length); void gg_dcc_set_type(struct gg_dcc *d, int type); void gg_dcc_free(struct gg_dcc *d); Funkcje pomocnicze
void gg_debug(int level, const char *format, ...); uint16_t gg_fix16(uint16_t x); uint32_t gg_fix32(uint32_t x); int gg_connect(void *addr, int port, int async); char *gg_saprintf(const char *format, ...); char *gg_urlencode(const char *str); void gg_chomp(char *line); struct gg_http *gg_http_connect(const char *hostname, int port, int async, const char *method, const char *path, const char *header); int gg_http_watch_fd(struct gg_http *h); void gg_http_stop(struct gg_http *h); void gg_http_free(struct gg_http *h); char *gg_base64_encode(const char *buf); char *gg_base64_decode(const char *buf); |