summaryrefslogtreecommitdiff
path: root/toxcore/util.h
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2018-07-07 22:15:08 +0000
committeriphydf <iphydf@users.noreply.github.com>2018-07-09 21:03:08 +0000
commit4e21c065517d6e125cb1d1b9a13e886b3046b0d8 (patch)
treeec075cedb1d084867acd213c10bed2974d0b3039 /toxcore/util.h
parentc8697ccc20e12b0f4a2394c10f01ce147eeca269 (diff)
Add a thread-safe version of unix_time and friends.
These are not used in a thread-safe way, but it opens the path towards per-tox-instance time keeping and removal of some unsafe global state.
Diffstat (limited to 'toxcore/util.h')
-rw-r--r--toxcore/util.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/toxcore/util.h b/toxcore/util.h
index c4d55f12..de493ebe 100644
--- a/toxcore/util.h
+++ b/toxcore/util.h
@@ -39,11 +39,21 @@ extern "C" {
39#define MIN(a,b) (((a)<(b))?(a):(b)) 39#define MIN(a,b) (((a)<(b))?(a):(b))
40#define PAIR(TYPE1__, TYPE2__) struct { TYPE1__ first; TYPE2__ second; } 40#define PAIR(TYPE1__, TYPE2__) struct { TYPE1__ first; TYPE2__ second; }
41 41
42typedef struct Unix_Time Unix_Time;
43
44Unix_Time *unix_time_new(void);
45void unix_time_free(Unix_Time *unixtime);
46
47// TODO(#405): Use per-tox unixtime, remove unix_time_update, and rename
48// unix_time_update_r to unix_time_update.
49void unix_time_update_r(Unix_Time *unixtime);
50uint64_t unix_time_get(const Unix_Time *unixtime);
51int unix_time_is_timeout(const Unix_Time *unixtime, uint64_t timestamp, uint64_t timeout);
52
42void unix_time_update(void); 53void unix_time_update(void);
43uint64_t unix_time(void); 54uint64_t unix_time(void);
44int is_timeout(uint64_t timestamp, uint64_t timeout); 55int is_timeout(uint64_t timestamp, uint64_t timeout);
45 56
46
47/* id functions */ 57/* id functions */
48bool id_equal(const uint8_t *dest, const uint8_t *src); 58bool id_equal(const uint8_t *dest, const uint8_t *src);
49uint32_t id_copy(uint8_t *dest, const uint8_t *src); /* return value is CLIENT_ID_SIZE */ 59uint32_t id_copy(uint8_t *dest, const uint8_t *src); /* return value is CLIENT_ID_SIZE */