home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 4 Drivers / 04-Drivers.zip / mtek004.zip / scsi.h < prev    next >
C/C++ Source or Header  |  1997-09-16  |  2KB  |  70 lines

  1. /*
  2.    scsi.h
  3.  
  4.    Copyright (c) 1996, 1997 Jan Schoenepauck / Fast Forward Productions
  5.    <schoenep@uni-wuppertal.de>
  6.  
  7.    $Id: scsi.h 1.2 1997/09/16 04:02:59 parent Exp $
  8. */
  9.  
  10. #ifndef _SCSI_H
  11. #define _SCSI_H
  12.  
  13. #define SCSI_HDRLEN sizeof(struct sg_header)
  14.  
  15. #ifndef __EMX__
  16. #ifdef SG_BIG_BUFF
  17. #define SCSI_BUFSIZE (SG_BIG_BUFF)
  18. #else
  19. #define SCSI_BUFSIZE (4096 + SCSI_HDRLEN)
  20. #endif
  21. #else    /* OS/2 */
  22. #define SCSI_BUFSIZE (32767L)
  23. #endif
  24.  
  25. typedef unsigned char scsi_6byte_cmd[6];
  26. typedef unsigned char scsi_10byte_cmd[10];
  27. typedef unsigned char scsi_12byte_cmd[12];
  28.  
  29. extern int scsi_debug_level;
  30. extern char *scsi_device;
  31. extern int scsi_fd;
  32. extern unsigned char scsi_cmd_buffer[];
  33. extern unsigned int scsi_packet_id;
  34. extern int scsi_memsize;
  35. extern unsigned char scsi_sensebuffer[];
  36.  
  37. struct inquiry_data {
  38.   char peripheral_qualifier;
  39.   char peripheral_device_type;
  40.   char RMB;
  41.   char device_type_modifier;
  42.   char ISO_version;
  43.   char ECMA_version;
  44.   char ANSI_version;
  45.   char AENC;
  46.   char TrmIOP;
  47.   char response_data_format;
  48.   char RelAdr;
  49.   char WBus32;
  50.   char WBus16;
  51.   char Sync;
  52.   char Linked;
  53.   char CmdQue;
  54.   char SftRe;
  55.   char vendor[9];
  56.   char model[17];
  57.   char revision[5];
  58.   char additional_inquiry;
  59. };
  60.  
  61. extern int scsi_open_device (void);
  62. extern void scsi_close_device (void);
  63. extern int scsi_handle_cmd (unsigned char *scsi_cmd,   int scsi_cmd_len,
  64.                             unsigned char *scsi_data,  int data_size,
  65.                             unsigned char *scsi_reply, int reply_size);
  66. extern int scsi_inquiry (struct inquiry_data *inq);
  67. extern void scsi_print_inquiry_data (struct inquiry_data *inq);
  68.  
  69. #endif
  70.