williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // FaxDefn Header williamr@2: // williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef __FAXDEFN_H williamr@2: #define __FAXDEFN_H williamr@2: williamr@2: #include williamr@2: williamr@2: // williamr@2: // Fax class definition williamr@2: // williamr@2: /** Defines the fax modem classes supported by the fax client. williamr@2: williamr@2: The fax class refers to the command set used to control the modem. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TFaxClass williamr@2: { williamr@2: /** Automatic detection of the fax modem class. */ williamr@2: EClassAuto=0, williamr@2: /** Fax class 1 */ williamr@2: EClass1=1, williamr@2: /** Fax class 2 */ williamr@2: EClass2=2, williamr@2: /** Fax class 2.0 */ williamr@2: EClass2point0=4, williamr@2: /** Fax class 1.0 */ williamr@2: EClass1point0=8, williamr@2: /** Fax class 2.1 */ williamr@2: EClass2point1=16 williamr@2: }; williamr@2: williamr@2: // williamr@2: // Fax phase definition williamr@2: // williamr@2: /** Fax session phases. williamr@2: williamr@2: Defines what is done if a fax session fails is dependent on the current phase. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TFaxPhase williamr@2: { williamr@2: /** The session has not yet begun */ williamr@2: ENotYetStarted, williamr@2: /** Phase 'A'. Establishing connection. */ williamr@2: ECallEstablishment='A', williamr@2: /** Phase 'B'. Negotiating fax protocols. */ williamr@2: ESessionNegotiation='B', williamr@2: /** Phase 'C'. Transferring information */ williamr@2: EDataTransfer='C', williamr@2: /** Phase 'D'. Confirming successful send/receive. */ williamr@2: EPostPageStatus='D', williamr@2: /** Phase 'E'. Disconnecting. */ williamr@2: EDisconnection='E' williamr@2: }; williamr@2: williamr@2: // williamr@2: // Fax resolution definition williamr@2: // williamr@2: /** Defines the supported fax resolutions. williamr@2: williamr@2: It is also used by the fax store classes. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TFaxResolution williamr@2: { williamr@2: /** Normal fax resolution 3.85 lines/mm */ williamr@2: EFaxNormal, williamr@2: /** Fine fax resolution 7.7 lines/mm */ williamr@2: EFaxFine williamr@2: }; williamr@2: williamr@2: // williamr@2: // Fax compression definition williamr@2: // williamr@2: /** Defines the types of compression supported by the fax client. williamr@2: williamr@2: This enumeration is also used by the fax store classes. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TFaxCompression williamr@2: { williamr@2: /** One-dimensional T.4 encoding. Also known as MH. */ williamr@2: EModifiedHuffman=0, williamr@2: /** Two-dimensional T.4 encoding. Also known as MR. */ williamr@2: EModifiedRead=1, williamr@2: /** Two-dimensional T.4 encoding including uncompressed mode. */ williamr@2: EUncompressedModifiedRead=2, williamr@2: /** T.6 encoding. Not supported by the fax engine. Also known as MMR. */ williamr@2: EModifiedModifiedRead=3 williamr@2: }; williamr@2: williamr@2: /** williamr@2: Scan Line Constants williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TInt KFaxPixelsPerScanLine(1728); williamr@2: const TInt KFaxBytesPerScanLine(216); williamr@2: williamr@2: const TInt KFaxCmPerScanLine(215); williamr@2: const TInt KFaxScanLinesPer10Cm(385); williamr@2: const TInt KFaxFineScanLinesPer10Cm(770); williamr@2: const TInt KFaxT4MaxDesLength(896); williamr@2: const TInt KFaxLinesPerBand(64); williamr@2: williamr@2: /** Defines a buffer to hold a fax sender ID. */ williamr@2: typedef TBuf<20> TFaxBufSenderId; williamr@2: /** Defines a raw scan line. williamr@2: williamr@2: Each scan line is comprised of KFaxBytesPerScanLine (216) bytes. */ williamr@2: typedef TBuf8 < KFaxBytesPerScanLine > TRawScanLine; williamr@2: williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include "fax_reversebytes.h" williamr@4: #endif williamr@2: williamr@2: #endif