userlibandfileserver/fileserver/smassstorage/inc/cbulkonlytransport.h
author hgs
Mon, 11 Oct 2010 17:54:41 +0100
changeset 286 48e57fb1237e
parent 271 dc268b18d709
permissions -rw-r--r--
201039_11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
269
d57b86b1867a 201035_03
hgs
parents: 0
diff changeset
     1
// Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     2
// All rights reserved.
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     3
// This component and the accompanying materials are made available
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     5
// which accompanies this distribution, and is available
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     7
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     8
// Initial Contributors:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    10
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    11
// Contributors:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    12
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    13
// Description:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    14
// Class declaration for CBulkOnlyTransport.
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    15
//
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    16
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    17
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    18
/**
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    19
 @file
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    20
 @internalTechnology
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    21
*/
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    22
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    23
#ifndef __CBULKONLYTRANSPORT_H__
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    24
#define __CBULKONLYTRANSPORT_H__
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    25
271
dc268b18d709 201037_07
hgs
parents: 269
diff changeset
    26
#include <e32std.h>
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    27
#if !defined(__WINS__) && !defined(__X86__)
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    28
#include <d32usbcsc.h>
271
dc268b18d709 201037_07
hgs
parents: 269
diff changeset
    29
#endif
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    30
#include <d32usbc.h>
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    31
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    32
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    33
static const TUint KCbwLength = 31;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    34
static const TUint KCommandBufferLength = 36;
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    35
// for control endpoint
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    36
static const TUint KRequestHdrSize = 8;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    37
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    38
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    39
/** size of buffer for command padding */
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    40
static const TUint KBOTMaxBufSize       = 512;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    41
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    42
/** size of csw */
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    43
LOCAL_D const TInt KCswLength = 13;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    44
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    45
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    46
/**
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    47
Represent Endpoint0 request
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    48
*/
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    49
class TUsbRequestHdr
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    50
    {
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    51
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    52
    enum TEp0Request
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    53
        {
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    54
        EReqGetMaxLun = 0xFE,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    55
        EReqReset     = 0xFF
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    56
        };
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    57
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    58
    TInt Decode(const TDesC8& aBuffer);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    59
    TBool IsDataResponseRequired() const;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    60
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    61
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    62
    TUint8 iRequestType;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    63
    TEp0Request iRequest;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    64
    TUint16 iValue;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    65
    TUint16 iIndex;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    66
    TUint16 iLength;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    67
    };
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    68
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    69
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    70
/** handles the data transport and communications with the SCSI protocol */
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    71
class CBulkOnlyTransport : public CActive, public MTransportBase
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    72
    {
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    73
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    74
    enum TCswStatus
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    75
        {
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    76
        ECommandPassed  = 0,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    77
        ECommandFailed  = 1,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    78
        EPhaseError     = 2
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    79
        };
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    80
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    81
    enum TTransportState
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    82
        {
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    83
        ENone,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    84
        EWaitForCBW,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    85
        ESendingCSW,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    86
        EWritingData,
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    87
        EReadingData,
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    88
        EPermErr
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    89
        };
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    90
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    91
    static CBulkOnlyTransport* NewL(TInt aNumDrives,CUsbMassStorageController& aController, CUsbMassStorageController::TTransportldd aTransportLddFlag);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    92
    static CBulkOnlyTransport* NewL(TInt aNumDrives,CUsbMassStorageController& aController);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    93
269
d57b86b1867a 201035_03
hgs
parents: 0
diff changeset
    94
protected:
271
dc268b18d709 201037_07
hgs
parents: 269
diff changeset
    95
    ~CBulkOnlyTransport();
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    96
    CBulkOnlyTransport(TInt aNumDrives,CUsbMassStorageController& aController);
269
d57b86b1867a 201035_03
hgs
parents: 0
diff changeset
    97
d57b86b1867a 201035_03
hgs
parents: 0
diff changeset
    98
public:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
    99
    TInt InitialiseTransportL(TInt aTransportLddFlag);
269
d57b86b1867a 201035_03
hgs
parents: 0
diff changeset
   100
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   101
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   102
    TInt Start();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   103
    TInt Stop();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   104
    void RegisterProtocol(MProtocolBase& aProtocol);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   105
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   106
    CUsbMassStorageController& Controller();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   107
    TInt MaxLun();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   108
    void SetupReadData(TUint aLength);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   109
    void SetupWriteData(TPtrC8& aData);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   110
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   111
    void GetCommandBufPtr(TPtr8& aDes, TUint aLength); // Ptr to iCommandBuf to send responses to commands
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   112
    void GetReadDataBufPtr(TPtr8& aDes); // Ptr to DataBuf's
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   113
    void GetWriteDataBufPtr(TPtrC8& aDes);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   114
#ifdef MSDC_MULTITHREADED
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   115
    void ProcessReadData(TAny* aAddress);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   116
#endif
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   117
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   118
    TInt HwStart(TBool aDiscard = EFalse);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   119
    TInt HwStop();
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   120
    void StopBulkOnlyEndpoint();
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   121
    TInt HwSuspend();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   122
    TInt HwResume();
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   123
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   124
    virtual void RunL();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   125
    virtual void DoCancel();
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   126
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   127
    virtual TInt SetupConfigurationDescriptor(TBool aUnset = EFalse) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   128
    virtual TInt SetupInterfaceDescriptors() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   129
    virtual void ReleaseInterface() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   130
    virtual void CancelControlInterface() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   131
    virtual TInt StartControlInterface() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   132
    virtual void ActivateDeviceStateNotifier() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   133
    virtual void CancelDeviceStateNotifier() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   134
    virtual void CancelReadWriteRequests() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   135
    virtual void AllocateEndpointResources() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   136
    virtual TInt GetDeviceStatus(TUsbcDeviceState& deviceStatus) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   137
    virtual void FlushData() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   138
    virtual void ReadAndDiscardData(TInt aBytes) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   139
    virtual void ReadCBW() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   140
    virtual void ExpireData(TAny* aAddress = NULL) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   141
    virtual void ProcessCbwEvent() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   142
    virtual void StallEndpointAndWaitForClear() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   143
    virtual void ReadData(TUint aLength = 0) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   144
    virtual void WriteUsb(TRequestStatus& aStatus,  TPtrC8& aDes, TUint aLength, TBool aZlpRequired = EFalse) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   145
    virtual void SetCbwPtr() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   146
    virtual TPtr8& SetCommandBufPtr(TUint aLength) = 0; // pointer to buf for sending responses to commands
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   147
    virtual TPtr8& SetDataBufPtr() = 0; // to swap between the two buffers
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   148
    virtual void SetPaddingBufPtr(TUint aLength) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   149
    virtual void SetCswBufPtr(TUint aLength) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   150
    virtual void ProcessReadingDataEvent() = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   151
    virtual void DiscardData(TUint aLength) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   152
    virtual void WriteToClient(TUint aLength) = 0;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   153
    virtual void SetReadDataBufPtr( TUint aLength) = 0;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   154
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   155
#ifdef MSDC_MULTITHREADED
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   156
    virtual void GetBufferPointers(TPtr8& aDes1, TPtr8& aDes2) = 0;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   157
#endif
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   158
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   159
protected:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   160
    void DecodeCBW();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   161
    TBool CheckCBW();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   162
    void SetPermError();
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   163
    void SendCSW(TUint aTag, TUint aDataResidue, TCswStatus aStatus);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   164
    void WriteData(TRequestStatus& aStatus,  TPtrC8& aDes, TUint aLength, TBool aZlpRequired = EFalse);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   165
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   166
    void CallReadAndDiscardData(TInt aBytes);
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   167
    void Activate(TInt aReason);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   168
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   169
protected:
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   170
    /** maximun logic unit number supported (started from 0*/
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   171
    TInt iMaxLun;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   172
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   173
    CUsbMassStorageController& iController;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   174
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   175
    MProtocolBase* iProtocol;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   176
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   177
    TTransportState  iCurrentState;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   178
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   179
    /** Shows how much data was not send/received */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   180
    TUint32 iDataResidue;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   181
    TUint32 iCbwTag;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   182
    TCswStatus iCmdStatus;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   183
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   184
    /** Indicate if SCSI prot has data to sent */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   185
    TBool iWriteSetUp;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   186
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   187
    /** Indicate if SCSI prot expected additional data */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   188
    TBool iReadSetUp;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   189
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   190
    /** Indicate whether SCSI prot started or not */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   191
    TBool iStarted;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   192
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   193
    TBool iStallAllowed;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   194
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   195
    TBool iInterfaceConfigured;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   196
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   197
    TPtr8 iCommandBufPtr; // Ptr to buffer to write responses to commands
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   198
    TPtr8 iDataBufPtr;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   199
    TPtr8 iCswBufPtr;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   200
    TPtr8 iPaddingBufPtr;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   201
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   202
    /** Size of data, Used to tell transport how much protocol/media has to send */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   203
    TUint32 iBufSize;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   204
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   205
    TPtrC8 iWriteBufPtr;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   206
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   207
    TPtr8 iReadBufPtr;
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   208
286
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   209
    /** Internal TPtr to check validity of and decode CBW */
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   210
    TPtrC8 iCbwBufPtr;
48e57fb1237e 201039_11
hgs
parents: 271
diff changeset
   211
    };
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   212
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   213
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   214
#endif // __CBULKONLYTRANSPORT_H__
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   215
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   216