cdb_Write Class Reference
[SCSI Library]

#include <cdb.h>

Inheritance diagram for cdb_Write:

Inheritance graph
[legend]
Collaboration diagram for cdb_Write:

Collaboration graph
[legend]

List of all members.


Detailed Description

SCSI write command.

Definition at line 387 of file cdb.h.


Public Member Functions

 cdb_Write ()
 cdb_Write (const UInt8_t *a_dataPtr, UInt32_t a_dataSize)
virtual ~cdb_Write ()
void SetBuffer (const UInt8_t *a_dataPtr, UInt32_t a_dataSize)
virtual const UInt8_tGetCmdPointer () const
virtual UInt32_t GetCmdSize () const
virtual Direction_e GetTransferDirection () const
virtual UInt8_tGetBufferPointer () const
virtual UInt32_t GetBufferSize () const

Private Attributes

 log_CLASSID_m
cdb_Write_t m_writeCmd
const UInt8_tm_dataPtr
UInt32_t m_dataSize

Constructor & Destructor Documentation

cdb_Write::cdb_Write (  ) 

Definition at line 33 of file cdb_write.cpp.

References m_writeCmd, op_WRITE_6, and cdb_Write_t::opcode.

00034     : m_dataPtr(NULL),
00035       m_dataSize(0) {
00036 
00037     memset (&m_writeCmd, 0, sizeof(m_writeCmd));
00038     m_writeCmd.opcode = op_WRITE_6;
00039 }

cdb_Write::cdb_Write ( const UInt8_t a_dataPtr,
UInt32_t  a_dataSize 
)

Definition at line 41 of file cdb_write.cpp.

References hton24(), m_writeCmd, op_WRITE_6, cdb_Write_t::opcode, and cdb_Write_t::size.

00042     : m_dataPtr(a_dataPtr),
00043       m_dataSize(a_dataSize) {
00044 
00045     memset (&m_writeCmd, 0, sizeof(m_writeCmd));
00046     m_writeCmd.opcode = op_WRITE_6;
00047     m_writeCmd.size = hton24(a_dataSize);
00048 }

Here is the call graph for this function:

cdb_Write::~cdb_Write (  )  [virtual]

Definition at line 50 of file cdb_write.cpp.

00050                       {
00051 }


Member Function Documentation

void cdb_Write::SetBuffer ( const UInt8_t a_dataPtr,
UInt32_t  a_dataSize 
)

Definition at line 53 of file cdb_write.cpp.

References hton24(), m_dataPtr, m_dataSize, m_writeCmd, and cdb_Write_t::size.

Referenced by bea_TapeVolume::WriteRaw(), and WriteToMedium().

00053                                                                        {
00054     m_dataPtr = a_dataPtr;
00055     m_dataSize = a_dataSize;
00056     m_writeCmd.size = hton24(a_dataSize);
00057 }

Here is the call graph for this function:

Here is the caller graph for this function:

const UInt8_t * cdb_Write::GetCmdPointer (  )  const [virtual]

Reimplemented from scsi_CDB.

Definition at line 72 of file cdb_write.cpp.

References m_writeCmd.

00072                                               {
00073     return reinterpret_cast<UInt8_t*>(
00074         const_cast<cdb_Write_t*>(&m_writeCmd) );
00075 }

UInt32_t cdb_Write::GetCmdSize (  )  const [virtual]

Reimplemented from scsi_CDB.

Definition at line 77 of file cdb_write.cpp.

References m_writeCmd.

00077                                      {
00078     return sizeof(m_writeCmd);
00079 }

Direction_e cdb_Write::GetTransferDirection (  )  const [virtual]

Implements scsi_CDB.

Definition at line 81 of file cdb_write.cpp.

References TRANSFER_OUT.

00081                                                   {
00082     return TRANSFER_OUT;
00083 }

UInt8_t * cdb_Write::GetBufferPointer (  )  const [virtual]

Reimplemented from scsi_CDB.

Definition at line 60 of file cdb_write.cpp.

References m_dataPtr.

00060                                            {
00061     return const_cast<UInt8_t*>(m_dataPtr);
00062 }

UInt32_t cdb_Write::GetBufferSize (  )  const [virtual]

Reimplemented from scsi_CDB.

Definition at line 64 of file cdb_write.cpp.

References log_ERR_m, log_FUNC_m, and m_dataSize.

00064                                         {
00065     if (m_dataSize == 0) {
00066         log_FUNC_m(GetBufferSize);
00067         log_ERR_m("Request for zero bytes SCSI write.");
00068     }
00069     return m_dataSize;
00070 }


Member Data Documentation

Reimplemented from scsi_CDB.

Definition at line 404 of file cdb.h.

Definition at line 406 of file cdb.h.

Referenced by cdb_Write(), GetCmdPointer(), GetCmdSize(), and SetBuffer().

const UInt8_t* cdb_Write::m_dataPtr [private]

Definition at line 407 of file cdb.h.

Referenced by GetBufferPointer(), and SetBuffer().

Definition at line 408 of file cdb.h.

Referenced by GetBufferSize(), and SetBuffer().


The documentation for this class was generated from the following files:

Generated on Mon Feb 27 19:02:52 2012 for OPENARCHIVE by  doxygen 1.5.6