ubifs-utils/common/hashtable/hashtable_private.h \
ubifs-utils/common/hashtable/hashtable.c \
ubifs-utils/common/hashtable/hashtable_itr.c \
+ ubifs-utils/common/devtable.h \
ubifs-utils/common/devtable.c \
ubifs-utils/common/ubifs.h \
ubifs-utils/common/key.h \
mkfs_ubifs_SOURCES = \
$(common_SOURCES) \
- ubifs-utils/mkfs.ubifs/mkfs.ubifs.h \
ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
mkfs_ubifs_LDADD = libmtd.a libubi.a $(ZLIB_LIBS) $(LZO_LIBS) $(ZSTD_LIBS) $(UUID_LIBS) $(LIBSELINUX_LIBS) $(OPENSSL_LIBS) -lm
mkfs_ubifs_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_CFLAGS) $(LZO_CFLAGS) $(ZSTD_CFLAGS) $(UUID_CFLAGS) $(LIBSELINUX_CFLAGS) \
- -I$(top_srcdir)/ubi-utils/include -I$(top_srcdir)/ubifs-utils/mkfs.ubifs/ -I$(top_srcdir)/ubifs-utils/common
+ -I$(top_srcdir)/ubi-utils/include -I$(top_srcdir)/ubifs-utils/common
EXTRA_DIST += ubifs-utils/common/README
#endif
#include "compr.h"
-#include "mkfs.ubifs.h"
+#include "ubifs.h"
static void *lzo_mem;
static unsigned long long errcnt = 0;
#ifdef WITH_LZO
+extern struct ubifs_info info_;
static struct ubifs_info *c = &info_;
#endif
select_lzo:
*out_len = lzo_len;
- *type = MKFS_UBIFS_COMPR_LZO;
+ *type = UBIFS_COMPR_LZO;
return 0;
select_zlib:
*out_len = zlib_len;
- *type = MKFS_UBIFS_COMPR_ZLIB;
+ *type = UBIFS_COMPR_ZLIB;
memcpy(out_buf, zlib_buf, zlib_len);
return 0;
}
if (in_len < UBIFS_MIN_COMPR_LEN) {
no_compress(in_buf, in_len, out_buf, out_len);
- return MKFS_UBIFS_COMPR_NONE;
+ return UBIFS_COMPR_NONE;
}
#if defined(WITH_LZO) && defined(WITH_ZLIB)
#endif
switch (type) {
#ifdef WITH_LZO
- case MKFS_UBIFS_COMPR_LZO:
+ case UBIFS_COMPR_LZO:
ret = lzo_compress(in_buf, in_len, out_buf, out_len);
break;
#endif
#ifdef WITH_ZLIB
- case MKFS_UBIFS_COMPR_ZLIB:
+ case UBIFS_COMPR_ZLIB:
ret = zlib_deflate(in_buf, in_len, out_buf, out_len);
break;
#endif
#ifdef WITH_ZSTD
- case MKFS_UBIFS_COMPR_ZSTD:
+ case UBIFS_COMPR_ZSTD:
ret = zstd_compress(in_buf, in_len, out_buf, out_len);
break;
#endif
- case MKFS_UBIFS_COMPR_NONE:
+ case UBIFS_COMPR_NONE:
ret = 1;
break;
default:
}
if (ret || *out_len >= in_len) {
no_compress(in_buf, in_len, out_buf, out_len);
- return MKFS_UBIFS_COMPR_NONE;
+ return UBIFS_COMPR_NONE;
}
return type;
}
*/
#define WORST_COMPR_FACTOR 4
-enum compression_type
-{
- MKFS_UBIFS_COMPR_NONE,
- MKFS_UBIFS_COMPR_LZO,
- MKFS_UBIFS_COMPR_ZLIB,
- MKFS_UBIFS_COMPR_ZSTD,
-};
-
int compress_data(void *in_buf, size_t in_len, void *out_buf, size_t *out_len,
int type);
int init_compression(void);
* Authors: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
*/
-#define PROGRAM_NAME "mkfs.ubifs"
#include <openssl/evp.h>
#include <openssl/err.h>
+#include <openssl/rand.h>
#include <string.h>
#include <assert.h>
-#include "fscrypt.h"
+#define PROGRAM_NAME "mkfs.ubifs"
#include "common.h"
+#include "defs.h"
+#include "fscrypt.h"
static int do_hash(const EVP_MD *md, const unsigned char *in, size_t len, unsigned char *out)
{
#ifndef __UBIFS_DEFS_H__
#define __UBIFS_DEFS_H__
+#include <stdlib.h>
+#include <stdio.h>
+#include <limits.h>
+#include <byteswap.h>
+#include <errno.h>
+
+extern int debug_level;
+
+#define dbg_msg(lvl, fmt, ...) do {if (debug_level >= lvl) \
+ printf("mkfs.ubifs: %s: " fmt "\n", __FUNCTION__, ##__VA_ARGS__); \
+} while(0)
+
+#define err_msg(fmt, ...) ({ \
+ fprintf(stderr, "Error: " fmt "\n", ##__VA_ARGS__); \
+ -1; \
+})
+
+#define sys_err_msg(fmt, ...) ({ \
+ int err_ = errno; \
+ fprintf(stderr, "Error: " fmt "\n", ##__VA_ARGS__); \
+ fprintf(stderr, " %s (error %d)\n", strerror(err_), err_); \
+ -1; \
+})
+
#define t16(x) ({ \
uint16_t __b = (x); \
(__LITTLE_ENDIAN==__BYTE_ORDER) ? __b : bswap_16(__b); \
* for more information about what the device table is.
*/
-#include "mkfs.ubifs.h"
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/sysmacros.h>
+
+#include "devtable.h"
+#include "defs.h"
#include "hashtable/hashtable.h"
#include "hashtable/hashtable_itr.h"
* Zoltan Sogor
*/
-#ifndef __MKFS_UBIFS_H__
-#define __MKFS_UBIFS_H__
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
-#include <stdint.h>
-#include <endian.h>
-#include <byteswap.h>
-#include <linux/types.h>
-#include <linux/fs.h>
-
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <errno.h>
-#include <libgen.h>
-#include <ctype.h>
-#include <uuid.h>
-#include <sys/file.h>
-
-#ifdef WITH_CRYPTO
-#include <openssl/rand.h>
-#endif
-
-#include <mtd/ubifs-media.h>
-
-/* common.h requires the PROGRAM_NAME macro */
-#define PROGRAM_NAME "mkfs.ubifs"
-#include "common.h"
-
-#include "libubi.h"
-#include "defs.h"
-#include "crc16.h"
-#include "ubifs.h"
-#include "key.h"
-#include "lpt.h"
-#include "compr.h"
-#include "sign.h"
-
-/*
- * Compression flags are duplicated so that compr.c can compile without ubifs.h.
- * Here we make sure they are the same.
- */
-#if MKFS_UBIFS_COMPR_NONE != UBIFS_COMPR_NONE
-#error MKFS_UBIFS_COMPR_NONE != UBIFS_COMPR_NONE
-#endif
-#if MKFS_UBIFS_COMPR_LZO != UBIFS_COMPR_LZO
-#error MKFS_UBIFS_COMPR_LZO != UBIFS_COMPR_LZO
-#endif
-#if MKFS_UBIFS_COMPR_ZLIB != UBIFS_COMPR_ZLIB
-#error MKFS_UBIFS_COMPR_ZLIB != UBIFS_COMPR_ZLIB
-#endif
-#if MKFS_UBIFS_COMPR_ZSTD != UBIFS_COMPR_ZSTD
-#error MKFS_UBIFS_COMPR_ZSTD != UBIFS_COMPR_ZSTD
-#endif
-
-extern int verbose;
-extern int debug_level;
-
-#define dbg_msg(lvl, fmt, ...) do {if (debug_level >= lvl) \
- printf("mkfs.ubifs: %s: " fmt "\n", __FUNCTION__, ##__VA_ARGS__); \
-} while(0)
-
-#define err_msg(fmt, ...) ({ \
- fprintf(stderr, "Error: " fmt "\n", ##__VA_ARGS__); \
- -1; \
-})
-
-#define sys_err_msg(fmt, ...) ({ \
- int err_ = errno; \
- fprintf(stderr, "Error: " fmt "\n", ##__VA_ARGS__); \
- fprintf(stderr, " %s (error %d)\n", strerror(err_), err_); \
- -1; \
-})
+#ifndef __DEVTABLE_H__
+#define __DEVTABLE_H__
/**
* struct path_htbl_element - an element of the path hash table.
dev_t dev;
};
-extern struct ubifs_info info_;
-
struct hashtable_itr;
-int write_leb(int lnum, int len, void *buf);
int parse_devtable(const char *tbl_file);
struct path_htbl_element *devtbl_find_path(const char *path);
struct name_htbl_element *devtbl_find_name(struct path_htbl_element *ph_elt,
* David Oberhollenzer <david.oberhollenzer@sigma-star.at>
*/
+#include <endian.h>
+
#define PROGRAM_NAME "mkfs.ubifs"
+#include "common.h"
#include "fscrypt.h"
+#include "defs.h"
static __u8 fscrypt_masterkey[FS_MAX_KEY_SIZE];
#ifndef FSCRYPT_H
#define FSCRYPT_H
-
-#include "mkfs.ubifs.h"
-#include <sys/types.h>
+#ifdef WITH_CRYPTO
+#include <openssl/rand.h>
+#endif
+#include <assert.h>
+#include "ubifs.h"
#include "crypto.h"
#ifndef FS_KEY_DESCRIPTOR_SIZE
* Artem Bityutskiy
*/
-#include "mkfs.ubifs.h"
-
#ifdef WITH_CRYPTO
#include <openssl/evp.h>
#endif
+#define PROGRAM_NAME "mkfs.ubifs"
+#include "common.h"
+#include "lpt.h"
+#include "defs.h"
+#include "ubifs.h"
+#include "crc16.h"
+#include "sign.h"
+
/**
* do_calc_lpt_geom - calculate sizes for the LPT area.
* @c: the UBIFS file-system description object
#ifndef __UBIFS_LPT_H__
#define __UBIFS_LPT_H__
+#include "ubifs.h"
+
int calc_dflt_lpt_geom(struct ubifs_info *c, int *main_lebs, int *big_lpt);
int create_lpt(struct ubifs_info *c);
* Author: Sascha Hauer
*/
-#include "mkfs.ubifs.h"
-#include "common.h"
-
+#include <string.h>
#include <openssl/evp.h>
#include <openssl/opensslv.h>
#include <openssl/bio.h>
#include <openssl/conf.h>
#include <err.h>
+#include "sign.h"
+#include "defs.h"
+#include "ubifs.h"
+
+extern struct ubifs_info info_;
static struct ubifs_info *c = &info_;
EVP_MD_CTX *hash_md;
#ifndef __UBIFS_H__
#define __UBIFS_H__
+#include <mtd/ubifs-media.h>
+#include "libubi.h"
+
/* Maximum logical eraseblock size in bytes */
#define UBIFS_MAX_LEB_SZ (2*1024*1024)
(UBIFS_BRANCH_SZ + c->key_len + c->hash_len) * bnum);
}
+int write_leb(int lnum, int len, void *buf);
+
#endif /* __UBIFS_H__ */
#define _XOPEN_SOURCE 500 /* For realpath() */
-#include "mkfs.ubifs.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <libgen.h>
+#include <getopt.h>
+#include <dirent.h>
#include <crc32.h>
-#include "common.h"
+#include <uuid.h>
+#include <linux/fs.h>
#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
#ifdef WITH_XATTR
#include <sys/xattr.h>
#endif
#include <zstd.h>
#endif
+/* common.h requires the PROGRAM_NAME macro */
+#define PROGRAM_NAME "mkfs.ubifs"
+#include "common.h"
+#include "defs.h"
#include "crypto.h"
#include "fscrypt.h"
+#include "ubifs.h"
+#include "lpt.h"
+#include "compr.h"
+#include "key.h"
+#include "sign.h"
+#include "devtable.h"
/* Size (prime number) of hash table for link counting */
#define HASH_TABLE_SIZE 10099