예제 #1
0
void		cmd_pin(char *str, t_server *serv, const int fd)
{
  char		*tab[3];
  char		*tok;
  int		i;

  (void)serv;
  if (str && strlen(str) > 3 && fd)
    {
      i = 1;
      if ((tok = strdup(str)) == ((char*)0))
	{
	  fprintf(stderr, "Error: strdup failed.\n");
	  return ;
	}
      tab[0] = strtok(tok, " ");
      while (i < 2 && (tab[i] = strtok((char*)0, " ")) != ((char*)0))
	++i;
      if ((strtok((char*)0, " ")) != ((char*)0))
	cmd_invalid_args(fd);
      else
	display_pin(tab, fd);
    }
  else
    cmd_invalid(str, fd);
}
예제 #2
0
파일: upd765a.cpp 프로젝트: tkochi/xm8
void UPD765A::process_cmd(int cmd)
{
	switch(cmd & 0x1f) {
	case 0x02:
		cmd_read_diagnostic();
		break;
	case 0x03:
		cmd_specify();
		break;
	case 0x04:
		cmd_sence_devstat();
		break;
	case 0x05:
	case 0x09:
		cmd_write_data();
		break;
	case 0x06:
	case 0x0c:
		cmd_read_data();
		break;
	case 0x07:
		cmd_recalib();
		break;
	case 0x08:
		cmd_sence_intstat();
		break;
	case 0x0a:
		cmd_read_id();
		break;
	case 0x0d:
		cmd_write_id();
		break;
	case 0x0f:
		cmd_seek();
		break;
	case 0x11:
	case 0x19:
	case 0x1d:
		cmd_scan();
		break;
	default:
		cmd_invalid();
		break;
	}
}