Audiovox P965 Ficha Técnica Página 129

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 280
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 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 página 128
1 2 ... 124 125 126 127 128 129 130 131 132 133 134 ... 279 280

Comentários a estes Manuais

Sem comentários