Fix swapping of map entries in __qsort_with_data.
4 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
11 struct razor_set_section {
17 struct razor_set_header {
20 struct razor_set_section sections[0];
23 #define RAZOR_MAGIC 0x7a7a7a7a
24 #define RAZOR_VERSION 1
26 #define RAZOR_PACKAGES 0
27 #define RAZOR_REQUIRES 1
28 #define RAZOR_PROVIDES 2
29 #define RAZOR_STRING_POOL 3
30 #define RAZOR_PROPERTY_POOL 4
32 struct razor_package {
34 unsigned long version;
35 unsigned long requires;
36 unsigned long provides;
39 struct razor_property {
41 unsigned long version;
42 unsigned long packages;
47 struct array string_pool;
48 struct array property_pool;
49 struct array packages;
50 struct array requires;
51 struct array provides;
52 struct razor_set_header *header;
55 struct import_property_context {
60 struct import_context {
61 struct razor_set *set;
62 struct import_property_context requires;
63 struct import_property_context provides;
64 struct razor_package *package;
65 unsigned long *requires_map;
66 unsigned long *provides_map;
69 void import_context_add_package(struct import_context *ctx,
70 const char *name, const char *version);
71 void import_context_add_property(struct import_context *ctx,
72 struct import_property_context *pctx,
73 const char *name, const char *version);
74 void import_context_finish_package(struct import_context *ctx);
76 unsigned long razor_set_tokenize(struct razor_set *set, const char *string);
77 void razor_prepare_import(struct import_context *ctx);
78 struct razor_set *razor_finish_import(struct import_context *ctx);
80 struct razor_set *razor_import_rzr_files(int count, const char **files);
81 struct razor_set *razor_set_create_from_yum_filelist(int fd);
82 struct razor_set *razor_set_create_from_rpmdb(void);
84 #endif /* _RAZOR_H_ */