cregit-Linux how code gets into the kernel

Release 4.10 fs/befs/befs.h

Directory: fs/befs
/*
 * befs.h
 *
 * Copyright (C) 2001-2002 Will Dyson <will_dyson@pobox.com>
 * Copyright (C) 1999 Makoto Kato (m_kato@ga2.so-net.ne.jp)
 */

#ifndef _LINUX_BEFS_H

#define _LINUX_BEFS_H

#include "befs_fs_types.h"

/* used in debug.c */

#define BEFS_VERSION "0.9.3"



typedef u64 befs_blocknr_t;
/*
 * BeFS in memory structures
 */


struct befs_mount_options {
	
kgid_t gid;
	
kuid_t uid;
	
int use_gid;
	
int use_uid;
	
int debug;
	
char *iocharset;
};


struct befs_sb_info {
	
u32 magic1;
	
u32 block_size;
	
u32 block_shift;
	
int byte_order;
	
befs_off_t num_blocks;
	
befs_off_t used_blocks;
	
u32 inode_size;
	
u32 magic2;

	/* Allocation group information */
	
u32 blocks_per_ag;
	
u32 ag_shift;
	
u32 num_ags;

	/* State of the superblock */
	
u32 flags;

	/* Journal log entry */
	
befs_block_run log_blocks;
	
befs_off_t log_start;
	
befs_off_t log_end;

	
befs_inode_addr root_dir;
	
befs_inode_addr indices;
	
u32 magic3;

	
struct befs_mount_options mount_opts;
	
struct nls_table *nls;
};


struct befs_inode_info {
	
u32 i_flags;
	
u32 i_type;

	
befs_inode_addr i_inode_num;
	
befs_inode_addr i_parent;
	
befs_inode_addr i_attribute;

	union {
		
befs_data_stream ds;
		
char symlink[BEFS_SYMLINK_LEN];
	} 
i_data;

	
struct inode vfs_inode;
};


enum befs_err {
	
BEFS_OK,
	
BEFS_ERR,
	
BEFS_BAD_INODE,
	
BEFS_BT_END,
	
BEFS_BT_EMPTY,
	
BEFS_BT_MATCH,
	
BEFS_BT_OVERFLOW,
	
BEFS_BT_NOT_FOUND
};


/****************************/
/* debug.c */
__printf(2, 3)
void befs_error(const struct super_block *sb, const char *fmt, ...);
__printf(2, 3)
void befs_warning(const struct super_block *sb, const char *fmt, ...);
__printf(2, 3)
void befs_debug(const struct super_block *sb, const char *fmt, ...);

void befs_dump_super_block(const struct super_block *sb, befs_super_block *);
void befs_dump_inode(const struct super_block *sb, befs_inode *);
void befs_dump_index_entry(const struct super_block *sb, befs_disk_btree_super *);
void befs_dump_index_node(const struct super_block *sb, befs_btree_nodehead *);
/****************************/


/* Gets a pointer to the private portion of the super_block
 * structure from the public part
 */

static inline struct befs_sb_info * BEFS_SB(const struct super_block *super) { return (struct befs_sb_info *) super->s_fs_info; }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox2392.00%150.00%
fabian frederickfabian frederick28.00%150.00%
Total25100.00%2100.00%


static inline struct befs_inode_info * BEFS_I(const struct inode *inode) { return container_of(inode, struct befs_inode_info, vfs_inode); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox2492.31%133.33%
fabian frederickfabian frederick13.85%133.33%
rasmus villemoesrasmus villemoes13.85%133.33%
Total26100.00%3100.00%


static inline befs_blocknr_t iaddr2blockno(struct super_block *sb, const befs_inode_addr *iaddr) { return ((iaddr->allocation_group << BEFS_SB(sb)->ag_shift) + iaddr->start); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox3697.30%150.00%
al viroal viro12.70%150.00%
Total37100.00%2100.00%


static inline befs_inode_addr blockno2iaddr(struct super_block *sb, befs_blocknr_t blockno) { befs_inode_addr iaddr; iaddr.allocation_group = blockno >> BEFS_SB(sb)->ag_shift; iaddr.start = blockno - (iaddr.allocation_group << BEFS_SB(sb)->ag_shift); iaddr.len = 1; return iaddr; }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox59100.00%1100.00%
Total59100.00%1100.00%


static inline unsigned int befs_iaddrs_per_block(struct super_block *sb) { return BEFS_SB(sb)->block_size / sizeof(befs_disk_inode_addr); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox2596.15%150.00%
al viroal viro13.85%150.00%
Total26100.00%2100.00%

#include "endian.h" #endif /* _LINUX_BEFS_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox43791.61%17.69%
fabian frederickfabian frederick255.24%430.77%
al viroal viro61.26%323.08%
salah trikisalah triki51.05%215.38%
eric w. biedermaneric w. biederman20.42%17.69%
rasmus villemoesrasmus villemoes10.21%17.69%
luis de bethencourtluis de bethencourt10.21%17.69%
Total477100.00%13100.00%
Directory: fs/befs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.