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; }
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 }
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; }
void wps_osl_ui_handle_deinit(int handle) { close_udp_socket(handle); }