Beispiel #1
0
int consdrv_main(int argc, char *argv[]) {
  int size, index;
  sys_thread_id_t id;
  char *p;

  consdrv_init();
  sys_setintr(SOFTVEC_TYPE_SERINTR, consdrv_intr);

  while(1) {
    id = sys_recv(MLBOX_ID_CONSOUTPUT, &size, &p);
    index = p[0] - '0';
    consdrv_command(&consreg[index], id, index, size-1, p+1);
    sys_memfree(p);
  }

  return 0;
}
Beispiel #2
0
int consdrv_main(int argc, char *argv[])
{
  int size, index;
  kz_thread_id_t id;
  char *p;

  consdrv_init();
  kz_setintr(SOFTVEC_TYPE_SERINTR, consdrv_intr); /* 割り込みハンドラ登録 */

  while (1) {
    id = kz_recv(MSGBOX_ID_CONSOUTPUT, &size, &p);
    index = p[0] - '0';
    consdrv_command(&consreg[index], id, index, size - 1, p + 1);
    kz_kmfree(p);
  }

  return 0;
}