Beispiel #1
0
int	multipdp_rx_cback( char *buf, int len)
{
	int i=0;
	int ret = 0;
	struct pdp_hdr * phdr = NULL;

	for( i=0; i < len; i++)
	{
		if (buf[i] == 0x7f) {
			//printk("multipdp_demux : start = %d, len=%d\n", i+1, len-i-1);
			phdr = (struct pdp_hdr*)&buf[i+1];

			//if( i > 1 )
			//	printk("================> multipdp_rx_cback : i = %d\n", i);
				
			if( buf[i+phdr->len+1] != 0x7E)
				printk("==== NOT 0x7E ...\n");
			
			ret = multipdp_demux( (char *)&buf[i+1], len-i-1);
			
			//i = i + phdr->len + 2;
			i = i + phdr->len+1;
			
			//printk("multipdp_demux : end ret = %d, next i = %d\n", ret, i);
			if( ret < 0 || ret == 0 )
			{
				printk("multipdp_demux : Error .. ret[%d]!!!!!!\n", ret);
				break;
			}
		}
		//printk("~~~~>> Header mismatch : , buf[%d] = 0x%x\n", i, buf[i]);
	}
	return(i);

}
Beispiel #2
0
int multipdp_rx_cback(char *buf, int len)
{
	int i = 0;
	int ret = 0;
	struct pdp_hdr *phdr = NULL;

	DPRINTK(2, "Receive packet size from cp=%d\n", len);

	for (i = 0; i < len; i++) {
		if (buf[i] == 0x7f) {
			phdr = (struct pdp_hdr *)&buf[i + 1];

			if (buf[i + phdr->len + 1] != 0x7E)
				pr_err("[MULTIPDP] NOT 0x7E (Not end byte)\n");

			ret = multipdp_demux((char *)&buf[i + 1], len - i - 1);
			i = i + phdr->len + 1;

			if (ret < 0 || ret == 0)
				break;
		} else
			pr_err("[MULTIPDP] NOT 0x7F (Not start byte)\n");
	}
	return i;
}