mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 04:13:37 +00:00
[CDMAKE] * Introduce a way to create an iso using a file map instead of the current on-disk layout. This allows us to massively reduce the IO and the disk space needed to perform the creation of the 3 ISOs, and at the same time speed up the process. Brought to you by Art Yerkes (arty) with review/bug fix by Thomas Faber. [CMAKE] * Leverage the newly introduced cdmake feature. * Silence cdmake verbosity. * Write the contents of the file lists at once, instead of appending to it one item by one. [VGAFONTS] * Don't include the cab file twice. svn path=/trunk/; revision=59547
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
#ifndef _REACTOS_TOOLS_CDMAKE_DIRHASH_H_
|
|
#define _REACTOS_TOOLS_CDMAKE_DIRHASH_H_
|
|
|
|
#define NUM_DIR_HASH_BUCKETS 1024
|
|
|
|
struct target_file {
|
|
struct target_file *next;
|
|
char *source_name;
|
|
char *target_name;
|
|
};
|
|
|
|
struct target_dir_entry {
|
|
struct target_dir_entry *next;
|
|
struct target_dir_entry *parent;
|
|
struct target_dir_entry *child;
|
|
struct target_file *head;
|
|
char *normalized_name;
|
|
char *case_name;
|
|
};
|
|
|
|
struct target_dir_hash {
|
|
struct target_dir_entry *buckets[NUM_DIR_HASH_BUCKETS];
|
|
struct target_dir_entry root;
|
|
};
|
|
|
|
struct target_dir_traversal {
|
|
struct target_dir_entry *it;
|
|
int i;
|
|
};
|
|
|
|
void normalize_dirname(char *filename);
|
|
void dir_hash_add_file(struct target_dir_hash *dh, const char *source, const char *target);
|
|
struct target_dir_entry *
|
|
dir_hash_create_dir(struct target_dir_hash *dh, const char *casename, const char *targetnorm);
|
|
struct target_dir_entry *dir_hash_next_dir(struct target_dir_hash *dh, struct target_dir_traversal *t);
|
|
void dir_hash_destroy(struct target_dir_hash *dh);
|
|
|
|
#endif//_REACTOS_TOOLS_CDMAKE_DIRHASH_H_
|