コード例 #1
0
ファイル: mipsnet.c プロジェクト: AleksandraButrova/embox
static int mipsnet_rx(struct net_device *dev, size_t len) {
	struct sk_buff *skb;
	uint8_t *pdata;
	struct mipsnet_regs *regs;

	if (!len)
			return len;

	regs = (struct mipsnet_regs *)dev->base_addr;

	skb = skb_alloc(len);
	if (!skb) {
			dev->stats.rx_dropped++;
			return -ENOMEM;
	}
	pdata = (uint8_t*) skb->mac.raw;
	for (; len > 0; len--, pdata++) {
		*pdata = in32(&regs->rxDataBuffer);
	}

	show_packet(skb->mac.raw, skb->len, "rx");
	skb->dev = dev;

	netif_rx(skb);

	dev->stats.rx_packets++;
	dev->stats.rx_bytes += len;

	return len;
}
コード例 #2
0
ファイル: ffprobe.c プロジェクト: ElfSundae/FFmpegAudioTest
static void show_packets(AVFormatContext *fmt_ctx)
{
    AVPacket pkt;

    av_init_packet(&pkt);

    while (!av_read_frame(fmt_ctx, &pkt))
        show_packet(fmt_ctx, &pkt);
}
コード例 #3
0
ファイル: avprobe.c プロジェクト: richardpl/libav
static void show_packets(AVFormatContext *fmt_ctx)
{
    AVPacket pkt;

    av_init_packet(&pkt);
    probe_array_header("packets");
    while (!av_read_frame(fmt_ctx, &pkt))
        show_packet(fmt_ctx, &pkt);
    probe_array_footer("packets");
}
コード例 #4
0
ファイル: avprobe.c プロジェクト: elnormous/libav
static void show_packets(InputFile *ifile)
{
    AVFormatContext *fmt_ctx = ifile->fmt_ctx;
    AVPacket pkt;

    av_init_packet(&pkt);
    probe_array_header("packets", 0);
    while (!av_read_frame(fmt_ctx, &pkt)) {
        show_packet(fmt_ctx, &pkt);
        av_packet_unref(&pkt);
    }
    probe_array_footer("packets", 0);
}
コード例 #5
0
ファイル: mipsnet.c プロジェクト: AleksandraButrova/embox
static int mipsnet_xmit(struct net_device *dev, struct sk_buff *skb) {
	struct mipsnet_regs *regs;
	int i;
	uint8_t *pdata;

	show_packet(skb->mac.raw, skb->len, "xmit");

	regs = (struct mipsnet_regs *)dev->base_addr;
	pdata = skb->mac.raw;

	out32(skb->len, &regs->txDataCount);
	for(i = 0; i < skb->len; i++) {
		out32((uint32_t)*pdata, &regs->txDataBuffer);
		pdata++;
	}

	skb_free(skb);
	return 0;
}
コード例 #6
0
ファイル: pcap.c プロジェクト: mafzzz/heterogeneous_hthreads
void setup_ncurses( void )
{
    main_win = initscr();
    keypad(main_win, TRUE);     // enable keyboard mapping
    nonl();                     // tell curses not to do NL->CR/NL on output
    cbreak();                   // input chars one at a time, no wait for \n
    noecho();                   // don't echo input
    nodelay(main_win, TRUE);    // do non-blocking input
    curs_set( 0 );              // don't show the cursor

    size_win = create_window( main_win, 6, COLS/2, 0, 0 );
    pack_win = create_window( main_win, 6, COLS/2, 0, COLS/2 );
    mini_win = create_window( main_win, 5, COLS/4, 6, 0*(COLS/4) );
    maxi_win = create_window( main_win, 5, COLS/4, 6, 1*(COLS/4) );
    mean_win = create_window( main_win, 5, COLS/4, 6, 2*(COLS/4) );
    stdd_win = create_window( main_win, 5, COLS/4, 6, 3*(COLS/4) );
    data_win = create_window( main_win, LINES - 16, COLS, 11, 0 );
    oper_win = create_window( main_win, 5, COLS, LINES-5, 0 );

    // Use colors if the terminal has them
    if( has_colors() )
    {
        start_color();
        /*
        * Simple color assignment, often all we need.
        */
        init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
        init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
        init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
        init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
        init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);
        init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
        init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
        init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
    }

    show_size( size_win, 0, 0 );
    show_packet( pack_win, NULL, 0 );
    show_mini( mini_win, 0 );
    show_maxi( maxi_win, 0 );
    show_mean( mean_win, 0 );
    show_stdd( stdd_win, 0 );
    show_data( data_win, NULL, 0 );
    show_operation( oper_win, "Waiting for Data..." );

    box( size_win, 0, 0 );
    box( pack_win, 0, 0 );
    box( mini_win, 0, 0 );
    box( maxi_win, 0, 0 );
    box( mean_win, 0, 0 );
    box( stdd_win, 0, 0 );
    box( data_win, 0, 0 );
    box( oper_win, 0, 0 );
    
    wrefresh( size_win );
    wrefresh( pack_win );
    wrefresh( mini_win );
    wrefresh( maxi_win );
    wrefresh( mean_win );
    wrefresh( stdd_win );
    wrefresh( data_win );
    wrefresh( oper_win );
}
コード例 #7
0
ファイル: pcap.c プロジェクト: mafzzz/heterogeneous_hthreads
void dump_packet( Huint size, Huint *data, FILE *fl)
{
    Huint   i;
    Huint   val;
    float   temp;
    float   sum;
    
    fwrite( data, sizeof(Huint), size, fl );
    fflush( fl );

    num_bytes   += size * sizeof(Huint);
    num_packets += 1;

    for( i = 0; i < size; i++ )
    {
        val = ntohl( data[i] );

        res_total   += val;
        res_number  += 1;

        if( val > res_max || res_number == 1 )  res_max = val;
        if( val < res_min || res_number == 1 )  res_min = val;
    }

    if( res_number > 0 )    res_mean = (float)res_total / (float)res_number;
    else                    res_mean = 0.0f;
    
    sum = 0;
    for( i = 0; i < size; i++ )
    {
        val     = ntohl( data[i] );
        temp    = val - res_mean;
        sum     += (temp * temp); 
    }

    sum /= (size - 1);
    res_std = sqrt( sum );

    show_size( size_win, num_bytes, num_packets );
    show_packet( pack_win, (Hubyte*)data, size*sizeof(Huint) );
    show_mini( mini_win, res_min );
    show_maxi( maxi_win, res_max );
    show_mean( mean_win, res_mean );
    show_stdd( stdd_win, res_std );
    show_data( data_win, (Hubyte*)data, size*sizeof(Huint) );
    show_operation( oper_win, "Showing Data..." );

    box( size_win, 0, 0 );
    box( pack_win, 0, 0 );
    box( mini_win, 0, 0 );
    box( maxi_win, 0, 0 );
    box( mean_win, 0, 0 );
    box( stdd_win, 0, 0 );
    box( data_win, 0, 0 );
    box( oper_win, 0, 0 );
    
    wrefresh( size_win );
    wrefresh( pack_win );
    wrefresh( mini_win );
    wrefresh( maxi_win );
    wrefresh( mean_win );
    wrefresh( stdd_win );
    wrefresh( data_win );
    wrefresh( oper_win );
}