testsliplib.c

来自「SLIP打包拆包函数模块」· C语言 代码 · 共 95 行

C
95
字号
#include <stdio.h>
#include "slipLib.h"

static SLIP_ID   gslipTestId = NULL;
static const int slipMTU     = 255;

int test( void )
{
	int i;
	unsigned char pucDataBuff[ slipMTU ];
	
	for( i = 0; i < slipMTU; i++ )
	{
		pucDataBuff[ i ] = i+1;
	}
	
	printf( "\nSource data : \n" );
	for( i = 0; i < slipMTU; i++ )
	{
		printf( "0x%x ",pucDataBuff[ i ] );
		if( (i+1)%10==0 )
		printf("\n");
	}
	
	slipEncode( gslipTestId, pucDataBuff, slipMTU );
	return( 1 );
}


int testSlipUnPackCallBack( unsigned char * pucDataBuff, int iDataBuffLength )
{
	int i;
	
	printf( "\nUnpacket data : \n" );
	for( i = 0; i < iDataBuffLength; i++ )
	{
		printf( "0x%x ",pucDataBuff[ i ] );
		if( (i+1)%10==0 )
		printf("\n");
	}
	return( 1 );
}


int testSlipPackCallBack( unsigned char * pucDataBuff, int iDataBuffLength )
{
	int i;
	
	printf( "\nPacket data : \n" );
	for( i = 0; i < iDataBuffLength; i++ )
	{
		printf( "0x%x ",pucDataBuff[ i ] );
		if( (i+1)%10==0 )
		printf("\n");
	}
	printf( "\n\n%d\n\n",iDataBuffLength );
	slipDecode( gslipTestId, pucDataBuff, 50 );
	slipDecode( gslipTestId, pucDataBuff+50, 100 );
	slipDecode( gslipTestId, pucDataBuff+150, 120 );
	
	return( 1 );
}


int testInit( void )
{
    if( gslipTestId == NULL )
    {
        if( ( gslipTestId = slipCreate( slipMTU, 45234,
                                       ( FUNCPTR )testSlipUnPackCallBack, 
                                       ( FUNCPTR )testSlipPackCallBack ) ) == NULL )
        {
            printf( "[ testInit ]: create Slip struct fails.\n" );
            testDInit();
            return( 0 );
        }
    }

    return( 1 );
}

int testDInit( void )
{
    if( gslipTestId != NULL )
    {
        if( slipDelete( gslipTestId ) == 0 )
        {
            printf( "[ testDInit ]:delete slip struct Error.\n" );
        }
        gslipTestId = NULL;
    }

    return( 1 );
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?