#ifndef EXT4_H_
#define EXT4_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <stdint.h>
#include <stddef.h>
* @param d directory handle*/
void ext4_dir_entry_rewind(ext4_dir *d);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_H_ */
/**
#ifndef EXT4_BALLOC_H_
#define EXT4_BALLOC_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
int ext4_balloc_try_alloc_block(struct ext4_inode_ref *inode_ref,
ext4_fsblk_t baddr, bool *free);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_BALLOC_H_ */
/**
#ifndef EXT4_BCACHE_H_
#define EXT4_BCACHE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include <stdint.h>
* @return full status*/
bool ext4_bcache_is_full(struct ext4_bcache *bc);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_BCACHE_H_ */
/**
#ifndef EXT4_BITMAP_H_
#define EXT4_BITMAP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include <stdint.h>
int ext4_bmap_bit_find_clr(uint8_t *bmap, uint32_t sbit, uint32_t ebit,
uint32_t *bit_id);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_BITMAP_H_ */
/**
#ifndef EXT4_BLOCK_GROUP_H_
#define EXT4_BLOCK_GROUP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
#include "ext4_super.h"
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef EXT4_BLOCKDEV_H_
-#define EXT4_BLOCKDEV_H_
-
/** @addtogroup lwext4
* @{
*/
* @brief Block device module.
*/
+#ifndef EXT4_BLOCKDEV_H_
+#define EXT4_BLOCKDEV_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_bcache.h"
#include "ext4_debug.h"
* @return standard error code*/
int ext4_block_cache_write_back(struct ext4_blockdev *bdev, uint8_t on_off);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_BLOCKDEV_H_ */
/**
#ifndef EXT4_CONFIG_H_
#define EXT4_CONFIG_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef CONFIG_HAVE_OWN_CFG
#include <config.h>
#endif
#define CONFIG_EXTENT_FULL 1
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_CONFIG_H_ */
/**
#ifndef LWEXT4_EXT4_CRC32C_H_
#define LWEXT4_EXT4_CRC32C_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include <stdint.h>
* @return updated crc32c value*/
uint32_t ext4_crc32c(uint32_t crc, const void *buffer, uint32_t length);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* LWEXT4_EXT4_CRC32C_H_ */
/**
#ifndef EXT4_DEBUG_H_
#define EXT4_DEBUG_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_errno.h"
#define ext4_assert(_v)
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_DEBUG_H_ */
/**
#ifndef EXT4_DIR_H_
#define EXT4_DIR_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
#include "ext4_blockdev.h"
/* checksumming functions */
void initialize_dir_tail(struct ext4_dir_entry_tail *t);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_DIR_H_ */
/**
#ifndef EXT4_DIR_IDX_H_
#define EXT4_DIR_IDX_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
int ext4_dir_dx_reset_parent_inode(struct ext4_inode_ref *dir,
uint32_t parent_inode);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_DIR_IDX_H_ */
/**
#ifndef EXT4_ERRNO_H_
#define EXT4_ERRNO_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#if !CONFIG_HAVE_OWN_ERRNO
#define EOK 0
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_ERRNO_H_ */
/**
#ifndef EXT4_EXTENT_H_
#define EXT4_EXTENT_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
#include "ext4_inode.h"
ext4_lblk_t to);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_EXTENT_H_ */
/**
* @}
#ifndef EXT4_FS_H_
#define EXT4_FS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
*/
void ext4_fs_inode_links_count_dec(struct ext4_inode_ref *inode_ref);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_FS_H_ */
/**
#ifndef EXT4_HASH_H_
#define EXT4_HASH_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include <stdint.h>
int hash_version, uint32_t *hash_major,
uint32_t *hash_minor);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_HASH_H_ */
/**
#ifdef __cplusplus
}
#endif
+
#endif /* EXT4_IALLOC_H_ */
/**
#ifndef EXT4_INODE_H_
#define EXT4_INODE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include <stdint.h>
struct ext4_extent_header *
ext4_inode_get_extent_header(struct ext4_inode *inode);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_INODE_H_ */
/**
#ifndef EXT4_MKFS_H_
#define EXT4_MKFS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
#include "ext4_blockdev.h"
int ext4_mkfs(struct ext4_fs *fs, struct ext4_blockdev *bd,
struct ext4_mkfs_info *info, int fs_type);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_MKFS_H_ */
/**
#ifndef EXT4_SUPER_H_
#define EXT4_SUPER_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
uint32_t ext4_num_base_meta_clusters(struct ext4_sblock *s,
uint32_t block_group);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_SUPER_H_ */
/**
#ifndef EXT4_TYPES_H_
#define EXT4_TYPES_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_blockdev.h"
#include "tree.h"
((size_t)(&(((type *)0)->field)))
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* EXT4_TYPES_H_ */
/**
#ifndef EXT4_XATTR_H_
#define EXT4_XATTR_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
#include "ext4_types.h"
const char *ext4_get_xattr_name_prefix(uint8_t name_index,
size_t *ret_prefix_len);
+#ifdef __cplusplus
+}
+#endif
+
#endif
/**
* @}
#ifndef _SYS_TREE_H_
#define _SYS_TREE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "ext4_config.h"
/*
((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL); \
(x) = (y))
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _SYS_TREE_H_ */