7 typedef struct tm timestamp;
9 typedef enum _PEP_transports {
12 // PEP_trans_whatsapp,
17 typedef struct _PEP_transport_t PEP_transport_t;
19 pEp_identity *identity_dup(const pEp_identity *src);
21 typedef struct _identity_list {
23 struct _identity_list *next;
26 identity_list *new_identity_list(const pEp_identity *ident);
27 void free_identity_list(identity_list *id_list);
28 identity_list *identity_list_add(identity_list *id_list, const pEp_identity *ident);
30 typedef enum _msg_format {
35 typedef enum _msg_direction {
40 struct _message_ref_list;
42 typedef struct _message {
50 char * longmsg_formatted;
51 size_t longmsg_formatted_size;
59 pEp_identity *recv_by;
63 size_t refering_id_size;
64 struct _message *refering_msg;
65 struct _message_ref_list *refered_by;
68 typedef struct _message_ref_list {
70 struct _message_ref_list *next;
75 const pEp_identity *from,
76 const pEp_identity *to,
80 void free_message(message *msg);
82 message_ref_list *new_message_ref_list(message *msg);
83 void free_message_ref_list(message_ref_list *msg_list);
84 message_ref_list *message_ref_list_add(message_ref_list *msg_list, message *msg);
86 typedef PEP_STATUS (*sendto_t)(PEP_SESSION session, const message *msg);
87 typedef PEP_STATUS (*readnext_t)(PEP_SESSION session, message **msg, PEP_transport_t **via);
89 struct _PEP_transport_t {
95 typedef uint64_t transports_mask;
97 PEP_STATUS init_transport_system(PEP_SESSION session);
98 void release_transport_system(PEP_SESSION session);