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(®s->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; }
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); }
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"); }
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); }
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, ®s->txDataCount); for(i = 0; i < skb->len; i++) { out32((uint32_t)*pdata, ®s->txDataBuffer); pdata++; } skb_free(skb); return 0; }
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 ); }
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 ); }