Wed Jan 8 2020 09:50:15

Asterisk developer's documentation


msgsm.h File Reference

Go to the source code of this file.

Macros

#define GSM_MAGIC   0xD
 
#define readGSM_33(c1)
 
#define writeGSM_33(c1)
 

Typedefs

typedef unsigned char gsm_byte
 
typedef unsigned int uword
 
typedef unsigned char wav_byte
 

Functions

static void conv65 (wav_byte *c, gsm_byte *d)
 
static void conv66 (gsm_byte *d, wav_byte *c)
 

Macro Definition Documentation

#define GSM_MAGIC   0xD

Definition at line 3 of file msgsm.h.

#define readGSM_33 (   c1)

Definition at line 11 of file msgsm.h.

Referenced by conv66().

#define writeGSM_33 (   c1)

Definition at line 351 of file msgsm.h.

Referenced by conv65().

Typedef Documentation

typedef unsigned char gsm_byte

Definition at line 6 of file msgsm.h.

typedef unsigned int uword

Definition at line 9 of file msgsm.h.

typedef unsigned char wav_byte

Definition at line 8 of file msgsm.h.

Function Documentation

static void conv65 ( wav_byte c,
gsm_byte d 
)
inlinestatic

Definition at line 455 of file msgsm.h.

References writeGSM_33.

Referenced by gsm_write(), gsmtolin_framein(), and wav_read().

455  {
456 
457  unsigned int sr = 0;
458  unsigned int frame_chain;
459  unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4];
460  /* silence bogus compiler warning */
461  unsigned int xmc[13*4] = { 0, };
462 
463  sr = *c++;
464  LARc[0] = sr & 0x3f; sr >>= 6;
465  sr |= (uword)*c++ << 2;
466  LARc[1] = sr & 0x3f; sr >>= 6;
467  sr |= (uword)*c++ << 4;
468  LARc[2] = sr & 0x1f; sr >>= 5;
469  LARc[3] = sr & 0x1f; sr >>= 5;
470  sr |= (uword)*c++ << 2;
471  LARc[4] = sr & 0xf; sr >>= 4;
472  LARc[5] = sr & 0xf; sr >>= 4;
473  sr |= (uword)*c++ << 2; /* 5 */
474  LARc[6] = sr & 0x7; sr >>= 3;
475  LARc[7] = sr & 0x7; sr >>= 3;
476  sr |= (uword)*c++ << 4;
477  Nc[0] = sr & 0x7f; sr >>= 7;
478  bc[0] = sr & 0x3; sr >>= 2;
479  Mc[0] = sr & 0x3; sr >>= 2;
480  sr |= (uword)*c++ << 1;
481  xmaxc[0] = sr & 0x3f; sr >>= 6;
482  xmc[0] = sr & 0x7; sr >>= 3;
483  sr = *c++;
484  xmc[1] = sr & 0x7; sr >>= 3;
485  xmc[2] = sr & 0x7; sr >>= 3;
486  sr |= (uword)*c++ << 2;
487  xmc[3] = sr & 0x7; sr >>= 3;
488  xmc[4] = sr & 0x7; sr >>= 3;
489  xmc[5] = sr & 0x7; sr >>= 3;
490  sr |= (uword)*c++ << 1; /* 10 */
491  xmc[6] = sr & 0x7; sr >>= 3;
492  xmc[7] = sr & 0x7; sr >>= 3;
493  xmc[8] = sr & 0x7; sr >>= 3;
494  sr = *c++;
495  xmc[9] = sr & 0x7; sr >>= 3;
496  xmc[10] = sr & 0x7; sr >>= 3;
497  sr |= (uword)*c++ << 2;
498  xmc[11] = sr & 0x7; sr >>= 3;
499  xmc[12] = sr & 0x7; sr >>= 3;
500  sr |= (uword)*c++ << 4;
501  Nc[1] = sr & 0x7f; sr >>= 7;
502  bc[1] = sr & 0x3; sr >>= 2;
503  Mc[1] = sr & 0x3; sr >>= 2;
504  sr |= (uword)*c++ << 1;
505  xmaxc[1] = sr & 0x3f; sr >>= 6;
506  xmc[13] = sr & 0x7; sr >>= 3;
507  sr = *c++; /* 15 */
508  xmc[14] = sr & 0x7; sr >>= 3;
509  xmc[15] = sr & 0x7; sr >>= 3;
510  sr |= (uword)*c++ << 2;
511  xmc[16] = sr & 0x7; sr >>= 3;
512  xmc[17] = sr & 0x7; sr >>= 3;
513  xmc[18] = sr & 0x7; sr >>= 3;
514  sr |= (uword)*c++ << 1;
515  xmc[19] = sr & 0x7; sr >>= 3;
516  xmc[20] = sr & 0x7; sr >>= 3;
517  xmc[21] = sr & 0x7; sr >>= 3;
518  sr = *c++;
519  xmc[22] = sr & 0x7; sr >>= 3;
520  xmc[23] = sr & 0x7; sr >>= 3;
521  sr |= (uword)*c++ << 2;
522  xmc[24] = sr & 0x7; sr >>= 3;
523  xmc[25] = sr & 0x7; sr >>= 3;
524  sr |= (uword)*c++ << 4; /* 20 */
525  Nc[2] = sr & 0x7f; sr >>= 7;
526  bc[2] = sr & 0x3; sr >>= 2;
527  Mc[2] = sr & 0x3; sr >>= 2;
528  sr |= (uword)*c++ << 1;
529  xmaxc[2] = sr & 0x3f; sr >>= 6;
530  xmc[26] = sr & 0x7; sr >>= 3;
531  sr = *c++;
532  xmc[27] = sr & 0x7; sr >>= 3;
533  xmc[28] = sr & 0x7; sr >>= 3;
534  sr |= (uword)*c++ << 2;
535  xmc[29] = sr & 0x7; sr >>= 3;
536  xmc[30] = sr & 0x7; sr >>= 3;
537  xmc[31] = sr & 0x7; sr >>= 3;
538  sr |= (uword)*c++ << 1;
539  xmc[32] = sr & 0x7; sr >>= 3;
540  xmc[33] = sr & 0x7; sr >>= 3;
541  xmc[34] = sr & 0x7; sr >>= 3;
542  sr = *c++; /* 25 */
543  xmc[35] = sr & 0x7; sr >>= 3;
544  xmc[36] = sr & 0x7; sr >>= 3;
545  sr |= (uword)*c++ << 2;
546  xmc[37] = sr & 0x7; sr >>= 3;
547  xmc[38] = sr & 0x7; sr >>= 3;
548  sr |= (uword)*c++ << 4;
549  Nc[3] = sr & 0x7f; sr >>= 7;
550  bc[3] = sr & 0x3; sr >>= 2;
551  Mc[3] = sr & 0x3; sr >>= 2;
552  sr |= (uword)*c++ << 1;
553  xmaxc[3] = sr & 0x3f; sr >>= 6;
554  xmc[39] = sr & 0x7; sr >>= 3;
555  sr = *c++;
556  xmc[40] = sr & 0x7; sr >>= 3;
557  xmc[41] = sr & 0x7; sr >>= 3;
558  sr |= (uword)*c++ << 2; /* 30 */
559  xmc[42] = sr & 0x7; sr >>= 3;
560  xmc[43] = sr & 0x7; sr >>= 3;
561  xmc[44] = sr & 0x7; sr >>= 3;
562  sr |= (uword)*c++ << 1;
563  xmc[45] = sr & 0x7; sr >>= 3;
564  xmc[46] = sr & 0x7; sr >>= 3;
565  xmc[47] = sr & 0x7; sr >>= 3;
566  sr = *c++;
567  xmc[49] = sr & 0x7; sr >>= 3;
568  sr |= (uword)*c++ << 2;
569  xmc[50] = sr & 0x7; sr >>= 3;
570  xmc[51] = sr & 0x7; sr >>= 3;
571 
572  frame_chain = sr & 0xf;
573 
574 
575  writeGSM_33(d);/* LARc etc. -> array of 33 GSM bytes */
576 
577 
578  sr = frame_chain;
579  sr |= (uword)*c++ << 4; /* 1 */
580  LARc[0] = sr & 0x3f; sr >>= 6;
581  LARc[1] = sr & 0x3f; sr >>= 6;
582  sr = *c++;
583  LARc[2] = sr & 0x1f; sr >>= 5;
584  sr |= (uword)*c++ << 3;
585  LARc[3] = sr & 0x1f; sr >>= 5;
586  LARc[4] = sr & 0xf; sr >>= 4;
587  sr |= (uword)*c++ << 2;
588  LARc[5] = sr & 0xf; sr >>= 4;
589  LARc[6] = sr & 0x7; sr >>= 3;
590  LARc[7] = sr & 0x7; sr >>= 3;
591  sr = *c++; /* 5 */
592  Nc[0] = sr & 0x7f; sr >>= 7;
593  sr |= (uword)*c++ << 1;
594  bc[0] = sr & 0x3; sr >>= 2;
595  Mc[0] = sr & 0x3; sr >>= 2;
596  sr |= (uword)*c++ << 5;
597  xmaxc[0] = sr & 0x3f; sr >>= 6;
598  xmc[0] = sr & 0x7; sr >>= 3;
599  xmc[1] = sr & 0x7; sr >>= 3;
600  sr |= (uword)*c++ << 1;
601  xmc[2] = sr & 0x7; sr >>= 3;
602  xmc[3] = sr & 0x7; sr >>= 3;
603  xmc[4] = sr & 0x7; sr >>= 3;
604  sr = *c++;
605  xmc[5] = sr & 0x7; sr >>= 3;
606  xmc[6] = sr & 0x7; sr >>= 3;
607  sr |= (uword)*c++ << 2; /* 10 */
608  xmc[7] = sr & 0x7; sr >>= 3;
609  xmc[8] = sr & 0x7; sr >>= 3;
610  xmc[9] = sr & 0x7; sr >>= 3;
611  sr |= (uword)*c++ << 1;
612  xmc[10] = sr & 0x7; sr >>= 3;
613  xmc[11] = sr & 0x7; sr >>= 3;
614  xmc[12] = sr & 0x7; sr >>= 3;
615  sr = *c++;
616  Nc[1] = sr & 0x7f; sr >>= 7;
617  sr |= (uword)*c++ << 1;
618  bc[1] = sr & 0x3; sr >>= 2;
619  Mc[1] = sr & 0x3; sr >>= 2;
620  sr |= (uword)*c++ << 5;
621  xmaxc[1] = sr & 0x3f; sr >>= 6;
622  xmc[13] = sr & 0x7; sr >>= 3;
623  xmc[14] = sr & 0x7; sr >>= 3;
624  sr |= (uword)*c++ << 1; /* 15 */
625  xmc[15] = sr & 0x7; sr >>= 3;
626  xmc[16] = sr & 0x7; sr >>= 3;
627  xmc[17] = sr & 0x7; sr >>= 3;
628  sr = *c++;
629  xmc[18] = sr & 0x7; sr >>= 3;
630  xmc[19] = sr & 0x7; sr >>= 3;
631  sr |= (uword)*c++ << 2;
632  xmc[20] = sr & 0x7; sr >>= 3;
633  xmc[21] = sr & 0x7; sr >>= 3;
634  xmc[22] = sr & 0x7; sr >>= 3;
635  sr |= (uword)*c++ << 1;
636  xmc[23] = sr & 0x7; sr >>= 3;
637  xmc[24] = sr & 0x7; sr >>= 3;
638  xmc[25] = sr & 0x7; sr >>= 3;
639  sr = *c++;
640  Nc[2] = sr & 0x7f; sr >>= 7;
641  sr |= (uword)*c++ << 1; /* 20 */
642  bc[2] = sr & 0x3; sr >>= 2;
643  Mc[2] = sr & 0x3; sr >>= 2;
644  sr |= (uword)*c++ << 5;
645  xmaxc[2] = sr & 0x3f; sr >>= 6;
646  xmc[26] = sr & 0x7; sr >>= 3;
647  xmc[27] = sr & 0x7; sr >>= 3;
648  sr |= (uword)*c++ << 1;
649  xmc[28] = sr & 0x7; sr >>= 3;
650  xmc[29] = sr & 0x7; sr >>= 3;
651  xmc[30] = sr & 0x7; sr >>= 3;
652  sr = *c++;
653  xmc[31] = sr & 0x7; sr >>= 3;
654  xmc[32] = sr & 0x7; sr >>= 3;
655  sr |= (uword)*c++ << 2;
656  xmc[33] = sr & 0x7; sr >>= 3;
657  xmc[34] = sr & 0x7; sr >>= 3;
658  xmc[35] = sr & 0x7; sr >>= 3;
659  sr |= (uword)*c++ << 1; /* 25 */
660  xmc[36] = sr & 0x7; sr >>= 3;
661  xmc[37] = sr & 0x7; sr >>= 3;
662  xmc[38] = sr & 0x7; sr >>= 3;
663  sr = *c++;
664  Nc[3] = sr & 0x7f; sr >>= 7;
665  sr |= (uword)*c++ << 1;
666  bc[3] = sr & 0x3; sr >>= 2;
667  Mc[3] = sr & 0x3; sr >>= 2;
668  sr |= (uword)*c++ << 5;
669  xmaxc[3] = sr & 0x3f; sr >>= 6;
670  xmc[39] = sr & 0x7; sr >>= 3;
671  xmc[40] = sr & 0x7; sr >>= 3;
672  sr |= (uword)*c++ << 1;
673  xmc[41] = sr & 0x7; sr >>= 3;
674  xmc[42] = sr & 0x7; sr >>= 3;
675  xmc[43] = sr & 0x7; sr >>= 3;
676  sr = *c++; /* 30 */
677  xmc[44] = sr & 0x7; sr >>= 3;
678  xmc[45] = sr & 0x7; sr >>= 3;
679  sr |= (uword)*c++ << 2;
680  xmc[46] = sr & 0x7; sr >>= 3;
681  xmc[47] = sr & 0x7; sr >>= 3;
682  xmc[48] = sr & 0x7; sr >>= 3;
683  sr |= (uword)*c++ << 1;
684  xmc[49] = sr & 0x7; sr >>= 3;
685  xmc[50] = sr & 0x7; sr >>= 3;
686  xmc[51] = sr & 0x7; sr >>= 3;
687  writeGSM_33(d+33);
688 
689 }
#define writeGSM_33(c1)
Definition: msgsm.h:351
unsigned int uword
Definition: msgsm.h:9
static void conv66 ( gsm_byte d,
wav_byte c 
)
inlinestatic

Definition at line 114 of file msgsm.h.

References readGSM_33.

Referenced by wav_write().

114  {
115  gsm_byte frame_chain;
116  unsigned int sr;
117  unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
118 
119  readGSM_33(d);
120  sr = 0;
121  sr = (sr >> 6) | (LARc[0] << 10);
122  sr = (sr >> 6) | (LARc[1] << 10);
123  *c++ = sr >> 4;
124  sr = (sr >> 5) | (LARc[2] << 11);
125  *c++ = sr >> 7;
126  sr = (sr >> 5) | (LARc[3] << 11);
127  sr = (sr >> 4) | (LARc[4] << 12);
128  *c++ = sr >> 6;
129  sr = (sr >> 4) | (LARc[5] << 12);
130  sr = (sr >> 3) | (LARc[6] << 13);
131  *c++ = sr >> 7;
132  sr = (sr >> 3) | (LARc[7] << 13);
133  sr = (sr >> 7) | (Nc[0] << 9);
134  *c++ = sr >> 5;
135  sr = (sr >> 2) | (bc[0] << 14);
136  sr = (sr >> 2) | (Mc[0] << 14);
137  sr = (sr >> 6) | (xmaxc[0] << 10);
138  *c++ = sr >> 3;
139  sr = (sr >> 3 )|( xmc[0] << 13);
140  *c++ = sr >> 8;
141  sr = (sr >> 3 )|( xmc[1] << 13);
142  sr = (sr >> 3 )|( xmc[2] << 13);
143  sr = (sr >> 3 )|( xmc[3] << 13);
144  *c++ = sr >> 7;
145  sr = (sr >> 3 )|( xmc[4] << 13);
146  sr = (sr >> 3 )|( xmc[5] << 13);
147  sr = (sr >> 3 )|( xmc[6] << 13);
148  *c++ = sr >> 6;
149  sr = (sr >> 3 )|( xmc[7] << 13);
150  sr = (sr >> 3 )|( xmc[8] << 13);
151  *c++ = sr >> 8;
152  sr = (sr >> 3 )|( xmc[9] << 13);
153  sr = (sr >> 3 )|( xmc[10] << 13);
154  sr = (sr >> 3 )|( xmc[11] << 13);
155  *c++ = sr >> 7;
156  sr = (sr >> 3 )|( xmc[12] << 13);
157  sr = (sr >> 7 )|( Nc[1] << 9);
158  *c++ = sr >> 5;
159  sr = (sr >> 2 )|( bc[1] << 14);
160  sr = (sr >> 2 )|( Mc[1] << 14);
161  sr = (sr >> 6 )|( xmaxc[1] << 10);
162  *c++ = sr >> 3;
163  sr = (sr >> 3 )|( xmc[13] << 13);
164  *c++ = sr >> 8;
165  sr = (sr >> 3 )|( xmc[14] << 13);
166  sr = (sr >> 3 )|( xmc[15] << 13);
167  sr = (sr >> 3 )|( xmc[16] << 13);
168  *c++ = sr >> 7;
169  sr = (sr >> 3 )|( xmc[17] << 13);
170  sr = (sr >> 3 )|( xmc[18] << 13);
171  sr = (sr >> 3 )|( xmc[19] << 13);
172  *c++ = sr >> 6;
173  sr = (sr >> 3 )|( xmc[20] << 13);
174  sr = (sr >> 3 )|( xmc[21] << 13);
175  *c++ = sr >> 8;
176  sr = (sr >> 3 )|( xmc[22] << 13);
177  sr = (sr >> 3 )|( xmc[23] << 13);
178  sr = (sr >> 3 )|( xmc[24] << 13);
179  *c++ = sr >> 7;
180  sr = (sr >> 3 )|( xmc[25] << 13);
181  sr = (sr >> 7 )|( Nc[2] << 9);
182  *c++ = sr >> 5;
183  sr = (sr >> 2 )|( bc[2] << 14);
184  sr = (sr >> 2 )|( Mc[2] << 14);
185  sr = (sr >> 6 )|( xmaxc[2] << 10);
186  *c++ = sr >> 3;
187  sr = (sr >> 3 )|( xmc[26] << 13);
188  *c++ = sr >> 8;
189  sr = (sr >> 3 )|( xmc[27] << 13);
190  sr = (sr >> 3 )|( xmc[28] << 13);
191  sr = (sr >> 3 )|( xmc[29] << 13);
192  *c++ = sr >> 7;
193  sr = (sr >> 3 )|( xmc[30] << 13);
194  sr = (sr >> 3 )|( xmc[31] << 13);
195  sr = (sr >> 3 )|( xmc[32] << 13);
196  *c++ = sr >> 6;
197  sr = (sr >> 3 )|( xmc[33] << 13);
198  sr = (sr >> 3 )|( xmc[34] << 13);
199  *c++ = sr >> 8;
200  sr = (sr >> 3 )|( xmc[35] << 13);
201  sr = (sr >> 3 )|( xmc[36] << 13);
202  sr = (sr >> 3 )|( xmc[37] << 13);
203  *c++ = sr >> 7;
204  sr = (sr >> 3 )|( xmc[38] << 13);
205  sr = (sr >> 7 )|( Nc[3] << 9);
206  *c++ = sr >> 5;
207  sr = (sr >> 2 )|( bc[3] << 14);
208  sr = (sr >> 2 )|( Mc[3] << 14);
209  sr = (sr >> 6 )|( xmaxc[3] << 10);
210  *c++ = sr >> 3;
211  sr = (sr >> 3 )|( xmc[39] << 13);
212  *c++ = sr >> 8;
213  sr = (sr >> 3 )|( xmc[40] << 13);
214  sr = (sr >> 3 )|( xmc[41] << 13);
215  sr = (sr >> 3 )|( xmc[42] << 13);
216  *c++ = sr >> 7;
217  sr = (sr >> 3 )|( xmc[43] << 13);
218  sr = (sr >> 3 )|( xmc[44] << 13);
219  sr = (sr >> 3 )|( xmc[45] << 13);
220  *c++ = sr >> 6;
221  sr = (sr >> 3 )|( xmc[46] << 13);
222  sr = (sr >> 3 )|( xmc[47] << 13);
223  *c++ = sr >> 8;
224  sr = (sr >> 3 )|( xmc[48] << 13);
225  sr = (sr >> 3 )|( xmc[49] << 13);
226  sr = (sr >> 3 )|( xmc[50] << 13);
227  *c++ = sr >> 7;
228  sr = (sr >> 3 )|( xmc[51] << 13);
229  sr = sr >> 4;
230  *c = sr >> 8;
231  frame_chain = *c;
232  readGSM_33(d+33); /* puts all the parameters into LARc etc. */
233 
234 
235  sr = 0;
236 /* sr = (sr >> 4 )|( s->frame_chain << 12); */
237  sr = (sr >> 4 )|( frame_chain << 12);
238 
239  sr = (sr >> 6 )|( LARc[0] << 10);
240  *c++ = sr >> 6;
241  sr = (sr >> 6 )|( LARc[1] << 10);
242  *c++ = sr >> 8;
243  sr = (sr >> 5 )|( LARc[2] << 11);
244  sr = (sr >> 5 )|( LARc[3] << 11);
245  *c++ = sr >> 6;
246  sr = (sr >> 4 )|( LARc[4] << 12);
247  sr = (sr >> 4 )|( LARc[5] << 12);
248  *c++ = sr >> 6;
249  sr = (sr >> 3 )|( LARc[6] << 13);
250  sr = (sr >> 3 )|( LARc[7] << 13);
251  *c++ = sr >> 8;
252  sr = (sr >> 7 )|( Nc[0] << 9);
253  sr = (sr >> 2 )|( bc[0] << 14);
254  *c++ = sr >> 7;
255  sr = (sr >> 2 )|( Mc[0] << 14);
256  sr = (sr >> 6 )|( xmaxc[0] << 10);
257  *c++ = sr >> 7;
258  sr = (sr >> 3 )|( xmc[0] << 13);
259  sr = (sr >> 3 )|( xmc[1] << 13);
260  sr = (sr >> 3 )|( xmc[2] << 13);
261  *c++ = sr >> 6;
262  sr = (sr >> 3 )|( xmc[3] << 13);
263  sr = (sr >> 3 )|( xmc[4] << 13);
264  *c++ = sr >> 8;
265  sr = (sr >> 3 )|( xmc[5] << 13);
266  sr = (sr >> 3 )|( xmc[6] << 13);
267  sr = (sr >> 3 )|( xmc[7] << 13);
268  *c++ = sr >> 7;
269  sr = (sr >> 3 )|( xmc[8] << 13);
270  sr = (sr >> 3 )|( xmc[9] << 13);
271  sr = (sr >> 3 )|( xmc[10] << 13);
272  *c++ = sr >> 6;
273  sr = (sr >> 3 )|( xmc[11] << 13);
274  sr = (sr >> 3 )|( xmc[12] << 13);
275  *c++ = sr >> 8;
276  sr = (sr >> 7 )|( Nc[1] << 9);
277  sr = (sr >> 2 )|( bc[1] << 14);
278  *c++ = sr >> 7;
279  sr = (sr >> 2 )|( Mc[1] << 14);
280  sr = (sr >> 6 )|( xmaxc[1] << 10);
281  *c++ = sr >> 7;
282  sr = (sr >> 3 )|( xmc[13] << 13);
283  sr = (sr >> 3 )|( xmc[14] << 13);
284  sr = (sr >> 3 )|( xmc[15] << 13);
285  *c++ = sr >> 6;
286  sr = (sr >> 3 )|( xmc[16] << 13);
287  sr = (sr >> 3 )|( xmc[17] << 13);
288  *c++ = sr >> 8;
289  sr = (sr >> 3 )|( xmc[18] << 13);
290  sr = (sr >> 3 )|( xmc[19] << 13);
291  sr = (sr >> 3 )|( xmc[20] << 13);
292  *c++ = sr >> 7;
293  sr = (sr >> 3 )|( xmc[21] << 13);
294  sr = (sr >> 3 )|( xmc[22] << 13);
295  sr = (sr >> 3 )|( xmc[23] << 13);
296  *c++ = sr >> 6;
297  sr = (sr >> 3 )|( xmc[24] << 13);
298  sr = (sr >> 3 )|( xmc[25] << 13);
299  *c++ = sr >> 8;
300  sr = (sr >> 7 )|( Nc[2] << 9);
301  sr = (sr >> 2 )|( bc[2] << 14);
302  *c++ = sr >> 7;
303  sr = (sr >> 2 )|( Mc[2] << 14);
304  sr = (sr >> 6 )|( xmaxc[2] << 10);
305  *c++ = sr >> 7;
306  sr = (sr >> 3 )|( xmc[26] << 13);
307  sr = (sr >> 3 )|( xmc[27] << 13);
308  sr = (sr >> 3 )|( xmc[28] << 13);
309  *c++ = sr >> 6;
310  sr = (sr >> 3 )|( xmc[29] << 13);
311  sr = (sr >> 3 )|( xmc[30] << 13);
312  *c++ = sr >> 8;
313  sr = (sr >> 3 )|( xmc[31] << 13);
314  sr = (sr >> 3 )|( xmc[32] << 13);
315  sr = (sr >> 3 )|( xmc[33] << 13);
316  *c++ = sr >> 7;
317  sr = (sr >> 3 )|( xmc[34] << 13);
318  sr = (sr >> 3 )|( xmc[35] << 13);
319  sr = (sr >> 3 )|( xmc[36] << 13);
320  *c++ = sr >> 6;
321  sr = (sr >> 3 )|( xmc[37] << 13);
322  sr = (sr >> 3 )|( xmc[38] << 13);
323  *c++ = sr >> 8;
324  sr = (sr >> 7 )|( Nc[3] << 9);
325  sr = (sr >> 2 )|( bc[3] << 14);
326  *c++ = sr >> 7;
327  sr = (sr >> 2 )|( Mc[3] << 14);
328  sr = (sr >> 6 )|( xmaxc[3] << 10);
329  *c++ = sr >> 7;
330  sr = (sr >> 3 )|( xmc[39] << 13);
331  sr = (sr >> 3 )|( xmc[40] << 13);
332  sr = (sr >> 3 )|( xmc[41] << 13);
333  *c++ = sr >> 6;
334  sr = (sr >> 3 )|( xmc[42] << 13);
335  sr = (sr >> 3 )|( xmc[43] << 13);
336  *c++ = sr >> 8;
337  sr = (sr >> 3 )|( xmc[44] << 13);
338  sr = (sr >> 3 )|( xmc[45] << 13);
339  sr = (sr >> 3 )|( xmc[46] << 13);
340  *c++ = sr >> 7;
341  sr = (sr >> 3 )|( xmc[47] << 13);
342  sr = (sr >> 3 )|( xmc[48] << 13);
343  sr = (sr >> 3 )|( xmc[49] << 13);
344  *c++ = sr >> 6;
345  sr = (sr >> 3 )|( xmc[50] << 13);
346  sr = (sr >> 3 )|( xmc[51] << 13);
347  *c++ = sr >> 8;
348 
349 }
unsigned char gsm_byte
Definition: msgsm.h:6
#define readGSM_33(c1)
Definition: msgsm.h:11