ref: 201c4b566f54ee0e5cb5122f9a9bf1a68b3466e2
dir: /sys/src/cmd/disk/smart/smart.h/
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 *, ...);