Audiovox P965 Datenblatt Seite 129

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 280
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 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;
Seitenansicht 128
1 2 ... 124 125 126 127 128 129 130 131 132 133 134 ... 279 280

Kommentare zu diesen Handbüchern

Keine Kommentare