| ekg2
    GIT master
    | 
#include "ekg2.h"#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include "emoticons.h"#include "objects.h"
| Funkcje | |
| static int | protocol_disconnected (void *data, va_list ap) | 
| static int | protocol_connected (void *data, va_list ap) | 
| static int | protocol_message_ack (void *data, va_list ap) | 
| static int | protocol_status (void *data, va_list ap) | 
| static int | protocol_message (void *data, va_list ap) | 
| static int | protocol_xstate (void *data, va_list ap) | 
| static int | protocol_userlist_changed (void *data, va_list ap) | 
| void | protocol_init () | 
| static gint | protocol_reconnect_handler (gint type, session_t *s) | 
| int | protocol_disconnected_emit (const session_t *s, const char *reason, int type) | 
| int | protocol_connected_emit (const session_t *s) | 
| int | protocol_status_emit (const session_t *s, const char *uid, int status, char *descr, time_t when) | 
| char * | message_print (const char *session, const char *sender, const char **rcpts, const char *__text, const guint32 *format, time_t sent, int mclass, const char *seq, int dobeep, int secure) | 
| int | protocol_message_emit (const session_t *s, const char *uid, char **rcpts, const char *text, const guint32 *format, time_t sent, int mclass, const char *seq, int dobeep, int secure) | 
| int | protocol_message_ack_emit (const session_t *s, const char *rcpt, const char *seq, int status) | 
| int | protocol_xstate_emit (const session_t *s, const char *uid, int state, int offstate) | 
| char * | protocol_uid (const char *proto, const char *target) | 
| static void | dcc_free_item (dcc_t *data) | 
| static void | dccs_add (dcc_t *new_) | 
| static void | dccs_remove (dcc_t *elem) | 
| dcc_t * | dcc_add (session_t *session, const char *uid, dcc_type_t type, void *priv) | 
| int | dcc_close (dcc_t *d) | 
| dcc_close_handler_t | dcc_close_handler_get (dcc_t *o) | 
| int | dcc_close_handler_set (dcc_t *o, dcc_close_handler_t v) | 
| int | dcc_filename_set (dcc_t *o, const char *v) | 
| const char * | dcc_filename_get (dcc_t *o) | 
| int | dcc_offset_get (dcc_t *o) | 
| int | dcc_offset_set (dcc_t *o, int v) | 
| int | dcc_size_get (dcc_t *o) | 
| int | dcc_size_set (dcc_t *o, int v) | 
| const char * | dcc_uid_get (dcc_t *o) | 
| int | dcc_id_get (dcc_t *o) | 
| void * | dcc_private_get (dcc_t *o) | 
| int | dcc_private_set (dcc_t *o, void *v) | 
| time_t | dcc_started_get (dcc_t *o) | 
| int | dcc_active_get (dcc_t *o) | 
| int | dcc_active_set (dcc_t *o, int v) | 
| dcc_type_t | dcc_type_get (dcc_t *o) | 
| int | dcc_type_set (dcc_t *o, dcc_type_t v) | 
| Zmienne | |
| static int | auto_find_limit = 100 | 
| dcc_t * | dccs = NULL | 
| int dcc_active_get | ( | dcc_t * | o | ) | 
| int dcc_active_set | ( | dcc_t * | o, | 
| int | v | ||
| ) | 
| dcc_t* dcc_add | ( | session_t * | session, | 
| const char * | uid, | ||
| dcc_type_t | type, | ||
| void * | priv | ||
| ) | 
| int dcc_close | ( | dcc_t * | d | ) | 
| dcc_close_handler_t dcc_close_handler_get | ( | dcc_t * | o | ) | 
| int dcc_close_handler_set | ( | dcc_t * | o, | 
| dcc_close_handler_t | v | ||
| ) | 
| const char* dcc_filename_get | ( | dcc_t * | o | ) | 
| int dcc_filename_set | ( | dcc_t * | o, | 
| const char * | v | ||
| ) | 
| 
 | static | 
| int dcc_id_get | ( | dcc_t * | o | ) | 
| int dcc_offset_get | ( | dcc_t * | o | ) | 
| int dcc_offset_set | ( | dcc_t * | o, | 
| int | v | ||
| ) | 
| void* dcc_private_get | ( | dcc_t * | o | ) | 
| int dcc_private_set | ( | dcc_t * | o, | 
| void * | v | ||
| ) | 
| int dcc_size_get | ( | dcc_t * | o | ) | 
| int dcc_size_set | ( | dcc_t * | o, | 
| int | v | ||
| ) | 
| time_t dcc_started_get | ( | dcc_t * | o | ) | 
| dcc_type_t dcc_type_get | ( | dcc_t * | o | ) | 
| int dcc_type_set | ( | dcc_t * | o, | 
| dcc_type_t | v | ||
| ) | 
| const char* dcc_uid_get | ( | dcc_t * | o | ) | 
| 
 | static | 
| 
 | static | 
| char* message_print | ( | const char * | session, | 
| const char * | sender, | ||
| const char ** | rcpts, | ||
| const char * | __text, | ||
| const guint32 * | format, | ||
| time_t | sent, | ||
| int | mclass, | ||
| const char * | seq, | ||
| int | dobeep, | ||
| int | secure | ||
| ) | 
| 
 | static | 
Handler for PROTOCOL_CONNECTED
 When session notify core about connection we do here:
| ap | 1st param: (char *) session - session uid which goes connected. | 
| data | NULL | 
| int protocol_connected_emit | ( | const session_t * | s | ) | 
| 
 | static | 
Handler for PROTOCOL_DISCONNECTED
 When session notify core about disconnection we do here:
| ap | 1st param: (char *) session - session uid which goes disconnect | 
| ap | 2nd param: (char *) reason - reason why session goes disconnect.. It's reason specifed by user if EKG_DISCONNECT_USER, else string with error description like from: strerror().. [if EKG_DISCONNECT_FAILURE] | 
| ap | 3rd param: (int) type - type of disconnection one of: [EKG_DISCONNECT_USER, EKG_DISCONNECT_NETWORK, EKG_DISCONNECT_FORCED, EKG_DISCONNECT_FAILURE, EKG_DISCONNECT_STOPPED] | 
| data | NULL | 
| int protocol_disconnected_emit | ( | const session_t * | s, | 
| const char * | reason, | ||
| int | type | ||
| ) | 
| void protocol_init | ( | ) | 
Init communication between core and PROTOCOL plugins
 
 Here, we register main communication channels like:
| 
 | static | 
| 
 | static | 
Handler for PROTOCOL_MESSAGE_ACK When session notifies core about receiving acknowledgement for our message, we:
| ap | 1st param: (char *) session - session which send this notify | 
| ap | 2nd param: (char *) rcpt - user uid who confirm receiving messages | 
| ap | 3rd param: (char *) seq - sequence id of message | 
| ap | 4th param: int __status - type of confirmation; one of: [EKG_ACK_DELIVERED, EKG_ACK_QUEUED, EKG_ACK_DROPPED, EKG_ACK_TEMPFAIL, EKG_ACK_UNKNOWN] | 
| data | NULL | 
| int protocol_message_ack_emit | ( | const session_t * | s, | 
| const char * | rcpt, | ||
| const char * | seq, | ||
| int | status | ||
| ) | 
| int protocol_message_emit | ( | const session_t * | s, | 
| const char * | uid, | ||
| char ** | rcpts, | ||
| const char * | text, | ||
| const guint32 * | format, | ||
| time_t | sent, | ||
| int | mclass, | ||
| const char * | seq, | ||
| int | dobeep, | ||
| int | secure | ||
| ) | 
| 
 | static | 
Handler of reconnect timer created by protocol_disconnected()
| type | - 0 - If timer should do his job 1 - If timer'll be destroy, and handler should free his data | 
| s | - session to reconnect | 
| 
 | static | 
| int protocol_status_emit | ( | const session_t * | s, | 
| const char * | uid, | ||
| int | status, | ||
| char * | descr, | ||
| time_t | when | ||
| ) | 
| char* protocol_uid | ( | const char * | proto, | 
| const char * | target | ||
| ) | 
| 
 | static | 
| 
 | static | 
| int protocol_xstate_emit | ( | const session_t * | s, | 
| const char * | uid, | ||
| int | state, | ||
| int | offstate | ||
| ) | 
| 
 | static | 
 1.8.13
 1.8.13