- fix warnings, produced by Haiku version of gcc;

- space indentation replaced by tab-based one to conform with Haiku coding guidelines;
 - a bit of cleanup;

 NB: Sorry for big amount of changes. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18781 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
imker
2006-09-08 19:37:58 +00:00
parent 4d493bb44a
commit d8b1cf0703
7 changed files with 690 additions and 671 deletions
+30 -34
View File
@@ -1,9 +1,15 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
/** bulk-only protocol specific implementation */ /** bulk-only protocol specific implementation */
/* References: /* References:
@@ -59,18 +65,24 @@ typedef struct _usb_mass_CSW{
#define CBW_FLAGS_OUT 0x00 #define CBW_FLAGS_OUT 0x00
#define CBW_FLAGS_IN 0x80 #define CBW_FLAGS_IN 0x80
static void trace_CBW(usb_device_info *udi, const usb_mass_CBW *cbw);
static void trace_CSW(usb_device_info *udi, const usb_mass_CSW *csw);
static status_t bulk_only_initialize(usb_device_info *udi);
static status_t bulk_only_reset(usb_device_info *udi);
static void bulk_only_transfer(usb_device_info *udi, uint8 *cmd,
uint8 cmdlen, //sg_buffer *sgb,
iovec *sg_data, int32 sg_count,
int32 transfer_len, EDirection dir,
CCB_SCSIIO *ccbio, ud_transfer_callback cb);
/*=========================== tracing helpers ==================================*/ /*=========================== tracing helpers ==================================*/
void trace_CBW(usb_device_info *udi, const usb_mass_CBW *cbw) void trace_CBW(usb_device_info *udi, const usb_mass_CBW *cbw)
{ {
char buf[sizeof(uint32) + 1] = {0}; char buf[sizeof(uint32) + 1] = {0};
strncpy(buf, (char *)&cbw->signature, sizeof(uint32)); strncpy(buf, (char *)&cbw->signature, sizeof(uint32));
PTRACE(udi, "\nCBW:{'%s'; tag:%d; data_len:%d; flags:0x%02x; lun:%d; cdb_len:%d;}\n", PTRACE(udi, "\nCBW:{'%s'; tag:%d; data_len:%d; flags:0x%02x; lun:%d; cdb_len:%d;}\n",
buf, buf, cbw->tag, cbw->data_transfer_len,
cbw->tag, cbw->flags, cbw->lun, cbw->cdb_len);
cbw->data_transfer_len,
cbw->flags,
cbw->lun,
cbw->cdb_len);
udi->trace_bytes("CDB:\n", cbw->CDB, CBW_CDB_LENGTH); udi->trace_bytes("CDB:\n", cbw->CDB, CBW_CDB_LENGTH);
} }
@@ -79,10 +91,7 @@ void trace_CSW(usb_device_info *udi, const usb_mass_CSW *csw)
char buf[sizeof(uint32) + 1] = {0}; char buf[sizeof(uint32) + 1] = {0};
strncpy(buf, (char *)&csw->signature, sizeof(uint32)); strncpy(buf, (char *)&csw->signature, sizeof(uint32));
PTRACE(udi, "CSW:{'%s'; tag:%d; residue:%d; status:0x%02x}\n", PTRACE(udi, "CSW:{'%s'; tag:%d; residue:%d; status:0x%02x}\n",
buf, buf, csw->tag, csw->data_residue, csw->status);
csw->tag,
csw->data_residue,
csw->status);
} }
/** /**
@@ -131,10 +140,7 @@ get_max_luns(usb_device_info *udi)
operation. operation.
*/ */
static status_t static status_t
queue_bulk(usb_device_info *udi, queue_bulk(usb_device_info *udi, void* buffer, size_t len, bool b_in)
void *buffer,
size_t len,
bool b_in)
{ {
status_t status = B_OK; status_t status = B_OK;
usb_pipe pipe = b_in ? udi->pipe_in : udi->pipe_out; usb_pipe pipe = b_in ? udi->pipe_in : udi->pipe_out;
@@ -161,9 +167,7 @@ queue_bulk(usb_device_info *udi,
BulkOnly specification ([2] 6.3) BulkOnly specification ([2] 6.3)
*/ */
static bool static bool
check_CSW(usb_device_info *udi, check_CSW(usb_device_info *udi, usb_mass_CSW* csw, int transfer_len)
usb_mass_CSW *csw,
int transfer_len)
{ {
bool is_valid = false; bool is_valid = false;
do{ do{
@@ -208,9 +212,7 @@ check_CSW(usb_device_info *udi,
reads CSW from device as proposed in ([2] 5.3.3; Figure 2.). reads CSW from device as proposed in ([2] 5.3.3; Figure 2.).
*/ */
static status_t static status_t
read_status(usb_device_info *udi, read_status(usb_device_info *udi, usb_mass_CSW* csw, int transfer_len)
usb_mass_CSW *csw,
int transfer_len)
{ {
status_t status = B_ERROR; status_t status = B_ERROR;
int try = 0; int try = 0;
@@ -314,16 +316,9 @@ bulk_only_reset(usb_device_info *udi)
[2] [2]
*/ */
void void
bulk_only_transfer(usb_device_info *udi, bulk_only_transfer(usb_device_info *udi, uint8 *cmd, uint8 cmdlen, //sg_buffer *sgb,
uint8 *cmd, iovec *sg_data,int32 sg_count, int32 transfer_len,
uint8 cmdlen, EDirection dir, CCB_SCSIIO *ccbio, ud_transfer_callback cb)
//sg_buffer *sgb,
iovec *sg_data,
int32 sg_count,
int32 transfer_len,
EDirection dir,
CCB_SCSIIO *ccbio,
ud_transfer_callback cb)
{ {
status_t status = B_OK; status_t status = B_OK;
status_t command_status = B_OK; status_t command_status = B_OK;
@@ -381,3 +376,4 @@ protocol_module_info bulk_only_protocol_m = {
bulk_only_reset, bulk_only_reset,
bulk_only_transfer, bulk_only_transfer,
}; };
@@ -1,9 +1,15 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
/** bulk-only protocol "standard" procedures */ /** bulk-only protocol "standard" procedures */
+24 -20
View File
@@ -1,9 +1,15 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
/* References: /* References:
* USB Mass Storage Class specifications: * USB Mass Storage Class specifications:
* http://www.usb.org/developers/data/devclass/usbmassover_11.pdf * http://www.usb.org/developers/data/devclass/usbmassover_11.pdf
@@ -55,6 +61,13 @@ typedef union _usb_mass_CBI_IDB{
#define CBI_IDB_VALUE_PERSISTENT 0x03 #define CBI_IDB_VALUE_PERSISTENT 0x03
#define CBI_IDB_VALUE_STATUS_MASK 0x03 #define CBI_IDB_VALUE_STATUS_MASK 0x03
static void trace_CDB(usb_device_info *udi, const usb_mass_CBI_CB *cb, int len);
static status_t cbi_reset(usb_device_info *udi);
static status_t cbi_initialize(usb_device_info *udi);
static void cbi_transfer(usb_device_info *udi, uint8 *cmd, uint8 cmdlen, //sg_buffer *sgb,
iovec *sg_data, int32 sg_count, int32 transfer_len,
EDirection dir, CCB_SCSIIO *ccbio, ud_transfer_callback cb);
/** returns size of private protocol buffer */ /** returns size of private protocol buffer */
//int cbi_buffer_length(){ return sizeof(usb_mass_CBI_CB) + sizeof(usb_mass_CBI_IDB); } //int cbi_buffer_length(){ return sizeof(usb_mass_CBI_CB) + sizeof(usb_mass_CBI_IDB); }
/** casts private protocol buffer to CBI_IDB */ /** casts private protocol buffer to CBI_IDB */
@@ -72,9 +85,7 @@ void trace_CDB(usb_device_info *udi, const usb_mass_CBI_CB *cb, int len)
} }
static status_t static status_t
send_request_adsc(usb_device_info *udi, send_request_adsc(usb_device_info *udi, void *cb, int length)
void *cb,
int length)
{ {
status_t status = B_ERROR; status_t status = B_ERROR;
size_t len = 0; size_t len = 0;
@@ -88,8 +99,7 @@ send_request_adsc(usb_device_info *udi,
} }
static status_t static status_t
request_interrupt(usb_device_info *udi, request_interrupt(usb_device_info *udi, usb_mass_CBI_IDB *idb)
usb_mass_CBI_IDB *idb)
{ {
status_t status = B_ERROR; status_t status = B_ERROR;
status = (*udi->usb_m->queue_interrupt)(udi->pipe_intr, idb, status = (*udi->usb_m->queue_interrupt)(udi->pipe_intr, idb,
@@ -108,8 +118,7 @@ request_interrupt(usb_device_info *udi,
} }
static status_t static status_t
parse_status(usb_device_info *udi, parse_status(usb_device_info *udi, usb_mass_CBI_IDB *idb)
usb_mass_CBI_IDB *idb)
{ {
status_t command_status = B_OK; status_t command_status = B_OK;
if(CMDSET(udi->properties) == CMDSET_UFI){ if(CMDSET(udi->properties) == CMDSET_UFI){
@@ -196,16 +205,10 @@ cbi_initialize(usb_device_info *udi)
??? ???
*/ */
void void
cbi_transfer(usb_device_info *udi, cbi_transfer(usb_device_info *udi, uint8 *cmd, uint8 cmdlen,
uint8 *cmd,
uint8 cmdlen,
//sg_buffer *sgb, //sg_buffer *sgb,
iovec *sg_data, iovec *sg_data, int32 sg_count, int32 transfer_len,
int32 sg_count, EDirection dir,CCB_SCSIIO *ccbio, ud_transfer_callback cb)
int32 transfer_len,
EDirection dir,
CCB_SCSIIO *ccbio,
ud_transfer_callback cb)
{ {
status_t status = B_OK; status_t status = B_OK;
status_t command_status = B_OK; status_t command_status = B_OK;
@@ -255,3 +258,4 @@ protocol_module_info cbi_protocol_m = {
cbi_reset, cbi_reset,
cbi_transfer, cbi_transfer,
}; };
+10 -4
View File
@@ -1,9 +1,15 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
#ifndef _PROTO_CBI_H_ #ifndef _PROTO_CBI_H_
#define _PROTO_CBI_H_ #define _PROTO_CBI_H_
@@ -1,9 +1,15 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
#include <string.h> #include <string.h>
#include "usb_scsi.h" #include "usb_scsi.h"
@@ -24,10 +30,7 @@
??? ???
*/ */
void bulk_callback(void *cookie, void bulk_callback(void *cookie, uint32 status, void* data, uint32 actual_len)
uint32 status,
void *data,
uint32 actual_len)
{ {
TRACE_BULK_CALLBACK(status, actual_len); TRACE_BULK_CALLBACK(status, actual_len);
if(cookie){ if(cookie){
@@ -47,10 +50,8 @@ void bulk_callback(void *cookie,
??? ???
*/ */
status_t process_data_io(usb_device_info *udi, status_t process_data_io(usb_device_info *udi, //sg_buffer *sgb,
//sg_buffer *sgb, iovec *sg_data, int32 sg_count, EDirection dir)
iovec *sg_data, int32 sg_count,
EDirection dir)
{ {
status_t status = B_OK; status_t status = B_OK;
usb_pipe pipe = (dir == eDirIn) ? udi->pipe_in : udi->pipe_out; usb_pipe pipe = (dir == eDirIn) ? udi->pipe_in : udi->pipe_out;
@@ -75,10 +76,8 @@ status_t process_data_io(usb_device_info *udi,
return status; return status;
} }
void transfer_callback(struct _usb_device_info *udi, void transfer_callback(struct _usb_device_info *udi, CCB_SCSIIO *ccbio,
CCB_SCSIIO *ccbio, int32 residue, status_t status)
int32 residue,
status_t status)
{ {
ccbio->cam_resid = residue; ccbio->cam_resid = residue;
switch(status){ switch(status){
@@ -120,10 +119,8 @@ void transfer_callback(struct _usb_device_info *udi,
} }
} }
void sense_callback(struct _usb_device_info *udi, void sense_callback(struct _usb_device_info *udi, CCB_SCSIIO *ccbio,
CCB_SCSIIO *ccbio, int32 residue, status_t status)
int32 residue,
status_t status)
{ {
ccbio->cam_sense_resid = residue; ccbio->cam_sense_resid = residue;
switch(status){ switch(status){
@@ -1,6 +1,13 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
#ifndef _PROTO_COMMON_H_ #ifndef _PROTO_COMMON_H_
@@ -10,19 +17,14 @@
#include "device_info.h" #include "device_info.h"
#endif /* _DEVICE_INFO_H_ */ #endif /* _DEVICE_INFO_H_ */
void bulk_callback(void *cookie, void bulk_callback(void *cookie, uint32 status, void* data, uint32 actual_len);
uint32 status,
void *data,
uint32 actual_len);
status_t process_data_io(usb_device_info *udi, iovec *sg_data, int32 sg_count/*sg_buffer *sgb*/, EDirection dir); status_t process_data_io(usb_device_info *udi, iovec *sg_data, int32 sg_count/*sg_buffer *sgb*/, EDirection dir);
void transfer_callback(usb_device_info *udi, void transfer_callback(usb_device_info *udi, CCB_SCSIIO *ccbio,
CCB_SCSIIO *ccbio, int32 residue, status_t status);
int32 residue, void sense_callback(usb_device_info *udi, CCB_SCSIIO *ccbio,
status_t status); int32 residue, status_t status);
void sense_callback(usb_device_info *udi,
CCB_SCSIIO *ccbio,
int32 residue,
status_t status);
#endif /*_PROTO_COMMON_H_*/ #endif /*_PROTO_COMMON_H_*/
@@ -1,6 +1,13 @@
/* /**
* Copyright (c) 2003-2005 by Siarzhuk Zharski <[email protected]> *
* Distributed under the terms of the BSD License. * TODO: description
*
* This file is a part of USB SCSI CAM for Haiku OS.
* May be used under terms of the MIT License
*
* Author(s):
* Siarzhuk Zharski <[email protected]>
*
* *
*/ */
#ifndef _PROTO_MODULE_H_ #ifndef _PROTO_MODULE_H_
@@ -79,3 +86,4 @@ typedef struct {
{ if(__udi->b_trace) __udi->trace(false, __x); } { if(__udi->b_trace) __udi->trace(false, __x); }
#endif /* _PROTO_MODULE_H_ */ #endif /* _PROTO_MODULE_H_ */