Ejemplo n.º 1
0
void handle_dump(queue_t *q, mblk_t *mp)
{
    struct ctrl_args *ctrl_args;
    struct ctrl_device *ctrlfd;
    minor_t minor;
    int sum;
    unsigned char *buf;

    if ((mp->b_cont = allocb(MAXPRINTBUF, BPRI_MED)) == NULL) {
	printf("handle_ctrl: out of message blocks\n");
	qreply(q, mp);
	return;
    }

    buf = DB_BASE(mp->b_cont);
    sum = rpc_dump(buf, buf + MAXPRINTBUF);
    sum += port_dump(buf + sum, buf + MAXPRINTBUF);
    sum += kid_dump(buf + sum, buf + MAXPRINTBUF);
    sum += flip_netdump(buf + sum, buf + MAXPRINTBUF);
    sum += int_dump(buf + sum, buf + MAXPRINTBUF);
    sum += adr_dump(buf + sum, buf + MAXPRINTBUF);
    sum += ff_dump(buf + sum, buf + MAXPRINTBUF);
    mp->b_cont->b_rptr = DB_BASE(mp->b_cont);
    mp->b_cont->b_wptr = mp->b_cont->b_rptr + sum;

    ctrl_args = (struct ctrl_args *) DB_BASE(mp);
    ctrl_args->ctrl_status = sum;

    mp->b_rptr = DB_BASE(mp);
    mp->b_wptr = mp->b_rptr + sizeof(struct ctrl_args);
    DB_TYPE(mp) = M_PROTO;

    qreply(q, mp);
}
Ejemplo n.º 2
0
int main() {

  // test int dump
  int	nb = 42;

  int_dump(nb, false);

  // test string tab vardump
  char *tab[3];

  tab[0] = "salut";
  tab[1] = "salu2";
  tab[2] = "salu3";
  tab[3] = "salu4";
  tab[4] = NULL;
  string_tab_dump(tab, true);

  srand(time(NULL) + getpid());
  // test int tab vardump
  int **int_tab;
  int i = 0;
  int j = 0;

  if ((int_tab = malloc(sizeof(int *) * 4)) == NULL)
    return -1;
  i = 0;
  while (i < 4)
    {
      if ((int_tab[i] = malloc(sizeof(int) * 4)) == NULL)
	return -1;
      ++i;
    }
  i = 0;
  while (i < 4)
    {
      j = 0;
      while (j < 4)
	{
	  int_tab[i][j] = rand() % 10;
	  ++j;
	}
      ++i;
    }
  int_double_tab_dump(int_tab, 4, 4, true);

  return 0;
}