|
|
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.