Audiovox P965 Ficha de datos Pagina 129

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 280
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 128
API In CPP
126
lengthData[3] &= 0x1f; // mask out the 1st 3 bits
read(fdSock, &lengthData[2], 1);
read(fdSock, &lengthData[1], 1);
read(fdSock, &lengthData[0], 1);
} else {
lengthData[0] = firstChar;
lengthData[0] &= 0x1f; // mask out the 1st 3 bits
read(fdSock, &lengthData[1], 1);
read(fdSock, &lengthData[2], 1);
read(fdSock, &lengthData[3], 1);
}
messageLength = (int *)lengthData;
} else if ((firstChar & 0xC0) == 0xC0) { // read 3 bytes
DEBUG ? printf("3-byte encoded length\n") : 0;
if (littleEndian) {
lengthData[2] = firstChar;
lengthData[2] &= 0x3f; // mask out the 1st 2 bits
read(fdSock, &lengthData[1], 1);
read(fdSock, &lengthData[0], 1);
} else {
lengthData[1] = firstChar;
lengthData[1] &= 0x3f; // mask out the 1st 2 bits
read(fdSock, &lengthData[2], 1);
read(fdSock, &lengthData[3], 1);
}
messageLength = (int *)lengthData;
} else if ((firstChar & 0x80) == 0x80) { // read 2 bytes
DEBUG ? printf("2-byte encoded length\n") : 0;
if (littleEndian) {
lengthData[1] = firstChar;
lengthData[1] &= 0x7f; // mask out the 1st bit
read(fdSock, &lengthData[0], 1);
} else {
lengthData[2] = firstChar;
lengthData[2] &= 0x7f; // mask out the 1st bit
read(fdSock, &lengthData[3], 1);
}
messageLength = (int *)lengthData;
} else { // assume 1-byte encoded length...same on both LE and BE systems
DEBUG ? printf("1-byte encoded length\n") : 0;
messageLength = (int *) malloc(sizeof(int));
*messageLength = (int)firstChar;
Vista de pagina 128
1 2 ... 124 125 126 127 128 129 130 131 132 133 134 ... 279 280

Comentarios a estos manuales

Sin comentarios