#ifndef _HINT_MANAGER_H_
#define _HINT_MANAGER_H_

#include "hint_device.h"

#include <scsi/scsi_cmnd.h>

typedef struct hint_manager_s {
  hint_dev_t *hint_dev;
  char *buffer;
  int buffer_size;
}hint_manager_t;

int hint_manager_init(hint_manager_t *hint_manager, hint_dev_t *hint_dev);
void hint_manager_fini(hint_manager_t *hint_manager);
int hint_manager_is_initialized(hint_manager_t *hint_manager);

void hint_manager_on_scsi_request(hint_manager_t *hint_manager,
                                  struct scsi_cmnd *sc);
void hint_manager_on_idle_time(hint_manager_t *hint_manager);


#endif /* _HINT_MANAGER_H_ */
