資源簡介
新版本的log_to_file,可以將收到的csi數據以時間戳命名。
代碼片段和文件信息
/*
?*?(c)?2008-2011?Daniel?Halperin?
?*/
#include?“iwl_connector.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?nk.h>
#define?MAX_PAYLOAD?2048
#define?SLOW_MSG_CNT?1
int?sock_fd?=?-1; //?the?socket
FILE*?out?=?NULL;
void?check_usage(int?argc?char**?argv);
FILE*?open_file(char*?filename?char*?spec);
void?caught_signal(int?sig);
void?exit_program(int?code);
void?exit_program_err(int?code?char*?func);
int?main(int?argc?char**?argv)
{
/*?Local?variables?*/
struct?sockaddr_nl?proc_addr?kern_addr; //?addrs?for?recv?send?bind
struct?cn_msg?*cmsg;
char?buf[4096];
int?ret;
unsigned?short?l?l2;
int?count?=?0;
/*?Make?sure?usage?is?correct?*/
//check_usage(argc?argv);
char?date_file_name[64];
struct?tm?*t;
time_t?tt;
/*?Setup?the?socket?*/
sock_fd?=?socket(PF_NETlink?SOCK_DGRAM?NETlink_CONNECTOR);
if?(sock_fd?==?-1)
exit_program_err(-1?“socket“);
/*?Initialize?the?address?structs?*/
memset(&proc_addr?0?sizeof(struct?sockaddr_nl));
proc_addr.nl_family?=?AF_NETlink;
proc_addr.nl_pid?=?getpid(); //?this?process‘?PID
proc_addr.nl_groups?=?CN_IDX_IWLAGN;
memset(&kern_addr?0?sizeof(struct?sockaddr_nl));
kern_addr.nl_family?=?AF_NETlink;
kern_addr.nl_pid?=?0; //?kernel
kern_addr.nl_groups?=?CN_IDX_IWLAGN;
/*?Now?bind?the?socket?*/
if?(bind(sock_fd?(struct?sockaddr?*)&proc_addr?sizeof(struct?sockaddr_nl))?==?-1)
exit_program_err(-1?“bind“);
/*?And?subscribe?to?netlink?group?*/
{
int?on?=?proc_addr.nl_groups;
ret?=?setsockopt(sock_fd?270?NETlink_ADD_MEMBERSHIP?&on?sizeof(on));
if?(ret)
exit_program_err(-1?“setsockopt“);
}
/*?Set?up?the?“caught_signal
評論
共有 條評論