shithub: ext4srv

ref: 7e6af6b00ee3034daa6a1a1e9c6cb97c94b57196
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 = 1,
};

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

char *errno2s(int err);