shithub: riscv

ref: a291bbdeddfd41a2f0907ecbd7b819f0eedffdaf
dir: /sys/src/cmd/disk/smart/smart.h/

View raw version
enum {
	Tscsi	= 1,
	Tata	= 2,

	Sok	= 0,
	Ssoon	= 1,
	Sfail	= 2,

	Nrb	= 32,
	Pathlen	= 256,
};

typedef struct Dtype Dtype;
typedef struct Sdisk Sdisk;

struct Dtype {
	int	type;
	char	*tname;
	int	(*probe)(Sdisk*);
	int	(*enable)(Sdisk*);
	int	(*status)(Sdisk*, char*, int);
};

struct Sdisk {
	Sdisk	*next;
	Dtype	*t;
	int	fd;
	Sfis;
	char	path[Pathlen];
	char	name[28];
	char	status;
	uchar	silent;
	uvlong	lastcheck;
	uvlong	lastlog;
};

int	scsiprobe(Sdisk*);
int	scsienable(Sdisk*);
int	scsistatus(Sdisk*, char*, int);
int	ataprobe(Sdisk*);
int	ataenable(Sdisk*);
int	atastatus(Sdisk*, char*, int);

void	eprint(Sdisk*, char *, ...);