1
- #include <time.h>
2
1
#include <stdio.h>
3
2
#include <stdlib.h>
4
3
#include <string.h>
4
+ #include <time.h>
5
5
#include <tox/tox.h>
6
6
7
7
typedef union {
8
8
uint32_t uint32 ;
9
9
uint16_t uint16 [2 ];
10
10
uint8_t uint8 [4 ];
11
- }
12
- IP4 ;
11
+ } IP4 ;
13
12
14
13
extern const IP4 IP4_LOOPBACK ;
15
14
extern const IP4 IP4_BROADCAST ;
@@ -19,8 +18,7 @@ typedef union {
19
18
uint16_t uint16 [8 ];
20
19
uint32_t uint32 [4 ];
21
20
uint64_t uint64 [2 ];
22
- }
23
- IP6 ;
21
+ } IP6 ;
24
22
25
23
extern const IP6 IP6_LOOPBACK ;
26
24
extern const IP6 IP6_BROADCAST ;
@@ -31,18 +29,16 @@ typedef struct {
31
29
IP4 ip4 ;
32
30
IP6 ip6 ;
33
31
};
34
- }
35
- IP ;
32
+ } IP ;
36
33
37
34
typedef struct {
38
35
IP ip ;
39
36
uint16_t port ;
40
- }
41
- IP_Port ;
37
+ } IP_Port ;
42
38
43
39
typedef struct {
44
40
IP_Port ip_port ;
45
- uint8_t proxy_type ; // a value from TCP_PROXY_TYPE
41
+ uint8_t proxy_type ; // a value from TCP_PROXY_TYPE
46
42
} TCP_Proxy_Info ;
47
43
48
44
typedef struct {
@@ -55,29 +51,30 @@ typedef struct {
55
51
uint8_t hole_punching_enabled ;
56
52
bool local_discovery_enabled ;
57
53
58
- /*logger_cb*/ void * log_callback ;
54
+ /*logger_cb*/ void * log_callback ;
59
55
void * log_user_data ;
60
56
} Messenger_Options_Fake ;
61
57
62
-
63
- #define MAX_RECEIVED_STORED 32
64
- #define CRYPTO_PUBLIC_KEY_SIZE 32
65
- #define CRYPTO_SHARED_KEY_SIZE 32
66
- #define CRYPTO_SYMMETRIC_KEY_SIZE CRYPTO_SHARED_KEY_SIZE
58
+ #define MAX_RECEIVED_STORED 32
59
+ #define CRYPTO_PUBLIC_KEY_SIZE 32
60
+ #define CRYPTO_SHARED_KEY_SIZE 32
61
+ #define CRYPTO_SYMMETRIC_KEY_SIZE CRYPTO_SHARED_KEY_SIZE
67
62
68
63
typedef struct {
69
- uint8_t public_key [CRYPTO_PUBLIC_KEY_SIZE ];
70
- IP_Port ip_port ;
64
+ uint8_t public_key [CRYPTO_PUBLIC_KEY_SIZE ];
65
+ IP_Port ip_port ;
71
66
} Node_format_Fake ;
72
67
73
68
#define DESIRED_CLOSE_CONNECTIONS 4
74
- #define MAX_GROUP_CONNECTIONS 16
75
- #define GROUP_IDENTIFIER_LENGTH (1 + CRYPTO_SYMMETRIC_KEY_SIZE) /* type + CRYPTO_SYMMETRIC_KEY_SIZE so we can use new_symmetric_key(...) to fill it */
69
+ #define MAX_GROUP_CONNECTIONS 16
70
+ #define GROUP_IDENTIFIER_LENGTH \
71
+ (1 + CRYPTO_SYMMETRIC_KEY_SIZE) /* type + CRYPTO_SYMMETRIC_KEY_SIZE so we can \
72
+ use new_symmetric_key(...) to fill it */
76
73
77
74
typedef struct {
78
75
uint8_t status ;
79
76
80
- /*Group_Peer*/ void * group ;
77
+ /*Group_Peer*/ void * group ;
81
78
uint32_t numpeers ;
82
79
#define MAX_GROUP_CONNECTIONS 16
83
80
struct {
@@ -106,7 +103,8 @@ typedef struct {
106
103
107
104
uint64_t last_sent_ping ;
108
105
109
- int number_joined ; /* friendcon_id of person that invited us to the chat. (-1 means none) */
106
+ /* friendcon_id of person that invited us to the chat. (-1 means none) */
107
+ int number_joined ;
110
108
111
109
void * object ;
112
110
@@ -115,34 +113,27 @@ typedef struct {
115
113
void (* group_on_delete )(void * , uint32_t );
116
114
} Group_c_Fake ;
117
115
118
- typedef enum {
119
- USERSTATUS_NONE ,
120
- USERSTATUS_AWAY ,
121
- USERSTATUS_BUSY ,
122
- USERSTATUS_INVALID
123
- }
124
- USERSTATUS ;
125
-
116
+ typedef enum { USERSTATUS_NONE , USERSTATUS_AWAY , USERSTATUS_BUSY , USERSTATUS_INVALID } USERSTATUS ;
126
117
127
- #define NUM_SAVED_TCP_RELAYS 8
118
+ #define NUM_SAVED_TCP_RELAYS 8
128
119
#define MAX_STATUSMESSAGE_LENGTH 1007
129
120
130
121
struct Messenger {
131
122
/*Logger*/ void * log ;
132
123
/*Mono_Time*/ void * mono_time ;
133
124
134
- /*Networking_Core*/ void * net ;
135
- /*Net_Crypto*/ void * net_crypto ;
136
- /*DHT*/ void * dht ;
125
+ /*Networking_Core*/ void * net ;
126
+ /*Net_Crypto*/ void * net_crypto ;
127
+ /*DHT*/ void * dht ;
137
128
138
- /*Onion*/ void * onion ;
139
- /*Onion_Announce*/ void * onion_a ;
140
- /*Onion_Client*/ void * onion_c ;
129
+ /*Onion*/ void * onion ;
130
+ /*Onion_Announce*/ void * onion_a ;
131
+ /*Onion_Client*/ void * onion_c ;
141
132
142
- /*Friend_Connections*/ void * fr_c ;
133
+ /*Friend_Connections*/ void * fr_c ;
143
134
144
- /*TCP_Server*/ void * tcp_server ;
145
- /*Friend_Requests **/ void * fr ;
135
+ /*TCP_Server*/ void * tcp_server ;
136
+ /*Friend_Requests **/ void * fr ;
146
137
uint8_t name [TOX_MAX_NAME_LENGTH ];
147
138
uint16_t name_length ;
148
139
@@ -151,17 +142,21 @@ struct Messenger {
151
142
152
143
USERSTATUS userstatus ;
153
144
154
- /*Friend*/ void * friendlist ;
145
+ /*Friend*/ void * friendlist ;
155
146
uint32_t numfriends ;
156
147
157
148
time_t lastdump ;
158
149
159
- uint8_t has_added_relays ; // If the first connection has occurred in do_messenger
160
- Node_format_Fake loaded_relays [NUM_SAVED_TCP_RELAYS ]; // Relays loaded from config
150
+ uint8_t has_added_relays ; // If the first connection has occurred in do_messenger
151
+ Node_format_Fake loaded_relays [NUM_SAVED_TCP_RELAYS ]; // Relays loaded from config
161
152
162
- void (* friend_message )(struct Messenger * m , uint32_t , unsigned int , const uint8_t * , size_t , void * );
153
+ void (* friend_request )(
154
+ struct Messenger * m , uint32_t , unsigned int , const uint8_t * , size_t , void * );
155
+ void (* friend_message )(
156
+ struct Messenger * m , uint32_t , unsigned int , const uint8_t * , size_t , void * );
163
157
void (* friend_namechange )(struct Messenger * m , uint32_t , const uint8_t * , size_t , void * );
164
- void (* friend_statusmessagechange )(struct Messenger * m , uint32_t , const uint8_t * , size_t , void * );
158
+ void (* friend_statusmessagechange )(
159
+ struct Messenger * m , uint32_t , const uint8_t * , size_t , void * );
165
160
void (* friend_userstatuschange )(struct Messenger * m , uint32_t , unsigned int , void * );
166
161
void (* friend_typingchange )(struct Messenger * m , uint32_t , bool , void * );
167
162
void (* read_receipt )(struct Messenger * m , uint32_t , uint32_t , void * );
@@ -172,10 +167,11 @@ struct Messenger {
172
167
void * conferences_object ; /* Set by new_groupchats()*/
173
168
void (* conference_invite )(struct Messenger * m , uint32_t , const uint8_t * , uint16_t , void * );
174
169
175
- void (* file_sendrequest )(struct Messenger * m , uint32_t , uint32_t , uint32_t , uint64_t , const uint8_t * , size_t ,
176
- void * );
170
+ void (* file_sendrequest )(struct Messenger * m , uint32_t , uint32_t , uint32_t , uint64_t ,
171
+ const uint8_t * , size_t , void * );
177
172
void (* file_filecontrol )(struct Messenger * m , uint32_t , uint32_t , unsigned int , void * );
178
- void (* file_filedata )(struct Messenger * m , uint32_t , uint32_t , uint64_t , const uint8_t * , size_t , void * );
173
+ void (* file_filedata )(
174
+ struct Messenger * m , uint32_t , uint32_t , uint64_t , const uint8_t * , size_t , void * );
179
175
void (* file_reqchunk )(struct Messenger * m , uint32_t , uint32_t , uint64_t , size_t , void * );
180
176
181
177
void (* msi_packet )(struct Messenger * m , uint32_t , const uint8_t * , uint16_t , void * );
@@ -191,20 +187,16 @@ struct Messenger {
191
187
};
192
188
193
189
typedef struct {
194
- /*Messenger*/ void * m ;
195
- /*Friend_Connections*/ void * fr_c ;
190
+ /*Messenger*/ void * m ;
191
+ /*Friend_Connections*/ void * fr_c ;
196
192
197
193
Group_c_Fake * chats ;
198
194
uint32_t num_chats ;
199
195
} Group_Chats ;
200
196
201
197
extern void * group_get_object (/*const Group_Chats*/ void * g_c , uint32_t groupnumber );
202
198
203
- enum {
204
- GROUPCHAT_STATUS_NONE ,
205
- GROUPCHAT_STATUS_VALID ,
206
- GROUPCHAT_STATUS_CONNECTED
207
- };
199
+ enum { GROUPCHAT_STATUS_NONE , GROUPCHAT_STATUS_VALID , GROUPCHAT_STATUS_CONNECTED };
208
200
209
201
/* return 1 if the groupnumber is not valid.
210
202
* return 0 if the groupnumber is valid.
@@ -233,26 +225,27 @@ static Group_c_Fake *get_group_c(Tox *tox, int groupnumber)
233
225
// int fos2 = offsetof(Group_c_Fake, identifier);
234
226
int conferences_object_offset = fos ;
235
227
236
- char * * p = (char * * )(& ((char * )* (struct Messenger * * )tox )[0 ] + conferences_object_offset );
228
+ char * * p = (char * * )(& ((char * )* (struct Messenger * * )tox )[0 ] + conferences_object_offset );
237
229
// void *p2 = ((struct Messenger*)tox)->conferences_object;
238
- Group_Chats * grpchats = (Group_Chats * )(* p );
230
+ Group_Chats * grpchats = (Group_Chats * )(* p );
239
231
if (groupnumber_not_valid (grpchats , groupnumber )) {
240
232
return 0 ;
241
233
}
242
234
Group_c_Fake * g = & grpchats -> chats [groupnumber ];
243
235
return g ;
244
236
}
245
237
246
- void tox_conference_get_identifier (Tox * tox , uint32_t conference_number , void * idbuf ) {
238
+ void tox_conference_get_identifier (Tox * tox , uint32_t conference_number , void * idbuf )
239
+ {
247
240
Group_c_Fake * g = get_group_c (tox , conference_number );
248
241
if (g ) {
249
242
memcpy (idbuf , g -> identifier , GROUP_IDENTIFIER_LENGTH );
250
243
}
251
244
}
252
- void tox_conference_get_pubkey (Tox * tox , uint32_t conference_number , void * pkbuf ) {
245
+ void tox_conference_get_pubkey (Tox * tox , uint32_t conference_number , void * pkbuf )
246
+ {
253
247
Group_c_Fake * g = get_group_c (tox , conference_number );
254
248
if (g ) {
255
249
memcpy (pkbuf , g -> real_pk , CRYPTO_PUBLIC_KEY_SIZE );
256
250
}
257
251
}
258
-
0 commit comments