aboutsummaryrefslogtreecommitdiffstats
path: root/src/version.h
blob: 246e346cd9eceb219a9f7f9801dc1cac7f47844d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef L2SU_VERSION_H_INCLUDED
#define L2SU_VERSION_H_INCLUDED

#include "digest/digest.h"
#include <time.h>
#include <jansson.h>

enum {
  VERSION_SUCCESS,
  VERSION_EFORMAT,
  VERSION_EJSON,
  VERSION_EALLOC,
  VERSION_ERRNO,
  VERSION_EUNSPEC
};

struct l2_version_remote {
  struct l2_version_remote *next;
  struct l2_version_remote *prev;

  char *id;
  char *type;
  char *url;

  l2_sha1_digest_t sha1;
  json_int_t compliance_level;

  time_t update_time;
  time_t release_time;
};

extern const char *const l2_version__messages[];

#define l2_version_strerror(_en) l2_version__messages[(_en)]

unsigned l2_version_load_remote(void);
unsigned l2_version_load_local(void);

#endif /* include guard */