您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ stream_new函数代码示例

51自学网 2021-06-03 08:29:11
  C++
这篇教程C++ stream_new函数代码示例写得很实用,希望能帮到您。

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

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

示例1: xrdpvr_set_geometry

intxrdpvr_set_geometry(void *channel, int stream_id, int xpos, int ypos,                    int width, int height){    STREAM  *s;    char    *cptr;    int     rv;    int     len;    printf("xrdpvr_set_geometry: entered; x=%d y=%d/n", xpos, ypos);    stream_new(s, MAX_PDU_SIZE);    stream_ins_u32_le(s, 0); /* number of bytes to follow */    stream_ins_u32_le(s, CMD_SET_GEOMETRY);    stream_ins_u32_le(s, stream_id);    stream_ins_u32_le(s, xpos);    stream_ins_u32_le(s, ypos);    stream_ins_u32_le(s, width);    stream_ins_u32_le(s, height);    /* insert number of bytes in stream */    len = stream_length(s) - 4;    cptr = s->p;    s->p = s->data;    stream_ins_u32_le(s, len);    s->p = cptr;    /* write data to virtual channel */    rv = xrdpvr_write_to_client(channel, s);    stream_free(s);    return rv;}
开发者ID:neutrinolabs,项目名称:xrdp,代码行数:33,


示例2: bgp_zebra_init

voidbgp_zebra_init (void){  /* Set default values. */  zclient = zclient_new ();  zclient_init (zclient, ZEBRA_ROUTE_BGP);  zclient->router_id_update = bgp_router_id_update;  zclient->interface_add = bgp_interface_add;  zclient->interface_delete = bgp_interface_delete;  zclient->interface_address_add = bgp_interface_address_add;  zclient->interface_address_delete = bgp_interface_address_delete;  zclient->ipv4_route_add = zebra_read_ipv4;  zclient->ipv4_route_delete = zebra_read_ipv4;  zclient->interface_up = bgp_interface_up;  zclient->interface_down = bgp_interface_down;#ifdef HAVE_IPV6  zclient->ipv6_route_add = zebra_read_ipv6;  zclient->ipv6_route_delete = zebra_read_ipv6;#endif /* HAVE_IPV6 */  /* Interface related init. */  if_init ();  bgp_nexthop_buf = stream_new(BGP_NEXTHOP_BUF_SIZE);}
开发者ID:AsherBond,项目名称:quagga,代码行数:25,


示例3: rpch_in_send_ping

tbool rpch_in_send_ping(rdpRpch* rpch){	STREAM* pdu = stream_new(20);	uint8 rpc_vers = 0x05;	uint8 rpc_vers_minor = 0x00;	uint8 ptype = PTYPE_RTS;	uint8 pfc_flags = PFC_FIRST_FRAG | PFC_LAST_FRAG;	uint32 packet_drep = 0x00000010;	uint16 frag_length = 56;	uint16 auth_length = 0;	uint32 call_id = 0x00000000;	uint16 flags = 0x0001;	uint16 num_commands = 0x0000;	stream_write_uint8(pdu, rpc_vers);	stream_write_uint8(pdu, rpc_vers_minor);	stream_write_uint8(pdu, ptype);	stream_write_uint8(pdu, pfc_flags);	stream_write_uint32(pdu, packet_drep);	stream_write_uint16(pdu, frag_length);	stream_write_uint16(pdu, auth_length);	stream_write_uint32(pdu, call_id);	stream_write_uint16(pdu, flags);	stream_write_uint16(pdu, num_commands);	rpch_in_write(rpch, pdu->data, pdu->p - pdu->data);	stream_free(pdu);	return true;}
开发者ID:cocoon,项目名称:NeutrinoRDP,代码行数:32,


示例4: certificate_read_server_certificate

BOOL certificate_read_server_certificate(rdpCertificate* certificate, BYTE* server_cert, int length){	STREAM* s;	UINT32 dwVersion;	if (length < 1)	{		DEBUG_CERTIFICATE("null server certificate/n");		return FALSE;	}	s = stream_new(0);	stream_attach(s, server_cert, length);	stream_read_UINT32(s, dwVersion); /* dwVersion (4 bytes) */	switch (dwVersion & CERT_CHAIN_VERSION_MASK)	{		case CERT_CHAIN_VERSION_1:			certificate_read_server_proprietary_certificate(certificate, s);			break;		case CERT_CHAIN_VERSION_2:			certificate_read_server_x509_certificate_chain(certificate, s);			break;		default:			printf("invalid certificate chain version:%d/n", dwVersion & CERT_CHAIN_VERSION_MASK);			break;	}	free(s);	return TRUE;}
开发者ID:Arkantos7,项目名称:FreeRDP,代码行数:34,


示例5: streams_to_ruby_array

// Wrap streams in Ruby objectsVALUE streams_to_ruby_array(VALUE self, AVFormatContext * format) {	VALUE streams = rb_ary_new();	unsigned i = 0;	for(; i < format->nb_streams; ++i) {		switch (format->streams[i]->codec->codec_type) {			case AVMEDIA_TYPE_VIDEO: {				// Video stream				rb_ary_push(streams, video_stream_new(self, format->streams[i]));				break;			}			case AVMEDIA_TYPE_AUDIO: {				// Audio stream				rb_ary_push(streams, audio_stream_new(self, format->streams[i]));				break;			}			default: {				// All other streams				rb_ary_push(streams, stream_new(self, format->streams[i]));				break;			}		}	}	return streams;}
开发者ID:abronte,项目名称:ruby-ffmpeg,代码行数:27,


示例6: drdynvc_process_capability_request

static int drdynvc_process_capability_request(drdynvcPlugin* drdynvc, int Sp, int cbChId, STREAM* s){	STREAM* data_out;	int error;	DEBUG_DVC("Sp=%d cbChId=%d", Sp, cbChId);	stream_seek(s, 1); /* pad */	stream_read_UINT16(s, drdynvc->version);	if (drdynvc->version == 2)	{		stream_read_UINT16(s, drdynvc->PriorityCharge0);		stream_read_UINT16(s, drdynvc->PriorityCharge1);		stream_read_UINT16(s, drdynvc->PriorityCharge2);		stream_read_UINT16(s, drdynvc->PriorityCharge3);	}	data_out = stream_new(4);	stream_write_UINT16(data_out, 0x0050); /* Cmd+Sp+cbChId+Pad. Note: MSTSC sends 0x005c */	stream_write_UINT16(data_out, drdynvc->version);	error = svc_plugin_send((rdpSvcPlugin*) drdynvc, data_out);	if (error != CHANNEL_RC_OK)	{		DEBUG_WARN("VirtualChannelWrite failed %d", error);		return 1;	}	drdynvc->channel_error = error;	return 0;}
开发者ID:mgariepy,项目名称:FreeRDP,代码行数:32,


示例7: credssp_authenticate

int credssp_authenticate(rdpCredssp* credssp){    NTLMSSP* ntlmssp = credssp->ntlmssp;    STREAM* s = stream_new(0);    uint8* negoTokenBuffer = (uint8*) xmalloc(2048);    if (credssp_ntlmssp_init(credssp) == 0)        return 0;    if (credssp_get_public_key(credssp) == 0)        return 0;    /* NTLMSSP NEGOTIATE MESSAGE */    s->p = s->data = negoTokenBuffer;    ntlmssp_send(ntlmssp, s);    credssp->negoToken.data = s->data;    credssp->negoToken.length = s->p - s->data;    credssp_send(credssp, &credssp->negoToken, NULL, NULL);    /* NTLMSSP CHALLENGE MESSAGE */    if (credssp_recv(credssp, &credssp->negoToken, NULL, NULL) < 0)        return -1;    s->p = s->data = credssp->negoToken.data;    ntlmssp_recv(ntlmssp, s);    freerdp_blob_free(&credssp->negoToken);    /* NTLMSSP AUTHENTICATE MESSAGE */    s->p = s->data = negoTokenBuffer;    ntlmssp_send(ntlmssp, s);    /* The last NTLMSSP message is sent with the encrypted public key */    credssp->negoToken.data = s->data;    credssp->negoToken.length = s->p - s->data;    credssp_encrypt_public_key(credssp, &credssp->pubKeyAuth);    credssp_send(credssp, &credssp->negoToken, NULL, &credssp->pubKeyAuth);    /* Encrypted Public Key +1 */    if (credssp_recv(credssp, &credssp->negoToken, NULL, &credssp->pubKeyAuth) < 0)        return -1;    if (credssp_verify_public_key(credssp, &credssp->pubKeyAuth) == 0)    {        /* Failed to verify server public key echo */        return 0; /* DO NOT SEND CREDENTIALS! */    }    freerdp_blob_free(&credssp->negoToken);    freerdp_blob_free(&credssp->pubKeyAuth);    /* Send encrypted credentials */    credssp_encode_ts_credentials(credssp);    credssp_encrypt_ts_credentials(credssp, &credssp->authInfo);    credssp_send(credssp, NULL, &credssp->authInfo, NULL);    xfree(s);    return 1;}
开发者ID:adambprotiviti,项目名称:FreeRDP,代码行数:60,


示例8: rts_send_keep_alive_pdu

boolean rts_send_keep_alive_pdu(rdpRpc* rpc){	STREAM* s;	RTS_PDU_HEADER header;	header.rpc_vers = 5;	header.rpc_vers_minor = 0;	header.ptype = PTYPE_RTS;	header.pfc_flags = PFC_FIRST_FRAG | PFC_LAST_FRAG;	header.packed_drep[0] = 0x10;	header.packed_drep[1] = 0x00;	header.packed_drep[2] = 0x00;	header.packed_drep[3] = 0x00;	header.frag_length = 28;	header.auth_length = 0;	header.call_id = 0;	header.flags = 2;	header.numberOfCommands = 1;	DEBUG_RPC("Sending Keep-Alive RTS PDU");	s = stream_new(header.frag_length);	rts_pdu_header_write(s, &header); /* RTS Header (20 bytes) */	rts_client_keepalive_command_write(s, 0x00007530); /* ClientKeepalive (8 bytes) */	stream_seal(s);	rpc_in_write(rpc, s->data, s->size);	stream_free(s);	return true;}
开发者ID:ArthurGodoy,项目名称:FreeRDP,代码行数:32,


示例9: krb_apreq_new

KrbAPREQ* krb_apreq_new(KRB_CONTEXT* krb_ctx, Ticket* ticket, Authenticator* krb_auth){	KrbAPREQ* krb_apreq;	STREAM* as;	rdpBlob msg;	rdpBlob* encmsg;	uint32 len;	as = stream_new(1024);	stream_seek(as, 1023);	krb_apreq = xnew(KrbAPREQ);	krb_apreq->pvno = KRB_VERSION;	krb_apreq->type = KRB_TAG_APREQ;	krb_apreq->ap_options = 0x00000000 | 0x00000000 | 0x00000000; /* Reserved (bit 31), Use session Key (bit 30), Mututal Required (bit 29) */	krb_apreq->ticket = ticket;	if (krb_auth != NULL)	{		len = krb_encode_authenticator(as, krb_auth);		msg.data = as->p;		msg.length = len;		encmsg = crypto_kdcmsg_encrypt(&msg, krb_ctx->askey, 7); /* RFC4757 section 3 for msgtype (T=7) */		krb_apreq->enc_auth.enctype = krb_ctx->askey->enctype;		krb_apreq->enc_auth.kvno = -1;		krb_apreq->enc_auth.encblob.data = encmsg->data;		krb_apreq->enc_auth.encblob.length =  encmsg->length;		xfree(encmsg);	}		stream_free(as);		return krb_apreq;}
开发者ID:mattymo,项目名称:FreeRDP,代码行数:34,


示例10: conn_complete_session

/* Finish initializing a session from a connection, or kills it if the * connection shows and error. Returns <0 if the connection was killed. */static int conn_complete_session(struct connection *conn){	struct task *task = conn->owner;	struct session *sess = task->context;	struct stream *strm;	if (conn->flags & CO_FL_ERROR)		goto fail;	/* we want the connection handler to notify the stream interface about updates. */	conn->flags |= CO_FL_WAKE_DATA;	/* if logs require transport layer information, note it on the connection */	if (sess->fe->to_log & LW_XPRT)		conn->flags |= CO_FL_XPRT_TRACKED;	session_count_new(sess);	task->process = sess->listener->handler;	strm = stream_new(sess, task, &conn->obj_type);	if (!strm)		goto fail;	strm->target        = sess->listener->default_target;	strm->req.analysers = sess->listener->analysers;	conn->flags &= ~CO_FL_INIT_DATA;	return 0; fail:	session_kill_embryonic(sess);	return -1;}
开发者ID:beamly,项目名称:haproxy-1.6,代码行数:35,


示例11: test_ber_write_length

void test_ber_write_length(void){	STREAM *s1, *s2;	s1 = stream_new(sizeof(ber_length_expected_1));	s2 = stream_new(sizeof(ber_length_expected_2));	ber_write_length(s1, 64);	ASSERT_STREAM(s1, (uint8*) ber_length_expected_1, sizeof(ber_length_expected_1));	ber_write_length(s2, 404);	ASSERT_STREAM(s2, (uint8*) ber_length_expected_2, sizeof(ber_length_expected_2));	stream_free(s1);	stream_free(s2);}
开发者ID:mwu406,项目名称:FreeRDP-1.0,代码行数:16,


示例12: ldp_accept

s32 ldp_accept(struct thread * t){	s32 fd ;	union sockunion su ;	struct ldp_peer * peer ;	s32 sock = THREAD_FD(t);	struct ldp * ldp = THREAD_ARG(t);		ldp->t_accept = NULL ;	THREAD_READ_ON(master, ldp->t_accept, ldp_accept, ldp, sock);	fd = sockunion_accept(sock, &su);	if( fd <= 0 ) 		return -1 ;	peer = ldp_peer_new();	if( NULL == peer )	{		close(fd);		return -1 ;	}		peer->state = ACCEPT_PEER ;	peer->fd = fd ;	peer->ldp = ldp;	peer->transport = su.sin.sin_addr.s_addr;	peer->input = stream_new(LDP_MAX_PDU_LEN);		listnode_add(ldp->accepts, peer);	LDP_FSM_EVENT(peer, ConnectSuccess);	return 0 ;}
开发者ID:millken,项目名称:zhuxianB30,代码行数:34,


示例13: xrdpvr_set_video_format

/** * set video format * * @param  channel    opaque handle returned by WTSVirtualChannelOpenEx * @param  stream_id  unique identification number for this stream * * @return  0 on success, -1 on error *****************************************************************************/intxrdpvr_set_video_format(void *channel, uint32_t stream_id, int format,                        int width, int height){    STREAM  *s;    char    *cptr;    int     rv;    int     len;    width = (width + 15) & ~15;    stream_new(s, MAX_PDU_SIZE);    stream_ins_u32_le(s, 0); /* number of bytes to follow */    stream_ins_u32_le(s, CMD_SET_VIDEO_FORMAT);    stream_ins_u32_le(s, stream_id);    stream_ins_u32_le(s, format);    stream_ins_u32_le(s, width);    stream_ins_u32_le(s, height);    /* insert number of bytes in stream */    len = stream_length(s) - 4;    cptr = s->p;    s->p = s->data;    stream_ins_u32_le(s, len);    s->p = cptr;    /* write data to virtual channel */    rv = xrdpvr_write_to_client(channel, s);    stream_free(s);    return rv;}
开发者ID:neutrinolabs,项目名称:xrdp,代码行数:38,


示例14: xrdpvr_send_audio_data

/** * send audio data to client * * @param  channel    opaque handle returned by WTSVirtualChannelOpenEx * @param  stream_id  unique identification number for this stream * @param  data_len   number of bytes to send * @param  data       audio data to send * * @return  0 on success, -1 on error *****************************************************************************/intxrdpvr_send_audio_data(void *channel, uint32_t stream_id, uint32_t data_len,                       uint8_t *data){    STREAM  *s;    char    *cptr;    int     rv;    int     len;    //printf("xrdpvr_send_audio_data:/n");    stream_new(s, MAX_PDU_SIZE + data_len);    stream_ins_u32_le(s, 0); /* number of bytes to follow */    stream_ins_u32_le(s, CMD_SEND_AUDIO_DATA);    stream_ins_u32_le(s, stream_id);    stream_ins_u32_le(s, data_len);    stream_ins_byte_array(s, data, data_len);    /* insert number of bytes in stream */    len = stream_length(s) - 4;    cptr = s->p;    s->p = s->data;    stream_ins_u32_le(s, len);    s->p = cptr;    /* write data to virtual channel */    rv = xrdpvr_write_to_client(channel, s);    stream_free(s);    return rv;}
开发者ID:neutrinolabs,项目名称:xrdp,代码行数:41,


示例15: test_decode

void test_decode(void){	RFX_CONTEXT* context;	uint8 decode_buffer[4096 * 3];	STREAM* s;	s = stream_new(sizeof(y_data) + sizeof(cb_data) + sizeof(cr_data));	stream_write(s, y_data, sizeof(y_data));	stream_write(s, cb_data, sizeof(cb_data));	stream_write(s, cr_data, sizeof(cr_data));	stream_set_pos(s, 0);	context = rfx_context_new();	context->mode = RLGR3;	rfx_context_set_pixel_format(context, RFX_PIXEL_FORMAT_RGB);	rfx_decode_rgb(context, s,		sizeof(y_data), test_quantization_values,		sizeof(cb_data), test_quantization_values,		sizeof(cr_data), test_quantization_values,		decode_buffer);	rfx_context_free(context);	stream_free(s);	dump_ppm_image(decode_buffer);}
开发者ID:BillTheBest,项目名称:FreeRDP,代码行数:25,


示例16: rts_send_ping_pdu

BOOL rts_send_ping_pdu(rdpRpc* rpc){	STREAM* s;	RTS_PDU_HEADER header;	header.rpc_vers = 5;	header.rpc_vers_minor = 0;	header.ptype = PTYPE_RTS;	header.pfc_flags = PFC_FIRST_FRAG | PFC_LAST_FRAG;	header.packed_drep[0] = 0x10;	header.packed_drep[1] = 0x00;	header.packed_drep[2] = 0x00;	header.packed_drep[3] = 0x00;	header.frag_length = 20;	header.auth_length = 0;	header.call_id = 0;	header.flags = 1;	header.numberOfCommands = 0;	DEBUG_RPC("Sending Ping RTS PDU");	s = stream_new(header.frag_length);	rts_pdu_header_write(s, &header); /* RTS Header (20 bytes) */	stream_seal(s);	rpc_in_write(rpc, s->data, s->size);	stream_free(s);	return TRUE;}
开发者ID:5m3ntarios,项目名称:FreeRDP,代码行数:31,


示例17: credssp_read_ts_credentials

void credssp_read_ts_credentials(rdpCredssp* credssp, PSecBuffer ts_credentials){	STREAM* s;	int length;	int ts_password_creds_length;	s = stream_new(0);	stream_attach(s, ts_credentials->pvBuffer, ts_credentials->cbBuffer);	/* TSCredentials (SEQUENCE) */	ber_read_sequence_tag(s, &length);	/* [0] credType (INTEGER) */	ber_read_contextual_tag(s, 0, &length, TRUE);	ber_read_integer(s, NULL);	/* [1] credentials (OCTET STRING) */	ber_read_contextual_tag(s, 1, &length, TRUE);	ber_read_octet_string_tag(s, &ts_password_creds_length);	credssp_read_ts_password_creds(credssp, s);	stream_detach(s);	stream_free(s);}
开发者ID:4hosi,项目名称:FreeRDP,代码行数:25,


示例18: test_nsc_encode

void test_nsc_encode(void){	int i;	uint8* rgb_data;	STREAM* enc_stream;	NSC_CONTEXT* context;	rgb_data = (uint8 *) malloc(64 * 64 * 3);	for (i = 0; i < 64; i++)		memcpy(rgb_data + i * 64 * 3, rgb_scanline_data, 64 * 3);	context = nsc_context_new();	nsc_context_set_cpu_opt(context, CPU_SSE2);	nsc_context_set_pixel_format(context, RDP_PIXEL_FORMAT_R8G8B8);	enc_stream = stream_new(65536);	stream_clear(enc_stream);	for (i = 0; i < 30000; i++)	{		stream_set_pos(enc_stream, 0);		nsc_compose_message(context, enc_stream, rgb_data, 64, 64, 64 * 3);	}	/*freerdp_hexdump(stream_get_head(enc_stream), stream_get_length(enc_stream));*/	nsc_process_message(context, 32, 64, 64, stream_get_head(enc_stream), stream_get_length(enc_stream));	/*freerdp_hexdump(context->bmpdata, 64 * 64 * 4);*/	stream_free(enc_stream);	nsc_context_free(context);}
开发者ID:ArthurGodoy,项目名称:FreeRDP,代码行数:30,


示例19: skel_process_receive

static void skel_process_receive(rdpSvcPlugin* plugin, STREAM* data_in){	skelPlugin* skel = (skelPlugin*)plugin;	STREAM* data_out;	int bytes;	printf("skel_process_receive:/n");	if (skel == NULL)	{		printf("skel_process_receive: skel is nil/n");		return;	}	/* process data in(from server) here */	/* here we just send the same data back */	bytes = stream_get_size(data_in);	printf("skel_process_receive: got bytes %d/n", bytes);	if (bytes > 0)	{		data_out = stream_new(bytes);		stream_copy(data_out, data_in, bytes);		/* svc_plugin_send takes ownership of data_out, that is why		   we do not free it */		bytes = stream_get_length(data_in);		printf("skel_process_receive: sending bytes %d/n", bytes);		svc_plugin_send(plugin, data_out);	}	stream_free(data_in);}
开发者ID:LK2000,项目名称:FreeRDP,代码行数:34,


示例20: sample_process_receive

static void sample_process_receive(rdpSvcPlugin* plugin, wStream* data_in){	int bytes;	wStream* data_out;	samplePlugin* sample = (samplePlugin*) plugin;	fprintf(stderr, "sample_process_receive:/n");	if (!sample)	{		fprintf(stderr, "sample_process_receive: sample is nil/n");		return;	}	/* process data in (from server) here */	/* here we just send the same data back */	bytes = stream_get_size(data_in);	fprintf(stderr, "sample_process_receive: got bytes %d/n", bytes);	if (bytes > 0)	{		data_out = stream_new(bytes);		stream_copy(data_out, data_in, bytes);		/* svc_plugin_send takes ownership of data_out, that is why		   we do not free it */		bytes = stream_get_length(data_in);		fprintf(stderr, "sample_process_receive: sending bytes %d/n", bytes);		svc_plugin_send(plugin, data_out);	}	stream_free(data_in);}
开发者ID:KimDongChun,项目名称:FreeRDP,代码行数:35,


示例21: test_nsc_encode

void test_nsc_encode(void){	int i;	BYTE* rgb_data;	wStream* enc_stream;	NSC_CONTEXT* context;	rgb_data = (BYTE *) malloc(64 * 64 * 3);	for (i = 0; i < 64; i++)		memcpy(rgb_data + i * 64 * 3, rgb_scanline_data, 64 * 3);	context = nsc_context_new();	nsc_context_set_pixel_format(context, RDP_PIXEL_FORMAT_R8G8B8);	enc_stream = stream_new(65536);	stream_clear(enc_stream);	for (i = 0; i < 30000; i++)	{		Stream_SetPosition(enc_stream, 0);		nsc_compose_message(context, enc_stream, rgb_data, 64, 64, 64 * 3);	}	/*winpr_HexDump(Stream_Buffer(enc_stream), Stream_GetPosition(enc_stream));*/	nsc_process_message(context, 32, 64, 64, Stream_Buffer(enc_stream), Stream_GetPosition(enc_stream));	/*winpr_HexDump(context->bmpdata, 64 * 64 * 4);*/	stream_free(enc_stream);	nsc_context_free(context);}
开发者ID:10084462,项目名称:FreeRDP,代码行数:29,


示例22: main

intmain (void){  struct stream *s;    s = stream_new (1024);    stream_putc (s, ham);  stream_putw (s, ham);  stream_putl (s, ham);  stream_putq (s, ham);    print_stream (s);    stream_resize (s, stream_get_endp (s));    print_stream (s);    printf ("c: 0x%hhx/n", stream_getc (s));  printf ("w: 0x%hx/n", stream_getw (s));  printf ("l: 0x%x/n", stream_getl (s));  printf ("q: 0x%" PRIu64 "/n", stream_getq (s));    return 0;}
开发者ID:AT-Corp,项目名称:quagga-atc,代码行数:25,


示例23: rdpdr_send_client_name_request

static void rdpdr_send_client_name_request(rdpdrPlugin* rdpdr){	char* s;	STREAM* data_out;	UNICONV* uniconv;	size_t computerNameLenW;	uniconv = freerdp_uniconv_new();	if (!rdpdr->computerName[0])		gethostname(rdpdr->computerName, sizeof(rdpdr->computerName) - 1);	s = freerdp_uniconv_out(uniconv, rdpdr->computerName, &computerNameLenW);	data_out = stream_new(16 + computerNameLenW + 2);	stream_write_uint16(data_out, RDPDR_CTYP_CORE);	stream_write_uint16(data_out, PAKID_CORE_CLIENT_NAME);	stream_write_uint32(data_out, 1); /* unicodeFlag, 0 for ASCII and 1 for Unicode */	stream_write_uint32(data_out, 0); /* codePage, must be set to zero */	stream_write_uint32(data_out, computerNameLenW + 2); /* computerNameLen, including null terminator */	stream_write(data_out, s, computerNameLenW);	stream_write_uint16(data_out, 0); /* null terminator */	xfree(s);	freerdp_uniconv_free(uniconv);	svc_plugin_send((rdpSvcPlugin*) rdpdr, data_out);}
开发者ID:felfert,项目名称:FreeRDP,代码行数:29,


示例24: rail_pdu_init

STREAM* rail_pdu_init(int length){	STREAM* s;	s = stream_new(length + RAIL_PDU_HEADER_LENGTH);	stream_seek(s, RAIL_PDU_HEADER_LENGTH);	return s;}
开发者ID:Arkantos7,项目名称:FreeRDP,代码行数:7,


示例25: svc_plugin_process_received

static void svc_plugin_process_received(rdpSvcPlugin* plugin, void* pData, uint32 dataLength,	uint32 totalLength, uint32 dataFlags){	STREAM* data_in;	if (dataFlags & CHANNEL_FLAG_FIRST)	{		if (plugin->priv->data_in != NULL)			stream_free(plugin->priv->data_in);		plugin->priv->data_in = stream_new(totalLength);	}	data_in = plugin->priv->data_in;	stream_check_size(data_in, dataLength);	stream_write(data_in, pData, dataLength);	if (dataFlags & CHANNEL_FLAG_LAST)	{		if (stream_get_size(data_in) != stream_get_length(data_in))		{			printf("svc_plugin_process_received: read error/n");		}		/* the stream ownership is passed to the callback who is responsible for freeing it. */		plugin->priv->data_in = NULL;		stream_set_pos(data_in, 0);		plugin->receive_callback(plugin, data_in);	}}
开发者ID:tenchman,项目名称:FreeRDP-1.0,代码行数:28,


示例26: certificate_read_server_certificate

boolean certificate_read_server_certificate(rdpCertificate* certificate, uint8* server_cert, int length){    STREAM* s;    uint32 dwVersion;    s = stream_new(0);    s->p = s->data = server_cert;    if (length < 1)    {        printf("null server certificate/n");        return False;    }    stream_read_uint32(s, dwVersion); /* dwVersion (4 bytes) */    switch (dwVersion & CERT_CHAIN_VERSION_MASK)    {    case CERT_CHAIN_VERSION_1:        certificate_read_server_proprietary_certificate(certificate, s);        break;    case CERT_CHAIN_VERSION_2:        certificate_read_server_x509_certificate_chain(certificate, s);        break;    default:        printf("invalid certificate chain version:%d/n", dwVersion & CERT_CHAIN_VERSION_MASK);        break;    }    xfree(s);    return True;}
开发者ID:ryotous,项目名称:FreeRDP,代码行数:34,


示例27: xrdpvr_send_init

intxrdpvr_send_init(void *channel){    STREAM  *s;    char    *cptr;    int     rv;    int     len;    printf("xrdpvr_send_init:/n");    stream_new(s, MAX_BUFSIZE);    stream_ins_u32_le(s, 0); /* number of bytes to follow */    stream_ins_u32_le(s, CMD_INIT_XRDPVR);    /* insert number of bytes in stream */    len = stream_length(s) - 4;    cptr = s->p;    s->p = s->data;    stream_ins_u32_le(s, len);    s->p = cptr;    /* write data to virtual channel */    rv = xrdpvr_write_to_client(channel, s);    stream_free(s);    return rv;}
开发者ID:neutrinolabs,项目名称:xrdp,代码行数:26,


示例28: xrdpvr_set_volume

/** * write set volume to a xrdpvr client * * @param  channel  opaque handle returned by WTSVirtualChannelOpenEx * @param  volume   volume 0x0000 to 0xffff * * @return 0 on success, -1 on failure ******************************************************************************/intxrdpvr_set_volume(void *channel, int volume){    STREAM  *s;    char    *cptr;    int     rv;    int     len;    stream_new(s, MAX_BUFSIZE);    stream_ins_u32_le(s, 0); /* number of bytes to follow */    stream_ins_u32_le(s, CMD_SET_VOLUME);    stream_ins_u32_le(s, volume);    /* insert number of bytes in stream */    len = stream_length(s) - 4;    cptr = s->p;    s->p = s->data;    stream_ins_u32_le(s, len);    s->p = cptr;    /* write data to virtual channel */    rv = xrdpvr_write_to_client(channel, s);    stream_free(s);    return rv;}
开发者ID:neutrinolabs,项目名称:xrdp,代码行数:34,


示例29: dev_redir_send_server_core_cap_req

void dev_redir_send_server_core_cap_req(){    struct stream *s;    int            bytes;    stream_new(s, 1024);    /* setup header */    stream_wr_u16_le(s, RDPDR_CTYP_CORE);    stream_wr_u16_le(s, PAKID_CORE_SERVER_CAPABILITY);    stream_wr_u16_le(s, 5);                /* num of caps we are sending     */    stream_wr_u16_le(s, 0x0000);           /* padding                        */    /* setup general capability */    stream_wr_u16_le(s, CAP_GENERAL_TYPE); /* CapabilityType                 */    stream_wr_u16_le(s, 44);               /* CapabilityLength - len of this */                                           /* CAPABILITY_SET in bytes, inc   */                                           /* the header                     */    stream_wr_u32_le(s, 2);                /* Version                        */    stream_wr_u32_le(s, 2);                /* O.S type                       */    stream_wr_u32_le(s, 0);                /* O.S version                    */    stream_wr_u16_le(s, 1);                /* protocol major version         */    stream_wr_u16_le(s, g_client_rdp_version); /* protocol minor version     */    stream_wr_u32_le(s, 0xffff);           /* I/O code 1                     */    stream_wr_u32_le(s, 0);                /* I/O code 2                     */    stream_wr_u32_le(s, 7);                /* Extended PDU                   */    stream_wr_u32_le(s, 0);                /* extra flags 1                  */    stream_wr_u32_le(s, 0);                /* extra flags 2                  */    stream_wr_u32_le(s, 2);                /* special type device cap        */    /* setup printer capability */    stream_wr_u16_le(s, CAP_PRINTER_TYPE);    stream_wr_u16_le(s, 8);    stream_wr_u32_le(s, 1);    /* setup serial port capability */    stream_wr_u16_le(s, CAP_PORT_TYPE);    stream_wr_u16_le(s, 8);    stream_wr_u32_le(s, 1);    /* setup file system capability */    stream_wr_u16_le(s, CAP_DRIVE_TYPE);   /* CapabilityType                 */    stream_wr_u16_le(s, 8);                /* CapabilityLength - len of this */                                           /* CAPABILITY_SET in bytes, inc   */                                           /* the header                     */    stream_wr_u32_le(s, 2);                /* Version                        */    /* setup smart card capability */    stream_wr_u16_le(s, CAP_SMARTCARD_TYPE);    stream_wr_u16_le(s, 8);    stream_wr_u32_le(s, 1);    /* send to client */    bytes = stream_len(s);    send_channel_data(g_rdpdr_chan_id, s->data, bytes);    stream_free(s);}
开发者ID:lxqiong,项目名称:xrdp,代码行数:59,


示例30: credssp_send

void credssp_send(rdpCredssp* credssp){	STREAM* s;	int length;	int ts_request_length;	int nego_tokens_length;	int pub_key_auth_length;	int auth_info_length;	nego_tokens_length = (credssp->negoToken.cbBuffer > 0) ? credssp_skip_nego_tokens(credssp->negoToken.cbBuffer) : 0;	pub_key_auth_length = (credssp->pubKeyAuth.cbBuffer > 0) ? credssp_skip_pub_key_auth(credssp->pubKeyAuth.cbBuffer) : 0;	auth_info_length = (credssp->authInfo.cbBuffer > 0) ? credssp_skip_auth_info(credssp->authInfo.cbBuffer) : 0;	length = nego_tokens_length + pub_key_auth_length + auth_info_length;	ts_request_length = credssp_skip_ts_request(length);	s = stream_new(ts_request_length);	/* TSRequest */	length = der_get_content_length(ts_request_length);	der_write_sequence_tag(s, length); /* SEQUENCE */	/* [0] version */	ber_write_contextual_tag(s, 0, 3, true);	ber_write_integer(s, 2); /* INTEGER */	/* [1] negoTokens (NegoData) */	if (nego_tokens_length > 0)	{		length = der_get_content_length(nego_tokens_length);		length -= der_write_contextual_tag(s, 1, length, true); /* NegoData */		length -= der_write_sequence_tag(s, length); /* SEQUENCE OF NegoDataItem */		length -= der_write_sequence_tag(s, length); /* NegoDataItem */		length -= der_write_contextual_tag(s, 0, length, true); /* [0] negoToken */		der_write_octet_string(s, (uint8*) credssp->negoToken.pvBuffer, length); /* OCTET STRING */	}	/* [2] authInfo (OCTET STRING) */	if (auth_info_length > 0)	{		length = ber_get_content_length(auth_info_length);		length -= ber_write_contextual_tag(s, 2, length, true);		ber_write_octet_string(s, credssp->authInfo.pvBuffer, credssp->authInfo.cbBuffer);	}	/* [3] pubKeyAuth (OCTET STRING) */	if (pub_key_auth_length > 0)	{		length = ber_get_content_length(pub_key_auth_length);		length -= ber_write_contextual_tag(s, 3, length, true);		ber_write_octet_string(s, credssp->pubKeyAuth.pvBuffer, length);	}	//printf("Sending TSRequest: (%d)/n", stream_get_length(s));	//freerdp_hexdump(s->data, stream_get_length(s));	tls_write(credssp->tls, s->data, stream_get_length(s));	stream_free(s);}
开发者ID:woelfl-tw,项目名称:FreeRDP,代码行数:59,



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


C++ stream_open函数代码示例
C++ stream_getl函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。