SMREmulator 1.0
ShingledMagneticRecordingEmulator

ediversion.h

Go to the documentation of this file.
00001 
00010 #ifndef __EMUVERSION_H_
00011 #define __EMUVERSION_H_
00012 
00013 #include <stdarg.h>
00014 
00015 #include <emudebug.h>
00016 #include <emuerror.h>
00017 #include <emutypes.h>
00018 #include <emudiskimg.h>
00019 
00020 
00021 
00022 /* -- Macro Definitions -- */
00023 
00027 #define MAX_EDI_VERSION 0
00028 
00029 
00030 
00031 /* -- Type Definitions -- */
00032 typedef struct {
00033         int (*create)(int, va_list);
00034         int (*dump)(int);
00035     int (*open)(int);
00036     int (*close)(int);
00037     int (*modesense)(int, inq_t, void*);
00038     int (*managebands)(int, svc_act_t, band_t*, rba_t*, int);
00039     int (*read)(int, band_t, rba_t, char*, rba_t);
00040     int (*write)(int, band_t, rba_t, char*, rba_t);
00041 }edi_vops_t;
00042 
00043 
00044 
00045 /* -- Global Variables -- */
00046 edi_vops_t* edi_versions[MAX_EDI_VERSION + 1];
00047 
00048 
00049 
00050 /* -- Function Prototypes -- */
00051 int ediv_init();
00052 int ediv_is_valid(uint32_t);
00053 
00054 
00055 
00056 #endif /* __EMUVERSION_H_ */