naev 0.11.5
semver.h
1/*
2 * semver.h
3 *
4 * Copyright (c) 2015-2017 Tomas Aparicio
5 * MIT licensed
6 */
7
8#ifndef __SEMVER_H
9#define __SEMVER_H
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#ifndef SEMVER_VERSION
16#define SEMVER_VERSION "0.2.0"
17#endif
18
23typedef struct semver_version_s {
24 int major;
25 int minor;
26 int patch;
27 char * metadata;
28 char * prerelease;
29} semver_t;
30
35int
36semver_satisfies (semver_t x, semver_t y, const char *op);
37
38int
39semver_satisfies_caret (semver_t x, semver_t y);
40
41int
42semver_satisfies_patch (semver_t x, semver_t y);
43
44int
45semver_compare (semver_t x, semver_t y);
46
47int
48semver_compare_version (semver_t x, semver_t y);
49
50int
51semver_compare_prerelease (semver_t x, semver_t y);
52
53int
54semver_gt (semver_t x, semver_t y);
55
56int
57semver_gte (semver_t x, semver_t y);
58
59int
60semver_lt (semver_t x, semver_t y);
61
62int
63semver_lte (semver_t x, semver_t y);
64
65int
66semver_eq (semver_t x, semver_t y);
67
68int
69semver_neq (semver_t x, semver_t y);
70
71int
72semver_parse (const char *str, semver_t *ver);
73
74int
75semver_parse_version (const char *str, semver_t *ver);
76
77void
78semver_render (semver_t *x, char *dest);
79
80int
81semver_numeric (semver_t *x);
82
83void
84semver_bump (semver_t *x);
85
86void
87semver_bump_minor (semver_t *x);
88
89void
90semver_bump_patch (semver_t *x);
91
92void
93semver_free (semver_t *x);
94
95int
96semver_is_valid (const char *s);
97
98int
99semver_clean (char *s);
100
101#ifdef __cplusplus
102}
103#endif
104
105#endif