• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ print_key函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中print_key函数的典型用法代码示例。如果您正苦于以下问题:C++ print_key函数的具体用法?C++ print_key怎么用?C++ print_key使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了print_key函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: interactive

static void interactive(int fd)
{
	struct input_event ev;
	uint32_t last_scan = 0;
	uint16_t last_key = 0;
	int has_scan; /* boolean */
	int has_key; /* 0: none, 1: release, 2: press */

	/* grab input device */
	ioctl(fd, EVIOCGRAB, 1);
	puts("Press ESC to finish, or Control-C if this device is not your primary keyboard");

	has_scan = has_key = 0;
	while (read_event(fd, &ev)) {
		/* Drivers usually send the scan code first, then the key code,
		 * then a SYN. Some drivers (like thinkpad_acpi) send the key
		 * code first, and some drivers might not send SYN events, so
		 * keep a robust state machine which can deal with any of those
		 */

		if (ev.type == EV_MSC && ev.code == MSC_SCAN) {
			if (has_scan) {
				fputs("driver did not send SYN event in between key events; previous event:\n",
				      stderr);
				print_key(last_scan, last_key, has_scan, has_key);
				has_key = 0;
			}

			last_scan = ev.value;
			has_scan = 1;
			/*printf("--- got scan %u; has scan %i key %i\n", last_scan, has_scan, has_key); */
		}
		else if (ev.type == EV_KEY) {
			if (has_key) {
				fputs("driver did not send SYN event in between key events; previous event:\n",
				      stderr);
				print_key(last_scan, last_key, has_scan, has_key);
				has_scan = 0;
			}

		       	last_key = ev.code;
			has_key = 1 + ev.value;
			/*printf("--- got key %hu; has scan %i key %i\n", last_key, has_scan, has_key);*/

			/* Stop on ESC */
			if (ev.code == KEY_ESC && ev.value == 0)
				break;
		}
		else if (ev.type == EV_SYN) {
			/*printf("--- got SYN; has scan %i key %i\n", has_scan, has_key);*/
			print_key(last_scan, last_key, has_scan, has_key);

			has_scan = has_key = 0;
		}

	}

	/* release input device */
	ioctl(fd, EVIOCGRAB, 0);
}
开发者ID:Lingvorn,项目名称:udev,代码行数:60,代码来源:keymap.c


示例2: cmap_notify_fn

static void cmap_notify_fn(
	cmap_handle_t cmap_handle,
	cmap_track_handle_t cmap_track_handle,
	int32_t event,
	const char *key_name,
	struct cmap_notify_value new_val,
	struct cmap_notify_value old_val,
	void *user_data)
{
	switch (event) {
	case CMAP_TRACK_ADD:
		printf("create> ");
		print_key(cmap_handle, key_name, new_val.len, new_val.data, new_val.type);
		break;
	case CMAP_TRACK_DELETE:
		printf("delete> ");
		print_key(cmap_handle, key_name, old_val.len, old_val.data, old_val.type);
		break;
	case CMAP_TRACK_MODIFY:
		printf("modify> ");
		print_key(cmap_handle, key_name, new_val.len, new_val.data, new_val.type);
		break;
	default:
		printf("unknown change> ");
		break;
	}

}
开发者ID:bhansaliakhil,项目名称:corosync,代码行数:28,代码来源:corosync-cmapctl.c


示例3: pr_w_store_returns

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_w_store_returns(void *row)
{
	struct W_STORE_RETURNS_TBL *r;


	if (row == NULL)
		r = &g_w_store_returns;
	else
		r = row;
	print_start(STORE_RETURNS);
	print_key(SR_RETURNED_DATE_SK, r->sr_returned_date_sk, 1);
	print_key(SR_RETURNED_TIME_SK, r->sr_returned_time_sk, 1);
	print_key(SR_ITEM_SK, r->sr_item_sk, 1);
	print_key(SR_CUSTOMER_SK, r->sr_customer_sk, 1);
	print_key(SR_CDEMO_SK, r->sr_cdemo_sk, 1);
	print_key(SR_HDEMO_SK, r->sr_hdemo_sk, 1);
	print_key(SR_ADDR_SK, r->sr_addr_sk, 1);
	print_key(SR_STORE_SK, r->sr_store_sk, 1);
	print_key(SR_REASON_SK, r->sr_reason_sk, 1);
	print_key(SR_TICKET_NUMBER, r->sr_ticket_number, 1);
	print_integer(SR_PRICING_QUANTITY, r->sr_pricing.quantity, 1);
	print_decimal(SR_PRICING_NET_PAID, &r->sr_pricing.net_paid, 1);
	print_decimal(SR_PRICING_EXT_TAX, &r->sr_pricing.ext_tax, 1);
	print_decimal(SR_PRICING_NET_PAID_INC_TAX, &r->sr_pricing.net_paid_inc_tax, 1);
	print_decimal(SR_PRICING_FEE, &r->sr_pricing.fee, 1);
	print_decimal(SR_PRICING_EXT_SHIP_COST, &r->sr_pricing.ext_ship_cost, 1);
	print_decimal(SR_PRICING_REFUNDED_CASH, &r->sr_pricing.refunded_cash, 1);
	print_decimal(SR_PRICING_REVERSED_CHARGE, &r->sr_pricing.reversed_charge, 1);
	print_decimal(SR_PRICING_STORE_CREDIT, &r->sr_pricing.store_credit, 1);
	print_decimal(SR_PRICING_NET_LOSS, &r->sr_pricing.net_loss, 0);
	print_end(STORE_RETURNS);
	
	return(0);
}
开发者ID:LH-Datarocks,项目名称:tpcds-kit,代码行数:49,代码来源:w_store_returns.c


示例4: poll_events

static int poll_events(void)
{
  gx_event ev;

  while (gx_poll(&ev)) {
    switch (ev.type) {
    case GX_ev_quit:
      return 1;
    case GX_ev_keydown:
      print_key(ev.key, 1);
      if (ev.key == GX_key_esc)
        return 1;
      else if (ev.key == 'f') {
        limitfps ^= 1;
        printf("limitfps: %d\n", limitfps);
      } else if (ev.key == 'm') {
        pmouse ^= 1;
        printf("pmouse: %d\n", pmouse);
      }
      break;
    case GX_ev_keyup:
      print_key(ev.key, 0);
      break;
    case GX_ev_keychar:
      print_char(ev.key);
      break;
    case GX_ev_mouse:
      if (pmouse)
        printf("mouse: %3d,%3d\n", (int)(ev.mx*XRES), (int)(ev.my*YRES));
      break;
    }
  }
  return 0;
}
开发者ID:jalona,项目名称:gx,代码行数:34,代码来源:demo.c


示例5: keyboard_routine

// keyboard service routine
void keyboard_routine(void) {
  struct list_head *e;
  struct task_struct *t;
  unsigned char c = inb(0x60);
  if ((c & 0x80) == 0) { // make
    char aux = char_map[c&0x7F];
    if (aux != '\0') {
        print_key(aux);
        add_key(aux);
        if (threads_waiting()) {
          //sys_write(1,"esperant",8);
          e = list_first(&key_buffer.keyboardqueue);
          t = list_head_to_task_struct(e);
          if (can_read(t->num_chars_to_read)) {
            sys_write(1,"llegim",6);
            list_del(e);
            list_add_tail(e, &readyqueue);
          }
        }
        //char b[1];
        //itoa(current()->num_chars_to_read,b);
        //sys_write(1,b,1);
        //print_buffer(6);
    }
    else {
      print_key('C');
    }
  }
  else { // break 
    // do nothing
  }
}
开发者ID:BugMan42,项目名称:Zeos,代码行数:33,代码来源:interrupt.c


示例6: pr_w_customer

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_w_customer(void *row)
{
	struct W_CUSTOMER_TBL *r;

	if (row == NULL)
		r = &g_w_customer;
	else
		r = row;

	print_start(CUSTOMER);
	print_key(C_CUSTOMER_SK, r->c_customer_sk, 1);
	print_varchar(C_CUSTOMER_ID, r->c_customer_id, 1);
	print_key(C_CURRENT_CDEMO_SK, r->c_current_cdemo_sk, 1);
	print_key(C_CURRENT_HDEMO_SK, r->c_current_hdemo_sk, 1);
	print_key(C_CURRENT_ADDR_SK, r->c_current_addr_sk, 1);
	print_integer(C_FIRST_SHIPTO_DATE_ID, r->c_first_shipto_date_id, 1);
	print_integer(C_FIRST_SALES_DATE_ID, r->c_first_sales_date_id, 1);
	print_varchar(C_SALUTATION, r->c_salutation, 1);
	print_varchar(C_FIRST_NAME, r->c_first_name, 1);
	print_varchar(C_LAST_NAME, r->c_last_name, 1);
	print_boolean(C_PREFERRED_CUST_FLAG, r->c_preferred_cust_flag, 1);
	print_integer(C_BIRTH_DAY, r->c_birth_day, 1);
	print_integer(C_BIRTH_MONTH, r->c_birth_month, 1);
	print_integer(C_BIRTH_YEAR, r->c_birth_year, 1);
	print_varchar(C_BIRTH_COUNTRY, r->c_birth_country, 1);
	print_varchar(C_LOGIN, &r->c_login[0], 1);
	print_varchar(C_EMAIL_ADDRESS, &r->c_email_address[0], 1);
	print_integer(C_LAST_REVIEW_DATE, r->c_last_review_date, 0);
	print_end(CUSTOMER);

	return(0);
}
开发者ID:Pivotal-Field-Engineering,项目名称:tpcds-dev,代码行数:47,代码来源:w_customer.c


示例7: ls_recv_playok

void ls_recv_playok(unsigned char *raw, unsigned char *sessionkey_p1, unsigned char *sessionkey_p2)
{	
	printf("[!] Проверка возможности подключения успешно произведена! \n");
	memcpy(sessionkey_p1,raw+3,4);
	memcpy(sessionkey_p2,raw+7,4);
	printf("[!] Задан SessionKey2: ");
	print_key(sessionkey_p1,4);
	print_key(sessionkey_p2,4);
	printf("\n");
}
开发者ID:proton,项目名称:alaistair,代码行数:10,代码来源:recv_ls.c


示例8: ls_recv_logok

void ls_recv_logok(unsigned char* raw, unsigned char* sessionkey_p1, unsigned char* sessionkey_p2)
{
	printf("[!] Авторизация на логин-сервере успешно произведена!\n");
	memcpy(sessionkey_p1,raw+3,4);
	memcpy(sessionkey_p2,raw+7,4);
	printf("[!] Задан SessionKey1: ");	
	print_key(sessionkey_p1,4);
	print_key(sessionkey_p2,4);
	printf("\n");
}
开发者ID:proton,项目名称:alaistair,代码行数:10,代码来源:recv_ls.c


示例9: XDisplayKeycodes

bool x11_hotkeys::grab_keys(Display *dpy, Keys_t keys[], int nb_keys)
{
  int i;
  int min, max;
  int screen;
  

  XDisplayKeycodes(dpy, &min, &max);

#ifdef DEBUG  
  printf("\n");
  printf("min_keycode=%d     max_keycode=%d (ie: know keycodes)\n", 
	 min, max);
#endif  


  for (i = 0; i < nb_keys; i++) {
#ifdef DEBUG
    print_key(dpy, &keys[i]);
#endif
    if (keys[i].type == SYM) {
      for (screen = 0; screen < ScreenCount (dpy); screen++) {
				my_grab_key(dpy, XKeysymToKeycode(dpy, keys[i].key.sym),
										keys[i].modifier, RootWindow(dpy, screen));
      }
    } else if (keys[i].type == BUTTON) {
      for (screen = 0; screen < ScreenCount (dpy); screen++) {
	my_grab_button(dpy, keys[i].key.button, keys[i].modifier,
		       RootWindow (dpy, screen));
      }
    } else {
      if (keys[i].key.code >= min && keys[i].key.code <= max) {
	for (screen = 0; screen < ScreenCount (dpy); screen++) {
	  my_grab_key (dpy, keys[i].key.code, keys[i].modifier,
		       RootWindow (dpy, screen));
	}
      } else {
#ifdef DEBUG	
	print_key (dpy, &keys[i]);


	fprintf (stderr,
		 "  The keycode %d cannot be used, as it's not between the\n"
		 "  min(%d) and max(%d) keycode of your keyboard.\n"
		 "  Please increase the 'maximum' value in\n"
		 "    /usr/X11R6/lib/X11/xkb/keycodes/xfree86,\n"
		 "  then restart X.\n", keys[i].key.code, min, max);	
#endif	
	return false;
      }
    }
  }

  return true;
}
开发者ID:czchen,项目名称:debian-stardict,代码行数:55,代码来源:x11_iskeyspressed.cpp


示例10: main

int main(int argc, char *argv[]) {
	gcry_mpi_t g,p,M,N,pw,t1,t2;
	size_t scanned;
	int iterations, keySize;

	g = gcry_mpi_new(0);
	p = gcry_mpi_new(0);
	M = gcry_mpi_new(0);
	N = gcry_mpi_new(0);
	pw = gcry_mpi_new(0);
	t1 = gcry_mpi_new(0);
	t2 = gcry_mpi_new(0);

	/* MODP_2048 */
	const char* pString = "00FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF";
	const char* gString = "2";

	/* password */
	const char* pwd = "My$Very=Secure;Password";
	const char* salt = "abcdefghijklmno";
	iterations = 1000;
	keySize = 32;	
	
	/* read p and g */
	gcry_mpi_scan(&g, GCRYMPI_FMT_HEX, gString, 0, &scanned);
	gcry_mpi_scan(&p, GCRYMPI_FMT_HEX, pString, 0, &scanned);

	/* hash password */
	char* result = calloc(keySize, sizeof(char));
	gcry_kdf_derive(pwd, strlen(pwd), GCRY_KDF_PBKDF2, GCRY_MD_SHA256, salt, strlen(salt), iterations, keySize, result);
	gcry_mpi_scan(&pw, GCRYMPI_FMT_STD, result, strlen((const char*)result), &scanned);

	/* create M and N */
	gen_rand(t1, p);
	gen_rand(t2, p);
	gcry_mpi_powm(M, g, t1, p);
	gcry_mpi_powm(N, g, t2, p);

	/* run test ... */
	struct spake_session client = spake_init(0, g, p, M, N, pw, keySize); /* client */
	struct spake_session server = spake_init(1, g, p, M, N, pw, keySize); /* server */

	spake_next(&client, server.X);
	spake_next(&server, client.X);

	print_key(client.k, keySize, "k1");
	print_key(server.k, keySize, "k2");

	if (strncmp(client.k, server.k, keySize) == 0)
		printf("Successful SPAKE session :)\n");
	else
		printf("Sorry, error in SPAKE session :(\n");
	
	return 0;
}
开发者ID:franziskuskiefer,项目名称:Examples,代码行数:55,代码来源:test.c


示例11: decrypt_password

static void decrypt_password(uint8_t *encryptkey, uint8_t *IV, uint8_t *integrity){
	char password[128];

	ask_password(password, sizeof(password));
#ifdef CRYPTO_DEBUG
	print_key("encrypt_salt",descriptor.encryption_salt, sizeof(descriptor.encryption_salt));
	print_key("password salt", descriptor.password_salt, sizeof(descriptor.password_salt));
#endif
	compute_session_keys_password(
			password, descriptor.hash_loops,
			encryptkey, IV, integrity,
			descriptor.encryption_salt,
			descriptor.password_salt);
	ZERO(password);
}
开发者ID:TrustifierLabs,项目名称:midgetpack,代码行数:15,代码来源:pack_common.c


示例12: pr_s_item

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_s_item(void *pSrc)
{
	struct W_ITEM_TBL *r;

	if (pSrc == NULL)
		r = &g_w_item;
	else
		r = pSrc;
	
	print_start(S_ITEM);
	print_varchar(S_ITEM_ID, r->i_item_id, 1);
	print_varchar(S_ITEM_DESC, r->i_item_desc, 1);
	print_decimal(S_ITEM_LIST_PRICE, &r->i_current_price, 1);
	print_decimal(S_ITEM_WHOLESALE_COST, &r->i_wholesale_cost, 1);
	print_varchar(S_ITEM_SIZE, r->i_size, 1);
	print_varchar(S_ITEM_FORMULATION, r->i_formulation, 1);
	print_varchar(S_ITEM_FLAVOR, r->i_color, 1);
	print_varchar(S_ITEM_UNITS, r->i_units, 1);
	print_varchar(S_ITEM_CONTAINER, r->i_container, 1);
	print_key(S_ITEM_MANAGER_ID, r->i_manager_id, 0);
	print_end(S_ITEM);
	
	return(0);
}
开发者ID:Pivotal-Field-Engineering,项目名称:tpcds-dev,代码行数:39,代码来源:s_item.c


示例13: pr_s_web_return

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_s_web_return(void *pSrc)
{
	struct S_WEB_RETURNS_TBL *r;
	
	if (pSrc == NULL)
		r = &g_s_web_returns;
	else
		r = pSrc;
	
	print_start(S_WEB_RETURNS);
	print_id(S_WRET_SITE_ID, r->kSiteID, 1);
	print_key(S_WRET_ORDER_ID,r->kOrderID, 1);
	print_integer(S_WRET_LINE_NUMBER, r->nLineNumber, 1);
	print_id(S_WRET_ITEM_ID, r->kItemID, 1);
	print_id(S_WRET_RETURN_CUST_ID, r->kReturningCustomerID, 1);
	print_id(S_WRET_REFUND_CUST_ID,r->kRefundedCustomerID, 1);
	print_date(S_WRET_RETURN_DATE, r->dtReturnDate.julian, 1);
	print_time(S_WRET_RETURN_TIME, r->kReturnTime, 1);
	print_integer(S_WRET_PRICING, r->Pricing.quantity, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.ext_sales_price, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.ext_tax, 1);
   print_decimal(S_WRET_PRICING, &r->Pricing.fee, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.ext_ship_cost, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.refunded_cash, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.reversed_charge, 1);
	print_decimal(S_WRET_PRICING, &r->Pricing.store_credit, 1);
   print_id(S_WRET_REASON_ID, r->kReasonID, 0);
	print_end(S_WEB_RETURNS);
	
	return(0);
}
开发者ID:Pivotal-Field-Engineering,项目名称:tpcds-dev,代码行数:46,代码来源:s_web_returns.c


示例14: print_class

void
print_class(const struct tesla_class *c)
{
	static const char *DEBUG_NAME = "libtesla.class.state";
	if (!tesla_debugging(DEBUG_NAME))
		return;

	print("----\n");
	print("struct tesla_class @ 0x%tx {\n", (intptr_t) c);
	print("  name:         '%s',\n", c->tc_automaton->ta_name);
	print("  description:  '[...]',\n");   // TL;DR
	print("  scope:        ");
	switch (c->tc_context) {
		case TESLA_CONTEXT_THREAD:  print("thread-local\n"); break;
		case TESLA_CONTEXT_GLOBAL:  print("global\n");       break;
		default:
			print("UNKNOWN (0x%x)\n", c->tc_context);
	}
	print("  limit:        %d\n", c->tc_limit);
	print("  %d/%d instances\n", c->tc_limit - c->tc_free, c->tc_limit);
	for (uint32_t i = 0; i < c->tc_limit; i++) {
		const struct tesla_instance *inst = c->tc_instances + i;
		if (!tesla_instance_active(inst))
			continue;

		print("    %2u: state %d, ", i, inst->ti_state);
		print_key(DEBUG_NAME, &inst->ti_key);
		print("\n");
	}
	print("}\n");
	print("----\n");
}
开发者ID:CTSRD-TESLA,项目名称:TESLA,代码行数:32,代码来源:tesla_debug.c


示例15: pr_s_purchase

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_s_purchase(void *pSrc)
{
	struct S_PURCHASE_TBL *r;
   char szKey[RS_BKEY + 1];

   if (pSrc == NULL)
		r = &g_s_purchase;
	else
		r = pSrc;
	
	print_start(S_PURCHASE);
	print_key(S_PURCHASE_ID, r->kID, 1);
   mk_bkey(szKey, r->kID, 0);
   mk_bkey(szKey, r->kStoreID, 0);
	print_varchar(S_PURCHASE_STORE_ID, szKey, 1);
   mk_bkey(szKey, r->kCustomerID, 0);
	print_varchar(S_PURCHASE_CUSTOMER_ID, szKey, 1);
	print_date(S_PURCHASE_DATE, r->dtPurchaseDate.julian, 1);
	print_integer(S_PURCHASE_TIME, r->nPurchaseTime, 1);
	print_integer(S_PURCHASE_REGISTER, r->nRegister, 1);
	print_integer(S_PURCHASE_CLERK, r->nClerk, 1);
	print_varchar(S_PURCHASE_COMMENT, r->szComment, 0);
	print_end(S_PURCHASE);

	return(0);
}
开发者ID:Pivotal-Field-Engineering,项目名称:tpcds-dev,代码行数:41,代码来源:s_purchase.c


示例16: main

int main(int argc, char *argv[])
{
    if (argc < 2) {
        printf("usage: ./cracker public_key(or beginning of one in hex format)\n");
        return 0;
    }

    long long unsigned int num_tries = 0;

    uint32_t len = strlen(argv[1]) / 2;
    unsigned char *key = hex_string_to_bin(argv[1]);
    uint8_t pub_key[32], priv_key[32], c_key[32];

    if (len > 32) {
        len = 32;
    }

    memcpy(c_key, key, len);
    free(key);
    randombytes(priv_key, 32);

    while (1) {
        crypto_scalarmult_curve25519_base(pub_key, priv_key);
        uint32_t i;

        if (memcmp(c_key, pub_key, len) == 0) {
            break;
        }

        for (i = 32; i != 0; --i) {
            priv_key[i - 1] += 1;

            if (priv_key[i - 1] != 0) {
                break;
            }
        }

        ++num_tries;
    }

    printf("Public key:\n");
    print_key(pub_key);
    printf("\nPrivate key:\n");
    print_key(priv_key);
    printf("\n %llu keys tried\n", num_tries);
    return 0;
}
开发者ID:GrayHatter,项目名称:toxcore,代码行数:47,代码来源:cracker.c


示例17: main

/* Entry point */
int main (int argc, char *argv[])
{
    /* Initialize SDL subsystems - in this case, only video. */
    if (SDL_Init (SDL_INIT_VIDEO) < 0) {
        fprintf (stderr, "Unable to init SDL: %s\n", SDL_GetError ());
        exit (1);
    }
    /* Register SDL_Quit to be called at exit;
     * makes sure things are cleaned up when we quit. */
    atexit (SDL_Quit);

    /* Attempt to create a 640x480 window with 32 bit pixels. */
    screen = SDL_SetVideoMode (640, 480, 32, SDL_SWSURFACE);

    /* If we fail, return error. */
    if (screen == NULL) {
        fprintf (stderr, "Unable to set 640x480 video: %s\n", SDL_GetError ());
        exit (1);
    }
    /* Main loop: loop forever. */
    while (1) {
        /* Render stuff */
        render ();

        /* Poll for events, and handle the ones we care about. */
        SDL_Event event;
        while (SDL_PollEvent (&event)) {
            switch (event.type) {
            case SDL_KEYDOWN:
                print_key (&event);
                break;

            case SDL_KEYUP:
                print_key (&event);

                /* If escape is pressed, return (and thus, quit) */
                if (event.key.keysym.sym == SDLK_ESCAPE)
                    return 0;
                break;

            case SDL_QUIT:
                return (0);
            }
        }
    }
    return 0;
}
开发者ID:zhandb,项目名称:vak-opensource,代码行数:48,代码来源:example.c


示例18: add_keys_from_file

bool add_keys_from_file(const char *key_file)
{
    int size;
    FILE *fd = fopen(key_file, "r");
    if(fd == NULL)
    {
        if(g_debug)
            perror("cannot open key file");
        return false;
    }
    fseek(fd, 0, SEEK_END);
    size = ftell(fd);
    fseek(fd, 0, SEEK_SET);
    char *buf = xmalloc(size + 1);
    if(fread(buf, 1, size, fd) != (size_t)size)
    {
        if(g_debug)
            perror("Cannot read key file");
        fclose(fd);
        return false;
    }
    buf[size] = 0;
    fclose(fd);

    if(g_debug)
        printf("Parsing key file '%s'...\n", key_file);
    char *p = buf;
    while(1)
    {
        struct crypto_key_t k;
        /* parse key */
        if(!parse_key(&p, &k))
        {
            if(g_debug)
                printf("invalid key file\n");
            return false;
        }
        if(g_debug)
        {
            printf("Add key: ");
            print_key(&k, true);
        }
        add_keys(&k, 1);
        /* request at least one space character before next key, or end of file */
        if(*p != 0 && !isspace(*p))
        {
            if(g_debug)
                printf("invalid key file\n");
            return false;
        }
        /* skip whitespace */
        while(isspace(*p))
            p++;
        if(*p == 0)
            break;
    }
    free(buf);
    return true;
}
开发者ID:4nykey,项目名称:rockbox,代码行数:59,代码来源:misc.c


示例19: pr_s_division

/*
* Routine: 
* Purpose: 
* Algorithm:
* Data Structures:
*
* Params:
* Returns:
* Called By: 
* Calls: 
* Assumptions:
* Side Effects:
* TODO: None
*/
int
pr_s_division(void *pSrc)
{
	struct S_DIVISION_TBL *r;
	
	if (pSrc == NULL)
		r = &g_s_division;
	else
		r = pSrc;
	
	print_start(S_DIVISION);
	print_key(S_DIVISION_ID, r->id, 1);
	print_varchar(S_DIVISION_NAME, r->name, 1);
	print_key(S_DIVISION_COMPANY, r->company, 1);
	print_end(S_DIVISION);
	
	return(0);
}
开发者ID:LH-Datarocks,项目名称:tpcds-kit,代码行数:32,代码来源:s_division.c


示例20: print_keydata

/*
 * Display all key data.
 */
static void
print_keydata(kdbe_key_t *keys, unsigned int len)
{
    unsigned int i;

    for (i = 0; i < len; i++, keys++) {
        print_key(keys);
    }
}
开发者ID:Brainiarc7,项目名称:pbis,代码行数:12,代码来源:kproplog.c



注:本文中的print_key函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ print_list函数代码示例发布时间:2022-05-30
下一篇:
C++ print_ip函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap