shithub: ext4srv

ref: 053f9415a345a438773817534e80704a6b372355
dir: /common.h/

View raw version
#pragma lib "../lwext4/src/liblwext4.a"

typedef struct Opts Opts;
typedef struct Part Part;

#pragma varargck type "Ð" Part*
#pragma varargck type "M" Part*

struct Opts {
	char *group;
	int cachewb;
	int linkmode;
	int asroot;
};

struct Part {
	Ref;
	QLock;
	Part *prev, *next;

	char dev[32];
	char mnt[32];

	struct ext4_blockdev bdev;
	struct ext4_blockdev_iface bdif;
	struct ext4_sblock *sb;
	Qid qid;
	Qid qidmask;
	Groups groups;
	int f;
	uchar blkbuf[];
};

enum {
	Lhide,
	Lresolve = 1,
};

Part *openpart(char *dev, Opts *opts);
void closepart(Part *p);
void closeallparts(void);

char *errno2s(int err);