|
|
1.1 ! root 1: /*********************************************************************** ! 2: * Module: haiioctl.h ! 3: * ! 4: * Definitions and declarations needed to implement and use the haiioctl ! 5: * call. ! 6: * ! 7: * Copyright (c) 1993 Christopher Sean Hilton All rights reserved. ! 8: * ! 9: * Last Modified: Sat Jul 24 08:08:06 1993 by [chris] ! 10: * ! 11: * $Id$ ! 12: * ! 13: * $Log$ ! 14: */ ! 15: ! 16: #ifndef _HAIIOCTL_H_ ! 17: #define _HAIIOCTL_H_ ! 18: ! 19: #include <sys/haiscsi.h> ! 20: ! 21: #define HAI_IOC 0x49414800 /* "\0HAI" on intel machines */ ! 22: #define HAIINQUIRY (HAI_IOC | 1) /* Inquiry Command */ ! 23: #define HAIMDSNS0 (HAI_IOC | 2) /* Group 0 Mode Sense */ ! 24: #define HAIMDSLCT0 (HAI_IOC | 3) /* Group 0 Mode Select */ ! 25: #define HAIMDSNS2 (HAI_IOC | 4) /* Group 2 Mode Sense */ ! 26: #define HAIMDSLCT2 (HAI_IOC | 5) /* Group 2 Mode Select */ ! 27: #define HAIUSERCDB (HAI_IOC | 6) /* User Selected command (be careful) */ ! 28: ! 29: /*********************************************************************** ! 30: * haiusercdb -- Use this layout to get I/O Control info to or from ! 31: * a particular device on the scsi bus. Note well ! 32: * that you will need to be the super user in order ! 33: * to use the HAIUSERCDB I/O Control. ! 34: */ ! 35: ! 36: typedef struct haiusercdb_s *haiusercdb_p; ! 37: ! 38: typedef struct haiusercdb_s { ! 39: cdb_t cdb; /* CDB you want to run */ ! 40: char sensebuf[SENSELEN]; /* Sensebuf for returned errors */ ! 41: unsigned short timeout, /* Time to live */ ! 42: xferdir; /* Transfer direction */ ! 43: size_t buflen; /* Buffer length */ ! 44: char buf[0]; /* Start of buffer (C++ okay!?) */ ! 45: } haiusercdb_t; ! 46: ! 47: #endif /* _HAIIOCTL_H_ */ ! 48: ! 49: /* End of file */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.