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

C++ buffer_get函数代码示例

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

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



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

示例1: main

int main(void)
{
  struct taia taia;
  char stamp[TAIA_TAI64N + 1];
  char ch;

  stamp[0] = '@';
  for (;;) {
    if (buffer_get(buffer0, &ch, 1) != 1) { done(); goto FINISH; }
    taia_now(&taia);
    taia_tai64n(stamp + 1, &taia);

    stamp[sizeof(stamp) - 1] = ' ';
    buffer_put(buffer1, stamp, sizeof(stamp));

    for (;;) {
      buffer_put(buffer1, &ch, 1);
      if (ch == '\n') break;
      if (buffer_get(buffer0, &ch, 1) != 1) { done(); goto FINISH; }
    }
  }

  FINISH:
  return 0;
}
开发者ID:io7m,项目名称:coreland-chrono,代码行数:25,代码来源:tai64n.c


示例2: parse_header_content_length

/**
 * Parses a Content-Length header value.
 */
int parse_header_content_length(struct parser *p) {
    char c, *buffer;
    int i, m, r;

    if (ready(p) < 3)
        return PARSING_WAIT;
    c = buffer_get(&(p->buffer), p->mark);

    for (m = 1; isdigit(c) || c == ' ' || c == '\t'; m++) {
        if (ready(p) < 3 + m)
            return PARSING_WAIT;
        c = buffer_get(&(p->buffer), p->mark + m);
    }

    buffer = buffer_copy(&(p->buffer), p->mark, m - 1);
    if (buffer == NULL) {
        p->error = E_MEMORY;
        return PARSING_ERROR;
    }
    advance_mark(p, m - 1);

    r = parse_constant(p, CRLF, 2);
    if (r != PARSING_DONE) {
        free(buffer);
        return r;
    }

    errno = 0;
    p->request.content_length = strtol(buffer, NULL, 10);
    free(buffer);
    return (errno == 0) ? PARSING_DONE : PARSING_ERROR;
}
开发者ID:ricardo-kagawa,项目名称:hello-server,代码行数:35,代码来源:parser.c


示例3: main

main()
{
  int pid;
  int wstat;
  char ch;

  sig_ignore(sig_pipe);

  pid = fork();
  if (pid == -1) strerr_die2sys(111,"mconnect-io: fatal: ","unable to fork: ");

  if (!pid) {
    buffer_init(&bin,myread,0,inbuf,sizeof inbuf);
    buffer_init(&bout,write,7,outbuf,sizeof outbuf);

    while (buffer_get(&bin,&ch,1) == 1) {
      if (ch == '\n') buffer_put(&bout,"\r",1);
      buffer_put(&bout,&ch,1);
    }
    _exit(0);
  }

  buffer_init(&bin,myread,6,inbuf,sizeof inbuf);
  buffer_init(&bout,write,1,outbuf,sizeof outbuf);

  while (buffer_get(&bin,&ch,1) == 1)
    buffer_put(&bout,&ch,1);

  kill(pid,sig_term);
  wait_pid(&wstat,pid);

  _exit(0);
}
开发者ID:KodeKreatif,项目名称:ucspi-tcp,代码行数:33,代码来源:mconnect-io.c


示例4: trace_free

static int
trace_free (void *buf)
{
  uintptr_t ptr = buffer_get(uintptr_t);
  uintptr_t caller = buffer_get(uintptr_t);
  unsigned long long time = buffer_get(unsigned long long);

  int res = memory_free(ptr, caller, time);
  assert_inner(!res, "memory_free");

  return 0;
}
开发者ID:stefanbeller,项目名称:graprof,代码行数:12,代码来源:trace.c


示例5: trace_enter

static int
trace_enter (void *buf)
{
  uintptr_t func = buffer_get(uintptr_t);
  uintptr_t caller = buffer_get(uintptr_t);
  unsigned long long time = buffer_get(unsigned long long);

  int res = function_enter(func, caller, time);
  assert_inner(!res, "function_enter");

  return 0;
}
开发者ID:stefanbeller,项目名称:graprof,代码行数:12,代码来源:trace.c


示例6: trace_malloc

static int
trace_malloc (void *buf)
{
  size_t size = buffer_get(size_t);
  uintptr_t caller = buffer_get(uintptr_t);
  uintptr_t result = buffer_get(uintptr_t);
  unsigned long long time = buffer_get(unsigned long long);

  int res = memory_malloc(size, caller, result, time);
  assert_inner(!res, "memory_malloc");

  return 0;
}
开发者ID:stefanbeller,项目名称:graprof,代码行数:13,代码来源:trace.c


示例7: CAN_start_transmission_internal

void CAN_start_transmission_internal(volatile can_stream_data_t* data) {
	int i=0;
	
	while ((buffer_bytes_available((buffer_t*)&data->byte_buffer)>0) && i<8) {
		data->can_msg.data.u8[i]=buffer_get((buffer_t*)&data->byte_buffer);
		i++;
	}
	if (i==0) { // nothing left to transmit
		data->transmission_active=false;
		return;
	}
	/*
	if (data->can_channel==0) {
		can_bus_init(data->can_channel, ((uint32_t)&mob_ram_ch0[0]), CANIF_CHANNEL_MODE_NORMAL, can_callback0);
	} else {
		can_bus_init(data->can_channel, ((uint32_t)&mob_ram_ch1[0]), CANIF_CHANNEL_MODE_NORMAL, can_callback1);
	}
	*/
	data->can_mob.handle=CAN_TX_MOB;
	data->can_mob.dlc=i;
	data->can_msg.id=data->id;
	data->can_msg.id_mask = data->id_mask;
	data->can_mob.req_type=CAN_DATA_FRAME;
	data->transmission_active=true;
	can_bus_tx(data->can_channel,
	       data->can_mob.handle,
	       data->can_mob.dlc,
	       data->can_mob.req_type,
	       data->can_mob.can_msg);
}
开发者ID:fschill,项目名称:MavBoot,代码行数:30,代码来源:can_bus.c


示例8: mkinvalid_secret

void mkinvalid_secret(PCPCTX *ptx, pcp_key_t *k, int type) {
  pcp_key_t *key = ucmalloc(sizeof(pcp_key_t));
  memcpy(key, k, sizeof(pcp_key_t));
  FILE *fd = NULL;

    fprintf(stderr, "fd test %d\n", type);

  switch(type) {
  case 0:
    key->version = 0;
    fd = F("testkey-wrong-version");
    break;
  case 1:
    key->serial = 0;
    fd = F("testkey-wrong-serial");
    break;
  case 2:
    key->ctime = 0;
    fd = F("testkey-invalid-ctime");
    break;
  }

  if(fd != NULL) {
    pcp_dumpkey(key);
    Buffer *b = pcp_export_secret(ptx, key, "xxx");
    fwrite(buffer_get(b), 1, buffer_size(b), fd);
    fclose(fd);
  }
  else {
    fprintf(stderr, "fd not opened for test %d\n", type);
  }

  free(key);
}
开发者ID:TLINDEN,项目名称:pcp,代码行数:34,代码来源:invalidkeys.c


示例9: mkinvalid_public

void mkinvalid_public(PCPCTX *ptx, pcp_key_t *k, int type) {
  pcp_key_t *key = ucmalloc(sizeof(pcp_key_t));
  memcpy(key, k, sizeof(pcp_key_t));
  FILE *fd = NULL;

  switch(type) {
  case 0:
    key->type = 0;
    fd = F("testpubkey-wrong-type");
    break;
  case 1:
    key->version = 0;
    fd = F("testpubkey-wrong-version");
    break;
  case 2:
    key->serial = 0;
    fd = F("testpubkey-wrong-serial");
    break;
  case 3:
    key->ctime = 0;
    fd = F("testpubkey-invalid-ctime");
    break;
  }

  if(fd != NULL) {
    Buffer *b = pcp_export_rfc_pub(ptx, key);
    fwrite(buffer_get(b), 1, buffer_size(b), fd);
    fclose(fd);
  }

  free(key);
}
开发者ID:TLINDEN,项目名称:pcp,代码行数:32,代码来源:invalidkeys.c


示例10: DEBUG

/* Find section header based on ignored section name */
static Elf64_Shdr *find_ignored_section_header(struct parsed_elf *pelf,
					       const char *ignore_section)
{
	int i;
	const char *shstrtab;

	/* No section needs to be ignored */
	if (ignore_section == NULL)
		return NULL;

	DEBUG("Section to be ignored: %s\n", ignore_section);

	/* Get pointer to string table */
	shstrtab = buffer_get(pelf->strtabs[pelf->ehdr.e_shstrndx]);

	for (i = 0; i < pelf->ehdr.e_shnum; i++) {
		Elf64_Shdr *shdr;
		const char *section_name;

		shdr = &pelf->shdr[i];
		section_name = &shstrtab[shdr->sh_name];

		/* If section name matches ignored string, return shdr */
		if (strcmp(section_name, ignore_section) == 0)
			return shdr;
	}

	/* No section matches ignore string */
	return NULL;
}
开发者ID:sinetek,项目名称:coreboot-peppy,代码行数:31,代码来源:cbfs-mkstage.c


示例11: consumer_operation

static void* consumer_operation()
{
	set_signal_mask();
	while(status_on)
	{	
	 	if(pthread_mutex_lock(&buffer_lock_mtx)!=0)
			print_log(WARNING,"\nthere is error in lock cons");
		
		while(is_buffer_empty())
		{	
			if(pthread_cond_wait(&buffer_not_empty_cond,&buffer_lock_mtx)!=0)
				print_log(WARNING,"\nthere is error in wait cons");
		}	

		int peer_sfd = buffer_get();

		if(peer_sfd < 0) 
		{
			print_log(WARNING,"\nRECIEVED FAILED ACCEPT SOCKET");
			pthread_mutex_unlock(&buffer_lock_mtx)!=0;
			continue;
		}

		if(pthread_cond_broadcast(&buffer_not_full_cond)!=0)
			print_log(WARNING,"\nthere is error in broadcast cons");
		if(pthread_mutex_unlock(&buffer_lock_mtx)!=0)
			print_log(WARNING,"\nthere is error in unlock cons");

		manage_single_request(peer_sfd);
		close(peer_sfd);
	}
	pthread_exit(pthread_self);
}
开发者ID:SylvanHuang,项目名称:Http-Server,代码行数:33,代码来源:server.c


示例12: doit

void doit()
{
  char ch;
  int match = 1;
  long linenum = 0;
  stralloc fifoline = { 0 };

  linenum = 0;

  /* try duming data in 23 seconds */
  alarm(dumpfreq);

  buffer_putsflush(buffer_2, ARGV0 "entering main loop\n");

  /* forever read from pipe line by line and handle it */
  while(1)
    {
      while(match) 
	{
	  if(flagdumpasap == 1) 
	    dumpcheck(flagdumpasap, flagchanged, flagchildrunning, flagsighup);

	  ++linenum;
	  if(buffer_get(&wr, &ch, 1) == 1)
	    {
	      if(getln(&wr, &fifoline, &match, '\n') == -1)
		continue;
	      buffer_put(buffer_2, &ch, 1);
	      buffer_putflush(buffer_2, fifoline.s, fifoline.len);
	      handle_line(&fifoline, ch);
	    }
	}
    }
}
开发者ID:mdornseif,项目名称:ddns,代码行数:34,代码来源:ddns-snapd.c


示例13: parse_header_value

/**
 * Parses a header value. Deprecated header line folding is not supported.
 */
int parse_header_value(struct parser *p) {
    char c;

    if (ready(p) < 3)
        return PARSING_WAIT;
    c = buffer_get(&(p->buffer), p->mark);

    while (isgraph(c) || c == ' ' || c == '\t') {
        advance_mark(p, 1);
        if (ready(p) < 3)
            return PARSING_WAIT;
        c = buffer_get(&(p->buffer), p->mark);
    }

    return parse_constant(p, CRLF, 2);
}
开发者ID:ricardo-kagawa,项目名称:hello-server,代码行数:19,代码来源:parser.c


示例14: packet_hmac_verify

/**
 * @internal
 *
 * @brief Verify the hmac of a packet
 *
 * @param  session      The session to use.
 * @param  buffer       The buffer to verify the hmac from.
 * @param  mac          The mac to compare with the hmac.
 *
 * @return              0 if hmac and mac are equal, < 0 if not or an error
 *                      occured.
 */
int packet_hmac_verify(SSH_SESSION *session, BUFFER *buffer,
    unsigned char *mac) {
  unsigned char hmacbuf[EVP_MAX_MD_SIZE] = {0};
  HMACCTX ctx;
  unsigned int len;
  u32 seq;

  ctx = hmac_init(session->current_crypto->decryptMAC, 20, HMAC_SHA1);
  if (ctx == NULL) {
    return -1;
  }

  seq = htonl(session->recv_seq);

  hmac_update(ctx, (unsigned char *) &seq, sizeof(u32));
  hmac_update(ctx, buffer_get(buffer), buffer_get_len(buffer));
  hmac_final(ctx, hmacbuf, &len);

#ifdef DEBUG_CRYPTO
  ssh_print_hexa("received mac",mac,len);
  ssh_print_hexa("Computed mac",hmacbuf,len);
  ssh_print_hexa("seq",(unsigned char *)&seq,sizeof(u32));
#endif
  if (memcmp(mac, hmacbuf, len) == 0) {
    return 0;
  }

  return -1;
}
开发者ID:BackupTheBerlios,项目名称:libssh-svn,代码行数:41,代码来源:crypt.c


示例15: next

static int next (unsigned char *c, void *p)
{
  register int r = buffer_get((buffer *)p, (char *)c, 1) ;
  if (r < 0) return 0 ;
  if (!r) *c = 0 ;
  return 1 ;
}
开发者ID:bitgaming,项目名称:execline,代码行数:7,代码来源:el_parse_from_buffer.c


示例16: buffer_new

/* this is a public key in openssh's format */
static STRING *make_rsa1_string(STRING *e, STRING *n){
  BUFFER *buffer = NULL;
  STRING *rsa = NULL;
  STRING *ret = NULL;

  buffer = buffer_new();
  rsa = string_from_char("ssh-rsa1");

  if (buffer_add_ssh_string(buffer, rsa) < 0) {
    goto error;
  }
  if (buffer_add_ssh_string(buffer, e) < 0) {
    goto error;
  }
  if (buffer_add_ssh_string(buffer, n) < 0) {
    goto error;
  }

  ret = string_new(buffer_get_len(buffer));
  if (ret == NULL) {
    goto error;
  }

  string_fill(ret, buffer_get(buffer), buffer_get_len(buffer));
error:
  buffer_free(buffer);
  string_free(rsa);

  return ret;
}
开发者ID:BackupTheBerlios,项目名称:libssh-svn,代码行数:31,代码来源:kex.c


示例17: ao_init_device

static void *ihy_playing(void *data)
{
    /* contains uncompressed data, (ihy_buffer_content *) */
    t_buffer buffer = ((struct ihy_streaming_data *)data)->buffer;
    ihy_data *ihy = ((struct ihy_streaming_data *)data)->ihy;
    ao_device *audio_device;
    struct ihy_buffer_content *to_play;

    audio_device = ao_init_device(16, ihy->Channels, ihy->Frequency);

    /* we need to ensure that the other thread has added,
     * at least, 1 element
     */
    while (buffer_isempty(buffer))
	usleep(50000);
    while (!buffer_isempty(buffer))
    {
	to_play = buffer_get(buffer);
	ao_play_samples(audio_device, to_play->samples, to_play->samplesSize);
	free(to_play->samples);
	free(to_play); /* hum quite dangerous */
    }
    ao_close_device(audio_device);
    return NULL;
}
开发者ID:Rip-Rip,项目名称:ihy,代码行数:25,代码来源:ihy_streaming.c


示例18: main

int main(void)
{
	clock_setup();
	gpio_setup();
	usart_setup();
	spi_setup();
	buffer_init(send_buffer,BUFFER_SIZE);
	buffer_init(receive_buffer,BUFFER_SIZE);
	usart_enable_tx_interrupt(USART1);

/* Send a greeting message on USART1. */
	usart_print_string("SD Card SPI Mode Test\r\n");

	while (1)
	{
/* Command interface */
        if (buffer_input_available(receive_buffer))
        {
            char character = buffer_get(receive_buffer);
            if (character == 0x0D)
            {
                line[characterPosition] = 0;
                characterPosition = 0;
                parseCommand(line);
            }
            else line[characterPosition++] = character;
        }
	}

	return 0;
}
开发者ID:JamesLinus,项目名称:ARM-Ports,代码行数:31,代码来源:test-sd-card-spi.c


示例19: doit

static int doit(stralloc *out,int s,char ipremote[16],uint16 portremote,char iplocal[16],uint16 portlocal,unsigned int timeout,uint32 netif)
{
  buffer b;
  char bspace[128];
  char strnum[FMT_ULONG];
  int numcolons;
  char ch;

  if (socket_bind6(s,iplocal,0,netif) == -1) return -1;
  if (timeoutconn6(s,ipremote,113,timeout,netif) == -1) return -1;

  buffer_init(&b,mywrite,s,bspace,sizeof bspace);
  buffer_put(&b,strnum,fmt_ulong(strnum,portremote));
  buffer_put(&b," , ",3);
  buffer_put(&b,strnum,fmt_ulong(strnum,portlocal));
  buffer_put(&b,"\r\n",2);
  if (buffer_flush(&b) == -1) return -1;

  buffer_init(&b,myread,s,bspace,sizeof bspace);
  numcolons = 0;
  for (;;) {
    if (buffer_get(&b,&ch,1) != 1) return -1;
    if ((ch == ' ') || (ch == '\t') || (ch == '\r')) continue;
    if (ch == '\n') return 0;
    if (numcolons < 3) {
      if (ch == ':') ++numcolons;
    }
    else {
      if (!stralloc_append(out,&ch)) return -1;
      if (out->len > 256) return 0;
    }
  }
}
开发者ID:comotion,项目名称:ucspi-tcp,代码行数:33,代码来源:remoteinfo6.c


示例20: buffer_getLine

s08 buffer_getLine (buffer_struct *rb, char *s )
{
	// Devuelve lineas enteras del buffer.
	// El s debe tener capacidad suficiente.

s08 res = FALSE;
char cChar;

	if ( buffer_empty ( &xUart0RxedCharsBuffer )) {
		// No hay datos.
		res = FALSE;
	} else {
		// Copio vaciando el ringBuffer hasta encontrar un CR.
		while(1) {
			cChar = buffer_get(&xUart0RxedCharsBuffer);
			*(s++) = cChar;
			if ( (cChar == '\n') || (cChar == NULL))
				break;
		}
		*(s++) = '\0';
		res = TRUE;
	}
	return (res);

}
开发者ID:spymovil,项目名称:sp5K,代码行数:25,代码来源:uart2_sp5KFRTOS.c



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ buffer_get_char函数代码示例发布时间:2022-05-30
下一篇:
C++ buffer_flush函数代码示例发布时间: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