Rewrote CAM.h. Since this file is from an ANSI standard, I

kept the non-be specific comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32805 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2009-08-29 10:22:06 +00:00
parent ca8b8ff27b
commit 5ce0a8a2d2
+16 -28
View File
@@ -1,28 +1,21 @@
/* ++++++++++ /*
CAM.h * Copyright 2009, Haiku, Inc. All rights reserved.
Copyright (c) 1996-98 by Be Incorporated. All Rights Reserved. * Distributed under the terms of the MIT License.
*
Definitions for the SCSI Common Access Method as implemented in the Be OS. *
* Definitions for the SCSI Common Access Method as implemented in Haiku.
See also "Draft Proposed American National Standard, SCSI-2 Common *
Access Method Transport and SCSI Interface Module", Revision 12, * See also "Draft Proposed American National Standard, SCSI-2 Common
ANSI refernce number X3.232-199x. * Access Method Transport and SCSI Interface Module", Revision 12,
* ANSI refernce number X3.232-199x.
This file consists of the definitions for the fictional "UNIVOS" *
operating system described in the standard. The file is mostly */
the same text as the standard, with Be-provided additions as needed.
+++++ */
#ifndef _CAM_H #ifndef _CAM_H
#define _CAM_H #define _CAM_H
#include <bus_manager.h> #include <bus_manager.h>
/* ---
Be-provided additions to the standard include file.
--- */
#include <sys/types.h> #include <sys/types.h>
#ifdef __cplusplus #ifdef __cplusplus
@@ -41,6 +34,8 @@ typedef long I32;
typedef unsigned short U16; typedef unsigned short U16;
#endif #endif
/* Haiku specific additions */
typedef struct { typedef struct {
uint32 serial; /* operation serial number */ uint32 serial; /* operation serial number */
uint32 micros; /* operation time in microseconds (4294s max) */ uint32 micros; /* operation time in microseconds (4294s max) */
@@ -51,12 +46,7 @@ typedef struct {
uchar scsi_op; /* scsi operation byte */ uchar scsi_op; /* scsi operation byte */
} cam_iostat; } cam_iostat;
/* End of Haiku specific additions */
/* -----
The rest of this file contains the definitions and data structures for
the CAM Subsystem interface. The contents of this file should match the
data structures and constants that are specified in the CAM document
----- */
/* Defines for the XPT function codes, Table 8-2 in the CAM spec. */ /* Defines for the XPT function codes, Table 8-2 in the CAM spec. */
@@ -91,8 +81,6 @@ typedef struct {
#define XPT_FUNC 0x7F /* TEMPLATE */ #define XPT_FUNC 0x7F /* TEMPLATE */
#define XPT_VUNIQUE 0x80 /* All the rest are vendor unique commands */ #define XPT_VUNIQUE 0x80 /* All the rest are vendor unique commands */
/* ---------------------------------------------------------------------- */
/* General allocation length defines for the CCB structures. */ /* General allocation length defines for the CCB structures. */
#define IOCDBLEN 12 /* Space for the CDB bytes/pointer */ #define IOCDBLEN 12 /* Space for the CDB bytes/pointer */
@@ -636,7 +624,7 @@ typedef struct ccb_extended_pathinq
/* --- /* ---
Vendor unique flags supported by Be OS (cam_vu_flags) Vendor unique flags supported by Haiku (cam_vu_flags)
--- */ --- */
enum { enum {