Example #1
0
int search_mrr_device(SEARCH_RESULT_T **ppresult_out)
{
	unsigned char reply_buf[MAX_BUFFER_LEN] = {0};

	struct sockaddr_in addr_dest;
	bzero(&addr_dest, sizeof(struct sockaddr_in));
	addr_dest.sin_family=AF_INET;
	addr_dest.sin_addr.s_addr=htonl(INADDR_BROADCAST);
	addr_dest.sin_port=htons(DEST_PORT);

	int sock = create_udp_socket();

	//从广播地址发送搜索指令
	int recv_len = 0;
	unsigned char cmd[] = {"0123456789012345678901234567890123456789"};

	int ret = send_boardcast_cmd(sock, (struct sockaddr*)&addr_dest, cmd, strlen((char*)cmd));
	if(ret<0)
	{
		printf("send search cmd error....\n");
		return -1;
	}
	else
	{		
		printf("send search cmd ok!\n");	
	}

	while(1)
	{
		recv_len = recv_reply(sock, (struct sockaddr*)&addr_dest, reply_buf);
		if(recv_len <= 0)
		{
			printf("recv error....\n");
			break;
		}
		else if(recv_len % SEARCH_REPLY_LEN == 0)
		{
			ret = parse_search_result(reply_buf, recv_len, ppresult_out);
			if(ret >= 0)
				break;
		}

		sleep(1);

	}

	close_udp_socket(sock);

	return 0;
}
Example #2
0
void decoder_close(A8MfcParam* param) {
	gtag =0;
	if (param->mfcHandle != NULL)
		SsbSipMfcDecClose(param->mfcHandle);
	if (param->outputY != NULL)
		free(param->outputY);
	if (param->swapBuf != NULL)
		free(param->swapBuf);
	#ifdef DECODE_SEND_UDP
	close_udp_socket();
	#endif

	#ifdef SAVE_DECODE_FILE 
	 close_file();
	#endif

}
Example #3
0
int configure_device(const DEVICE_CONF_PARAM_T *conf_param)
{
	DEVICE_CONF_PARAM_RAW raw_data;
	convert_conf_param(conf_param, &raw_data);

	//display on screen
	display_configure_param(&raw_data);

	//save to buffer
	unsigned char* pcmdbuffer = (unsigned char*)malloc(sizeof(DEVICE_CONF_PARAM_RAW));
	memcpy(pcmdbuffer, &raw_data, sizeof(DEVICE_CONF_PARAM_RAW));

	//create udp socket
	struct sockaddr_in addr_dest;
	bzero(&addr_dest, sizeof(struct sockaddr_in));
	addr_dest.sin_family=AF_INET;
	addr_dest.sin_addr.s_addr=htonl(INADDR_BROADCAST);
	addr_dest.sin_port=htons(DEST_PORT);

	int sock = create_udp_socket();

	//从广播地址发送配置指令
	int ret = send_boardcast_cmd(sock, (struct sockaddr*)&addr_dest, pcmdbuffer, sizeof(DEVICE_CONF_PARAM_RAW));
	if(ret<0)
	{
		printf("send configure cmd error....\n");
		return -1;
	}
	else
	{		
		printf("send configure cmd ok!\n");	
	}

	close_udp_socket(sock);
	free (pcmdbuffer);
	pcmdbuffer = NULL;

	return ret;
}
Example #4
0
void
wps_osl_ui_handle_deinit(int handle)
{
	close_udp_socket(handle);
}