16#   define  Nc  *((gsm_signal (*) [17])(target + 8)) 
   17#   define  bc  *((gsm_signal (*) [17])(target + 9)) 
   18#   define  Mc  *((gsm_signal (*) [17])(target + 10)) 
   19#   define  xmaxc   *((gsm_signal (*) [17])(target + 11)) 
   30            LARc[0] = sr & 0x3f;  sr >>= 6;
 
   32            LARc[1] = sr & 0x3f;  sr >>= 6;
 
   34            LARc[2] = sr & 0x1f;  sr >>= 5;
 
   35            LARc[3] = sr & 0x1f;  sr >>= 5;
 
   37            LARc[4] = sr & 0xf;  sr >>= 4;
 
   38            LARc[5] = sr & 0xf;  sr >>= 4;
 
   40            LARc[6] = sr & 0x7;  sr >>= 3;
 
   41            LARc[7] = sr & 0x7;  sr >>= 3;
 
   43            Nc[0] = sr & 0x7f;  sr >>= 7;
 
   44            bc[0] = sr & 0x3;  sr >>= 2;
 
   45            Mc[0] = sr & 0x3;  sr >>= 2;
 
   47            xmaxc[0] = sr & 0x3f;  sr >>= 6;
 
   49#define xmc (target + 12) 
   50            xmc[0] = sr & 0x7;  sr >>= 3;
 
   52            xmc[1] = sr & 0x7;  sr >>= 3;
 
   53            xmc[2] = sr & 0x7;  sr >>= 3;
 
   55            xmc[3] = sr & 0x7;  sr >>= 3;
 
   56            xmc[4] = sr & 0x7;  sr >>= 3;
 
   57            xmc[5] = sr & 0x7;  sr >>= 3;
 
   59            xmc[6] = sr & 0x7;  sr >>= 3;
 
   60            xmc[7] = sr & 0x7;  sr >>= 3;
 
   61            xmc[8] = sr & 0x7;  sr >>= 3;
 
   63            xmc[9] = sr & 0x7;  sr >>= 3;
 
   64            xmc[10] = sr & 0x7;  sr >>= 3;
 
   66            xmc[11] = sr & 0x7;  sr >>= 3;
 
   67            xmc[12] = sr & 0x7;  sr >>= 3;
 
   69            Nc[1] = sr & 0x7f;  sr >>= 7;
 
   70            bc[1] = sr & 0x3;  sr >>= 2;
 
   71            Mc[1] = sr & 0x3;  sr >>= 2;
 
   73            xmaxc[1] = sr & 0x3f;  sr >>= 6;
 
   75#define xmc (target + 29 - 13) 
   77            xmc[13] = sr & 0x7;  sr >>= 3;
 
   79            xmc[14] = sr & 0x7;  sr >>= 3;
 
   80            xmc[15] = sr & 0x7;  sr >>= 3;
 
   82            xmc[16] = sr & 0x7;  sr >>= 3;
 
   83            xmc[17] = sr & 0x7;  sr >>= 3;
 
   84            xmc[18] = sr & 0x7;  sr >>= 3;
 
   86            xmc[19] = sr & 0x7;  sr >>= 3;
 
   87            xmc[20] = sr & 0x7;  sr >>= 3;
 
   88            xmc[21] = sr & 0x7;  sr >>= 3;
 
   90            xmc[22] = sr & 0x7;  sr >>= 3;
 
   91            xmc[23] = sr & 0x7;  sr >>= 3;
 
   93            xmc[24] = sr & 0x7;  sr >>= 3;
 
   94            xmc[25] = sr & 0x7;  sr >>= 3;
 
   96            Nc[2] = sr & 0x7f;  sr >>= 7;
 
   97            bc[2] = sr & 0x3;  sr >>= 2;
 
   98            Mc[2] = sr & 0x3;  sr >>= 2;
 
  100            xmaxc[2] = sr & 0x3f;  sr >>= 6;
 
  103#define xmc (target + 46 - 26) 
  105            xmc[26] = sr & 0x7;  sr >>= 3;
 
  107            xmc[27] = sr & 0x7;  sr >>= 3;
 
  108            xmc[28] = sr & 0x7;  sr >>= 3;
 
  110            xmc[29] = sr & 0x7;  sr >>= 3;
 
  111            xmc[30] = sr & 0x7;  sr >>= 3;
 
  112            xmc[31] = sr & 0x7;  sr >>= 3;
 
  114            xmc[32] = sr & 0x7;  sr >>= 3;
 
  115            xmc[33] = sr & 0x7;  sr >>= 3;
 
  116            xmc[34] = sr & 0x7;  sr >>= 3;
 
  118            xmc[35] = sr & 0x7;  sr >>= 3;
 
  119            xmc[36] = sr & 0x7;  sr >>= 3;
 
  121            xmc[37] = sr & 0x7;  sr >>= 3;
 
  122            xmc[38] = sr & 0x7;  sr >>= 3;
 
  124            Nc[3] = sr & 0x7f;  sr >>= 7;
 
  125            bc[3] = sr & 0x3;  sr >>= 2;
 
  126            Mc[3] = sr & 0x3;  sr >>= 2;
 
  128            xmaxc[3] = sr & 0x3f;  sr >>= 6;
 
  130#define xmc (target + 63 - 39) 
  132            xmc[39] = sr & 0x7;  sr >>= 3;
 
  134            xmc[40] = sr & 0x7;  sr >>= 3;
 
  135            xmc[41] = sr & 0x7;  sr >>= 3;
 
  137            xmc[42] = sr & 0x7;  sr >>= 3;
 
  138            xmc[43] = sr & 0x7;  sr >>= 3;
 
  139            xmc[44] = sr & 0x7;  sr >>= 3;
 
  141            xmc[45] = sr & 0x7;  sr >>= 3;
 
  142            xmc[46] = sr & 0x7;  sr >>= 3;
 
  143            xmc[47] = sr & 0x7;  sr >>= 3;
 
  145            xmc[48] = sr & 0x7;  sr >>= 3;
 
  146            xmc[49] = sr & 0x7;  sr >>= 3;
 
  148            xmc[50] = sr & 0x7;  sr >>= 3;
 
  149            xmc[51] = sr & 0x7;  sr >>= 3;
 
  156            LARc[0] = sr & 0x3f;  sr >>= 6;
 
  157            LARc[1] = sr & 0x3f;  sr >>= 6;
 
  159            LARc[2] = sr & 0x1f;  sr >>= 5;
 
  161            LARc[3] = sr & 0x1f;  sr >>= 5;
 
  162            LARc[4] = sr & 0xf;  sr >>= 4;
 
  164            LARc[5] = sr & 0xf;  sr >>= 4;
 
  165            LARc[6] = sr & 0x7;  sr >>= 3;
 
  166            LARc[7] = sr & 0x7;  sr >>= 3;
 
  168            Nc[0] = sr & 0x7f;  sr >>= 7;
 
  170            bc[0] = sr & 0x3;  sr >>= 2;
 
  171            Mc[0] = sr & 0x3;  sr >>= 2;
 
  173            xmaxc[0] = sr & 0x3f;  sr >>= 6;
 
  175#define xmc (target + 12) 
  176            xmc[0] = sr & 0x7;  sr >>= 3;
 
  177            xmc[1] = sr & 0x7;  sr >>= 3;
 
  179            xmc[2] = sr & 0x7;  sr >>= 3;
 
  180            xmc[3] = sr & 0x7;  sr >>= 3;
 
  181            xmc[4] = sr & 0x7;  sr >>= 3;
 
  183            xmc[5] = sr & 0x7;  sr >>= 3;
 
  184            xmc[6] = sr & 0x7;  sr >>= 3;
 
  186            xmc[7] = sr & 0x7;  sr >>= 3;
 
  187            xmc[8] = sr & 0x7;  sr >>= 3;
 
  188            xmc[9] = sr & 0x7;  sr >>= 3;
 
  190            xmc[10] = sr & 0x7;  sr >>= 3;
 
  191            xmc[11] = sr & 0x7;  sr >>= 3;
 
  192            xmc[12] = sr & 0x7;  sr >>= 3;
 
  194            Nc[1] = sr & 0x7f;  sr >>= 7;
 
  196            bc[1] = sr & 0x3;  sr >>= 2;
 
  197            Mc[1] = sr & 0x3;  sr >>= 2;
 
  199            xmaxc[1] = sr & 0x3f;  sr >>= 6;
 
  201#define xmc (target + 29 - 13) 
  203            xmc[13] = sr & 0x7;  sr >>= 3;
 
  204            xmc[14] = sr & 0x7;  sr >>= 3;
 
  206            xmc[15] = sr & 0x7;  sr >>= 3;
 
  207            xmc[16] = sr & 0x7;  sr >>= 3;
 
  208            xmc[17] = sr & 0x7;  sr >>= 3;
 
  210            xmc[18] = sr & 0x7;  sr >>= 3;
 
  211            xmc[19] = sr & 0x7;  sr >>= 3;
 
  213            xmc[20] = sr & 0x7;  sr >>= 3;
 
  214            xmc[21] = sr & 0x7;  sr >>= 3;
 
  215            xmc[22] = sr & 0x7;  sr >>= 3;
 
  217            xmc[23] = sr & 0x7;  sr >>= 3;
 
  218            xmc[24] = sr & 0x7;  sr >>= 3;
 
  219            xmc[25] = sr & 0x7;  sr >>= 3;
 
  221            Nc[2] = sr & 0x7f;  sr >>= 7;
 
  223            bc[2] = sr & 0x3;  sr >>= 2;
 
  224            Mc[2] = sr & 0x3;  sr >>= 2;
 
  226            xmaxc[2] = sr & 0x3f;  sr >>= 6;
 
  228#define xmc (target + 46 - 26) 
  229            xmc[26] = sr & 0x7;  sr >>= 3;
 
  230            xmc[27] = sr & 0x7;  sr >>= 3;
 
  232            xmc[28] = sr & 0x7;  sr >>= 3;
 
  233            xmc[29] = sr & 0x7;  sr >>= 3;
 
  234            xmc[30] = sr & 0x7;  sr >>= 3;
 
  236            xmc[31] = sr & 0x7;  sr >>= 3;
 
  237            xmc[32] = sr & 0x7;  sr >>= 3;
 
  239            xmc[33] = sr & 0x7;  sr >>= 3;
 
  240            xmc[34] = sr & 0x7;  sr >>= 3;
 
  241            xmc[35] = sr & 0x7;  sr >>= 3;
 
  243            xmc[36] = sr & 0x7;  sr >>= 3;
 
  244            xmc[37] = sr & 0x7;  sr >>= 3;
 
  245            xmc[38] = sr & 0x7;  sr >>= 3;
 
  247            Nc[3] = sr & 0x7f;  sr >>= 7;
 
  249            bc[3] = sr & 0x3;  sr >>= 2;
 
  250            Mc[3] = sr & 0x3;  sr >>= 2;
 
  252            xmaxc[3] = sr & 0x3f;  sr >>= 6;
 
  255#define xmc (target + 63 - 39) 
  257            xmc[39] = sr & 0x7;  sr >>= 3;
 
  258            xmc[40] = sr & 0x7;  sr >>= 3;
 
  260            xmc[41] = sr & 0x7;  sr >>= 3;
 
  261            xmc[42] = sr & 0x7;  sr >>= 3;
 
  262            xmc[43] = sr & 0x7;  sr >>= 3;
 
  264            xmc[44] = sr & 0x7;  sr >>= 3;
 
  265            xmc[45] = sr & 0x7;  sr >>= 3;
 
  267            xmc[46] = sr & 0x7;  sr >>= 3;
 
  268            xmc[47] = sr & 0x7;  sr >>= 3;
 
  269            xmc[48] = sr & 0x7;  sr >>= 3;
 
  271            xmc[49] = sr & 0x7;  sr >>= 3;
 
  272            xmc[50] = sr & 0x7;  sr >>= 3;
 
  273            xmc[51] = sr & 0x7;  sr >>= 3;
 
  281    if (((*
c >> 4) & 0x0F) != 
GSM_MAGIC) 
return -1;
 
  283    LARc[0]  = (*
c++ & 0xF) << 2;       
 
  284    LARc[0] |= (*
c >> 6) & 0x3;
 
  285    LARc[1]  = *
c++ & 0x3F;
 
  286    LARc[2]  = (*
c >> 3) & 0x1F;
 
  287    LARc[3]  = (*
c++ & 0x7) << 2;
 
  288    LARc[3] |= (*
c >> 6) & 0x3;
 
  289    LARc[4]  = (*
c >> 2) & 0xF;
 
  290    LARc[5]  = (*
c++ & 0x3) << 2;
 
  291    LARc[5] |= (*
c >> 6) & 0x3;
 
  292    LARc[6]  = (*
c >> 3) & 0x7;
 
  293    LARc[7]  = *
c++ & 0x7;
 
  295    Nc[0]  = (*
c >> 1) & 0x7F;
 
  297    bc[0]  = (*
c++ & 0x1) << 1;
 
  298    bc[0] |= (*
c >> 7) & 0x1;
 
  300    Mc[0]  = (*
c >> 5) & 0x3;
 
  302    xmaxc[0]  = (*
c++ & 0x1F) << 1;
 
  303    xmaxc[0] |= (*
c >> 7) & 0x1;
 
  306#define xmc (target + 12) 
  308    xmc[0]  = (*
c >> 4) & 0x7;
 
  309    xmc[1]  = (*
c >> 1) & 0x7;
 
  310    xmc[2]  = (*
c++ & 0x1) << 2;
 
  311    xmc[2] |= (*
c >> 6) & 0x3;
 
  312    xmc[3]  = (*
c >> 3) & 0x7;
 
  314    xmc[5]  = (*
c >> 5) & 0x7;
 
  315    xmc[6]  = (*
c >> 2) & 0x7;
 
  316    xmc[7]  = (*
c++ & 0x3) << 1;        
 
  317    xmc[7] |= (*
c >> 7) & 0x1;
 
  318    xmc[8]  = (*
c >> 4) & 0x7;
 
  319    xmc[9]  = (*
c >> 1) & 0x7;
 
  320    xmc[10]  = (*
c++ & 0x1) << 2;
 
  321    xmc[10] |= (*
c >> 6) & 0x3;
 
  322    xmc[11]  = (*
c >> 3) & 0x7;
 
  323    xmc[12]  = *
c++ & 0x7;
 
  325    Nc[1]  = (*
c >> 1) & 0x7F;
 
  327    bc[1]  = (*
c++ & 0x1) << 1;
 
  328    bc[1] |= (*
c >> 7) & 0x1;
 
  330    Mc[1]  = (*
c >> 5) & 0x3;
 
  332    xmaxc[1]  = (*
c++ & 0x1F) << 1;
 
  333    xmaxc[1] |= (*
c >> 7) & 0x1;
 
  336#define xmc (target + 29 - 13) 
  338    xmc[13]  = (*
c >> 4) & 0x7;
 
  339    xmc[14]  = (*
c >> 1) & 0x7;
 
  340    xmc[15]  = (*
c++ & 0x1) << 2;
 
  341    xmc[15] |= (*
c >> 6) & 0x3;
 
  342    xmc[16]  = (*
c >> 3) & 0x7;
 
  343    xmc[17]  = *
c++ & 0x7;
 
  344    xmc[18]  = (*
c >> 5) & 0x7;
 
  345    xmc[19]  = (*
c >> 2) & 0x7;
 
  346    xmc[20]  = (*
c++ & 0x3) << 1;
 
  347    xmc[20] |= (*
c >> 7) & 0x1;
 
  348    xmc[21]  = (*
c >> 4) & 0x7;
 
  349    xmc[22]  = (*
c >> 1) & 0x7;
 
  350    xmc[23]  = (*
c++ & 0x1) << 2;
 
  351    xmc[23] |= (*
c >> 6) & 0x3;
 
  352    xmc[24]  = (*
c >> 3) & 0x7;
 
  353    xmc[25]  = *
c++ & 0x7;
 
  355    Nc[2]  = (*
c >> 1) & 0x7F;
 
  357    bc[2]  = (*
c++ & 0x1) << 1;     
 
  358    bc[2] |= (*
c >> 7) & 0x1;
 
  360    Mc[2]  = (*
c >> 5) & 0x3;
 
  362    xmaxc[2]  = (*
c++ & 0x1F) << 1;
 
  363    xmaxc[2] |= (*
c >> 7) & 0x1;
 
  366#define xmc (target + 46 - 26) 
  368    xmc[26]  = (*
c >> 4) & 0x7;
 
  369    xmc[27]  = (*
c >> 1) & 0x7;
 
  370    xmc[28]  = (*
c++ & 0x1) << 2;
 
  371    xmc[28] |= (*
c >> 6) & 0x3;
 
  372    xmc[29]  = (*
c >> 3) & 0x7;
 
  373    xmc[30]  = *
c++ & 0x7;
 
  374    xmc[31]  = (*
c >> 5) & 0x7;
 
  375    xmc[32]  = (*
c >> 2) & 0x7;
 
  376    xmc[33]  = (*
c++ & 0x3) << 1;
 
  377    xmc[33] |= (*
c >> 7) & 0x1;
 
  378    xmc[34]  = (*
c >> 4) & 0x7;
 
  379    xmc[35]  = (*
c >> 1) & 0x7;
 
  380    xmc[36]  = (*
c++ & 0x1) << 2;
 
  381    xmc[36] |= (*
c >> 6) & 0x3;
 
  382    xmc[37]  = (*
c >> 3) & 0x7;
 
  383    xmc[38]  = *
c++ & 0x7;
 
  385    Nc[3]  = (*
c >> 1) & 0x7F;
 
  387    bc[3]  = (*
c++ & 0x1) << 1;
 
  388    bc[3] |= (*
c >> 7) & 0x1;
 
  390    Mc[3]  = (*
c >> 5) & 0x3;
 
  392    xmaxc[3]  = (*
c++ & 0x1F) << 1;
 
  393    xmaxc[3] |= (*
c >> 7) & 0x1;
 
  396#define xmc (target + 63 - 39) 
  398    xmc[39]  = (*
c >> 4) & 0x7;
 
  399    xmc[40]  = (*
c >> 1) & 0x7;
 
  400    xmc[41]  = (*
c++ & 0x1) << 2;
 
  401    xmc[41] |= (*
c >> 6) & 0x3;
 
  402    xmc[42]  = (*
c >> 3) & 0x7;
 
  403    xmc[43]  = *
c++ & 0x7;          
 
  404    xmc[44]  = (*
c >> 5) & 0x7;
 
  405    xmc[45]  = (*
c >> 2) & 0x7;
 
  406    xmc[46]  = (*
c++ & 0x3) << 1;
 
  407    xmc[46] |= (*
c >> 7) & 0x1;
 
  408    xmc[47]  = (*
c >> 4) & 0x7;
 
  409    xmc[48]  = (*
c >> 1) & 0x7;
 
  410    xmc[49]  = (*
c++ & 0x1) << 2;
 
  411    xmc[49] |= (*
c >> 6) & 0x3;
 
  412    xmc[50]  = (*
c >> 3) & 0x7;