6a160c91875398c39940883baab4452880397956
1#ifndef TAG_H
2#define TAG_H
3
4#include "object.h"
5
6extern const char *tag_type;
7
8struct tag {
9 struct object object;
10 struct object *tagged;
11 char *tag;
12 timestamp_t date;
13};
14extern struct tag *lookup_tag(struct repository *r, const struct object_id *oid);
15#define parse_tag_buffer(r, i, d, s) parse_tag_buffer_##r(i, d, s)
16extern int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size);
17extern int parse_tag(struct tag *item);
18extern void release_tag_memory(struct tag *t);
19#define deref_tag(r, o, w, l) deref_tag_##r(o, w, l)
20extern struct object *deref_tag_the_repository(struct object *, const char *, int);
21extern struct object *deref_tag_noverify(struct object *);
22extern int gpg_verify_tag(const struct object_id *oid,
23 const char *name_to_report, unsigned flags);
24
25#endif /* TAG_H */