コード例 #1
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
int input()
{
    char ch;

    start_check();
    uart0GetChar(&ch);
    finish_check();
    return (unsigned int)ch;
}
コード例 #2
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
int get()  // usage:   int i = get(int *ip) >>>  i = *ip;
{
    int ii, *ip;
    
    start_check();
    eval_exp(&ii);
    finish_check();
    ip = (int *)ii;
    return *ip;
}
コード例 #3
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
void delay()
{
    int del;
    
    start_check();
    eval_exp(&del);
    if ((del < 0) || (del > 1000000))
        sntx_err(PARAM_ERR);
    delayMS(del );
    finish_check();
}
コード例 #4
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
void set()  // usage:  set(int *ip, int i) >>>  *ip = i;
{
    int ii, i, *ip;
    
    start_check();
    eval_exp(&ii);

    get_token(); // look for comma separator 
    if(*token != ',')
        sntx_err(SYNTAX); // syntax error 

    eval_exp(&i);
    ip = (int *)ii;
    *ip = i;
    finish_check();
}
コード例 #5
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
void motors()
{
    int lspeed, rspeed;
    
    start_check();
    eval_exp(&lspeed);
    if ((lspeed < -100) || (lspeed > 100))
        sntx_err(PARAM_ERR);

    get_token(); // look for comma separator 
    if(*token != ',')
        sntx_err(SYNTAX); // syntax error 

    eval_exp(&rspeed);
    if ((rspeed < -100) || (rspeed > 100))
        sntx_err(PARAM_ERR);
    setPWM(lspeed, rspeed);
    finish_check();
}
コード例 #6
0
ファイル: test-format.c プロジェクト: AlertMe/libnice
int main (void)
{
  uint8_t buf[100];
  size_t len;
  union {
    struct sockaddr_storage storage;
    struct sockaddr addr;
  } addr;

  StunAgent agent;
  StunMessage msg;
  uint16_t known_attributes[] = {STUN_ATTRIBUTE_USERNAME,
                                 STUN_ATTRIBUTE_MESSAGE_INTEGRITY,
                                 STUN_ATTRIBUTE_ERROR_CODE,
                                 0};

  stun_agent_init (&agent, known_attributes,
      STUN_COMPATIBILITY_RFC5389, STUN_AGENT_USAGE_USE_FINGERPRINT);

  /* Request formatting test */
  stun_agent_init_request (&agent, &msg, buf, sizeof(buf), STUN_BINDING);
  finish_check (&agent, &msg);
  if (memcmp (buf, "\x00\x01", 2))
    fatal ("Request formatting test failed");

  /* Response formatting test */
  stun_agent_init_response (&agent, &msg, buf, sizeof (buf), &msg);
  finish_check (&agent, &msg);
  if (memcmp (buf, "\x01\x01", 2))
    fatal ("Response formatting test failed");

  /* Error formatting test */
  stun_agent_init_request (&agent, &msg, buf, sizeof(buf), STUN_BINDING);
  finish_check (&agent, &msg);
  if (!stun_agent_init_error (&agent, &msg, buf, sizeof (buf), &msg, 400))
    fatal ("Error initialization test failed");
  finish_check (&agent, &msg);
  if (memcmp (buf, "\x01\x11", 2))
    fatal ("Error formatting test failed");
  /* Unknown error formatting test */
  stun_agent_init_request (&agent, &msg, buf, sizeof(buf), STUN_BINDING);
  finish_check (&agent, &msg);
  if (!stun_agent_init_error (&agent, &msg, buf, sizeof (buf), &msg, 666))
    fatal ("Unknown error initialization test failed");
  finish_check (&agent, &msg);
  if (memcmp (buf, "\x01\x11", 2))
    fatal ("Unknown error formatting test failed");

  /* Overflow tests */
  stun_agent_init_request (&agent, &msg, buf, sizeof(buf), STUN_BINDING);

  for (len = 0;
       stun_message_append_flag (&msg, 0xffff) !=
           STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE;
       len += 4)
  {
    if (len > 0xffff)
      fatal ("Overflow protection test failed");
  }

  if (stun_message_append32 (&msg, 0xffff, 0x12345678) !=
      STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE)
    fatal ("Double-word overflow test failed");
  if (stun_message_append64 (&msg, 0xffff,
          0x123456789abcdef0) != STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE)
    fatal ("Quad-word overflow test failed");
  if (stun_message_append_string (&msg, 0xffff, "foobar") !=
      STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE)
    fatal ("String overflow test failed");

  memset (&addr, 0, sizeof (addr));
  addr.addr.sa_family = AF_INET;
#ifdef HAVE_SS_LEN
  addr.addr.ss_len = sizeof (addr);
#endif
  if (stun_message_append_xor_addr (&msg, 0xffff, &addr.storage,
          sizeof (addr)) != STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE)
    fatal ("Address overflow test failed");
  len = sizeof (msg);
  if (stun_agent_finish_message (&agent, &msg, NULL, 0) != 0)
    fatal ("Fingerprint overflow test failed");
  if (stun_agent_finish_message (&agent, &msg, pwd, strlen ((char *) pwd)) != 0)
    fatal ("Message integrity overflow test failed");

  /* Address attributes tests */
  check_af ("IPv4", AF_INET, sizeof (struct sockaddr_in));
#ifdef AF_INET6
  check_af ("IPv6", AF_INET6, sizeof (struct sockaddr_in6));
#endif

  return 0;
}
コード例 #7
0
ファイル: c.c プロジェクト: bsmr-misc-forks/kroc
int time()
{
    start_check();
    finish_check();
    return readRTC();
}