示例#1
0
文件: cbuf_test.c 项目: quentusrex/cl
void read_vector_test()
{
    cbuf_t in;

    printf("read_vector_test1: BEGIN\n");
    cbuf_initv(&in, &vec1);
    cbuf_print(&in, "vec1");
    print_u8(&in, 10);
    print_u16(&in, 10);
    print_u32(&in, 10);
    print_u64(&in, 10);
    print_f32(&in, 10);
    print_f64(&in, 10);
    printf("read_vector_test1: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_print(&in, "vec1");
    cbuf_final(&in);

    printf("read_vector_test2: BEGIN\n");
    cbuf_initv(&in, &vec2);
    cbuf_print(&in, "vec2");
    print_u32(&in, 5);    
    print_u16(&in, 1);
    print_u8(&in, 1);
    printf("read_vector_test2: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_print(&in, "vec2");
    cbuf_final(&in);
}
示例#2
0
//Prints a 16-bit signed integer as +/- and 5 digits (with '0' padding in front). Example: "+00042"
void print_s16(s16 number)
{
	if (number >= 0)
	{
		//print plus
		printChar('+');
		//cast to print the number as a u16
		print_u16((u16)number);
	}
	else
	{
		//print minus
		printChar('-');
		//make the number positive and print it as a u16
		print_u16((u16)(-number));
	}
}
示例#3
0
文件: cbuf_test.c 项目: quentusrex/cl
void write_vec_test()
{
    cbuf_t out;
    u_int8_t small_buf[10];
    u_int16_t i16;

    printf("write_vec_test1: binary BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, CBUF_FLAG_BINARY);
    for (i16 = 1; i16 <= 20; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 21; i16 <= 40; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 41; i16 <= 60; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_reset(&out, 0);
    print_u16(&out, 60);
    cbuf_print(&out, "out_i16");
    cbuf_final(&out);
    printf("write_vec_test1: binary END\n");    


    printf("write_vec_test2: BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, 0);
    for (i16 = 1; i16 <= 20; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 21; i16 <= 40; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 41; i16 <= 60; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 61; i16 <= 80; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_seg_add(&out);    
    for (i16 = 81; i16 <= 100; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_reset(&out, 0);
    print_u16(&out, 100);
    cbuf_print(&out, "out_i16");
    cbuf_final(&out);
    printf("write_vec_test2: END\n");    
}
示例#4
0
文件: cbuf_test.c 项目: quentusrex/cl
void read_buffer_test()
{
    cbuf_t in;
    printf("read_buffer_test vu8: BEGIN\n");
    cbuf_init(&in, &vu8, sizeof(vu8), 0, 0);
    print_u8(&in, 10);
    printf("read_buffer_test vu8: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);

    printf("read_buffer_test vu16: BEGIN\n");
    cbuf_init(&in, &vu16, sizeof(vu16), 0, 0);
    print_u16(&in, 10);
    printf("read_buffer_test vu16: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);

    printf("read_buffer_test vu32: BEGIN\n");
    cbuf_init(&in, &vu32, sizeof(vu32), 0, 0);
    print_u32(&in, 10);
    printf("read_buffer_test vu32: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);

    printf("read_buffer_test vu64: BEGIN\n");
    cbuf_init(&in, &vu64, sizeof(vu64), 0, 0);
    print_u64(&in, 10);
    printf("read_buffer_test vu64: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);

    printf("read_buffer_test vf32: BEGIN\n");
    cbuf_init(&in, &vf32, sizeof(vf32), 0, 0);
    print_f32(&in, 10);
    printf("read_buffer_test vu32: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);

    printf("read_buffer_test vf64: BEGIN\n");
    cbuf_init(&in, &vf64, sizeof(vf64), 0, 0);
    print_f64(&in, 10);
    printf("read_buffer_test vf64: END%s\n",
	   !cbuf_eob(&in) ? " (data not consumed)" : "");
    cbuf_final(&in);
}
示例#5
0
文件: cbuf_test.c 项目: quentusrex/cl
void write_buffer_test()
{
    cbuf_t out;
    u_int8_t small_buf[10];
    u_int8_t i8;
    u_int16_t i16;

    printf("write_buffer_test small_buf: BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, 0);
    for (i8 = 1; i8 <= 10; i8++)
	cbuf_write(&out, &i8, sizeof(i8));
    cbuf_reset(&out, 0);
    print_u8(&out, 10);
    cbuf_print(&out, "out_i8");
    cbuf_final(&out);
    printf("write_buffer_test: small_buf: END\n");

    printf("write_buffer_test alloc_buf: BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, 0);
    for (i8 = 1; i8 <= 20; i8++)
	cbuf_write(&out, &i8, sizeof(i8));
    cbuf_reset(&out, 0);
    print_u8(&out, 20);
    cbuf_print(&out, "out_i8");
    cbuf_final(&out);
    printf("write_buffer_test: alloc_buf: END\n");

    printf("write_buffer_test realloc_buf: BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, 0);
    cbuf_print(&out, "out_i16");
    for (i16 = 1; i16 <= 200; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_reset(&out, 0);
    print_u16(&out, 200);
    cbuf_print(&out, "out_i16");
    cbuf_final(&out);
    printf("write_buffer_test: realloc_buf: END\n");

    // the same with empty inital buffer
    printf("write_buffer_test realloc_buf2: BEGIN\n");
    cbuf_init(&out, 0, 0, 0, 0);
    cbuf_print(&out, "out_i16");
    for (i16 = 1; i16 <= 200; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_reset(&out, 0);
    print_u16(&out, 200);
    cbuf_print(&out, "out_i16");
    cbuf_final(&out);
    printf("write_buffer_test: realloc_buf2: END\n");

    printf("write_buffer_test binary_realloc_buf: BEGIN\n");
    cbuf_init(&out, small_buf, sizeof(small_buf), 0, CBUF_FLAG_BINARY);
    cbuf_print(&out, "out_i16");
    for (i16 = 1; i16 <= 200; i16++)
	cbuf_write(&out, &i16, sizeof(i16));
    cbuf_reset(&out, 0);
    print_u16(&out, 200);
    cbuf_print(&out, "out_i16");
    cbuf_final(&out);
    printf("write_buffer_test: binary_realloc_buf: END\n");

    

}