1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
bool toto(unsigned char data[BUFFER_SIZE], size_t bytes_transferred)
{
static const int TRANSPORT_START_VALUE = 0x02;
static const int TRANSPORT_SIZE_LOW_BYTE = 1;
unsigned int i=0;
unsigned char* adrBuffer=(unsigned char*)data;
uint16 * pt;
int taille_trame;
while(i<bytes_transferred)
{
pt=(uint16*) (adrBuffer+i+TRANSPORT_SIZE_LOW_BYTE);
taille_trame=(int)(*pt);
if(i+taille_trame>bytes_transferred)
{
taille_envoi_session=i;
}
i=i+taille_trame;
//subtilite reseau des fois le paquet recu contient 1 bit de trop par rapport a la taille du paquet TCS
if(i<bytes_transferred)
{
if(data[i]!=TRANSPORT_START_VALUE || taille_trame==0)
{
i++;
}
}
}
..................... |