fax/faxclientandserver/FAXSVR/FRAMES.H
changeset 20 244d7c5f118e
parent 19 1f776524b15c
child 23 6b1d113cdff3
equal deleted inserted replaced
19:1f776524b15c 20:244d7c5f118e
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // The bytes are all inverted as the T.30 spec indicates that all frame 
       
    15 // data should be transmitted from MSB -> LSB ( i.e. left to right just 
       
    16 // as printed).   However, asynchronous data is always send LSB -> MSB  
       
    17 // which would be the wrong way round.   Note that in the faxparms.bit  
       
    18 // structure the fields are declared in MSB -> LSB order, which is OK.  
       
    19 // ID strings are an exception : they are always transmitted completely 
       
    20 // backwards (LSB of last byte -> MSB of first byte.        
       
    21 // Where the MSB is listed as an x this should be set to 1 if we    
       
    22 // received KT30_DIS or left at to 0 if we received a response to our KT30_DIS
       
    23 // We have a mask on incoming data to knock this bit off
       
    24 // 
       
    25 //
       
    26 
       
    27 /**
       
    28  @file
       
    29  @internalComponent 
       
    30 */
       
    31 
       
    32 #ifndef __FRAMES_H
       
    33 #define __FRAMES_H
       
    34 /**
       
    35 @internalComponent
       
    36 */
       
    37 const TUint8 KT30_DISMASK (0xfe);
       
    38 
       
    39 const TUint8 KT30_TCF     (0x00);
       
    40 const TUint8 KT30_FILL    (0x00);
       
    41 
       
    42 const TUint8 KT30_T1        (35);  // this is the T1 35 second timeout
       
    43 const TUint8 KT30_T2         (6);  // this is the T2 6 second timeout
       
    44 const TUint8 KT30_T4         (3);  // this is the T4 3 second timeout (5.2E/T.30)
       
    45 
       
    46 const TUint8 KT30_ADDR    (0xff);  // HDLC address is palindromic 
       
    47 const TUint8 KT30_CTLNXT  (0x03);  // intermediate frame control field 11000000 
       
    48 const TUint8 KT30_CTLLST  (0x13);  // final control field 11001000 
       
    49 
       
    50 const TUint8 KT30_DIS     (0x80);  // answering capability follows 00000001 
       
    51 const TUint8 KT30_CSI     (0x40);  // answering station identity follows 00000010 
       
    52 const TUint8 KT30_NSF     (0x20);  // answering nonstandard facilities 00000100 
       
    53 
       
    54 const TUint8 KT30_DTC     (0x81);  // polling capability follows 10000001 
       
    55 const TUint8 KT30_CIG     (0x41);  // polling station identity follows 10000010 
       
    56 const TUint8 KT30_NSC     (0x21);  // polling nonstandard facilities 10000100 
       
    57 
       
    58 const TUint8 KT30_DCS     (0x82);  // transmitter capability follows x1000001 
       
    59 const TUint8 KT30_TSI     (0x42);  // transmitter station identity follows x1000010 
       
    60 const TUint8 KT30_NSS     (0x22);  // transmitter nonstandard facilities x1000100 
       
    61 
       
    62 const TUint8 KT30_CFR     (0x84);  // confirmation to received x0100001 
       
    63 const TUint8 KT30_FTT     (0x44);  // failure to train x0100010 
       
    64 
       
    65 const TUint8 KT30_EOM     (0x8e);  // end of document x1110001 
       
    66 const TUint8 KT30_MPS     (0x4e);  // end of page x1110010 
       
    67 const TUint8 KT30_EOP     (0x2e);  // end of transmission x1110100 
       
    68 const TUint8 KT30_PRIEOM  (0x9e);  // end of document - operator pls x1111001 
       
    69 const TUint8 KT30_PRIMPS  (0x5e);  // end of page - operator pls x1111010 
       
    70 const TUint8 KT30_PRIEOP  (0x3e);  // end of transmission - operator pls x1111100 
       
    71 
       
    72 const TUint8 KT30_MCF     (0x8c);  // message confirmation x0110001 
       
    73 const TUint8 KT30_RTP     (0xcc);  // message confirmation with retrain x0110011 
       
    74 const TUint8 KT30_PIP     (0xac);  // message confirmation - operator pls x0110101 
       
    75 const TUint8 KT30_RTN     (0x4c);  // message not received with retrain x0110010 
       
    76 const TUint8 KT30_PIN     (0x2c);  // message not received - operator pls x0110100 
       
    77 
       
    78 const TUint8 KT30_DCN     (0xfa);  // disconnect x1011111 
       
    79 const TUint8 KT30_CRP     (0x1a);  // command repeat x1011000 
       
    80 /**
       
    81 @internalComponent
       
    82 */
       
    83 union faxparms
       
    84    {
       
    85    TUint8 byte[5] ;
       
    86    struct
       
    87       {
       
    88       unsigned b01: 1 ; // transmitter T2 
       
    89       unsigned b02: 1 ; // receiver T2 
       
    90       unsigned b03: 1 ; // T2 IOC 
       
    91       unsigned b04: 1 ; // transmitter T3 
       
    92       unsigned b05: 1 ; // receiver T3 
       
    93       unsigned b06: 1 ; // reserved 
       
    94       unsigned b07: 1 ; // reserved 
       
    95       unsigned b08: 1 ; // reserved 
       
    96 
       
    97       unsigned b09: 1 ; // transmitter T4 
       
    98       unsigned b10: 1 ; // receiver T4 
       
    99       unsigned b11: 1 ; // data signalling rate b 1 
       
   100       unsigned b12: 1 ; // data signalling rate b 2 
       
   101       unsigned b13: 1 ; // data signalling rate b 3 
       
   102       unsigned b14: 1 ; // data signalling rate b 4 
       
   103       unsigned b15: 1 ; // fine vertical resolution 
       
   104       unsigned b16: 1 ; // two dimensional coding 
       
   105 
       
   106       unsigned b17: 1 ; // fax width b 1 
       
   107       unsigned b18: 1 ; // fax width b 2 
       
   108       unsigned b19: 1 ; // fax length b 1 
       
   109       unsigned b20: 1 ; // fax length b 2 
       
   110       unsigned b21: 1 ; // minimum scan line line b 1 
       
   111       unsigned b22: 1 ; // minimum scan line line b 2 
       
   112       unsigned b23: 1 ; // minimum scan line line b 3 
       
   113       unsigned b24: 1 ; // extend field 
       
   114 
       
   115       unsigned b25: 1 ; // 2400 bps handshake 
       
   116       unsigned b26: 1 ; // uncompressed mode 
       
   117       unsigned b27: 1 ; // error correction 
       
   118       unsigned b28: 1 ; // frame size 64 octets 
       
   119       unsigned b29: 1 ; // error limiting mode 
       
   120       unsigned b30: 1 ; // G4 
       
   121       unsigned b31: 1 ; // T6 coding 
       
   122       unsigned b32: 1 ; // extend field 
       
   123 
       
   124       unsigned b33: 1 ; // validity of width bs 17,18 
       
   125       unsigned b34: 1 ; // width 1216 pels/151mm 
       
   126       unsigned b35: 1 ; // width 864 pels/107mm 
       
   127       unsigned b36: 1 ; // width 1728 pels/151mm 
       
   128       unsigned b37: 1 ; // width 1728 pels/107mm 
       
   129       unsigned b38: 1 ; // reserved 
       
   130       unsigned b39: 1 ; // reserved 
       
   131       unsigned b40: 1 ; // extend 
       
   132       } bit ;
       
   133    } ;
       
   134 
       
   135 #endif
       
   136