⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iwlib.h

📁 采用嵌入式开发的wireless无线模组的应用开发工具
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef struct stream_descr{  char *	end;		/* End of the stream */  char *	current;	/* Current event in stream of events */  char *	value;		/* Current value in event */} stream_descr;/* Prototype for handling display of each single interface on the * system - see iw_enum_devices() */typedef int (*iw_enum_handler)(int	skfd,			       char *	ifname,			       char *	args[],			       int	count);/**************************** PROTOTYPES ****************************//* * All the functions in iwcommon.c *//* ---------------------- SOCKET SUBROUTINES -----------------------*/int	iw_sockets_open(void);void	iw_enum_devices(int		skfd,			iw_enum_handler fn,			char *		args[],			int		count);/* --------------------- WIRELESS SUBROUTINES ----------------------*/int	iw_get_kernel_we_version(void);int	iw_print_version_info(const char *	toolname);int	iw_get_range_info(int		skfd,			  const char *	ifname,			  iwrange *	range);int	iw_get_priv_info(int		skfd,			 const char *	ifname,			 iwprivargs **	ppriv);int	iw_get_basic_config(int			skfd,			    const char *	ifname,			    wireless_config *	info);int	iw_set_basic_config(int			skfd,			    const char *	ifname,			    wireless_config *	info);/* --------------------- PROTOCOL SUBROUTINES --------------------- */int	iw_protocol_compare(const char *	protocol1,			    const char *	protocol2);/* -------------------- FREQUENCY SUBROUTINES --------------------- */void	iw_float2freq(double	in,		      iwfreq *	out);double	iw_freq2float(const iwfreq *	in);void	iw_print_freq_value(char *	buffer,			    int		buflen,			    double	freq);void	iw_print_freq(char *	buffer,		      int	buflen,		      double	freq,		      int	channel,		      int	freq_flags);int	iw_freq_to_channel(double			freq,			   const struct iw_range *	range);int	iw_channel_to_freq(int				channel,			   double *			pfreq,			   const struct iw_range *	range);void	iw_print_bitrate(char *	buffer,			 int	buflen,			 int	bitrate);/* ---------------------- POWER SUBROUTINES ----------------------- */int	iw_dbm2mwatt(int	in);int	iw_mwatt2dbm(int	in);void	iw_print_txpower(char *			buffer,			 int			buflen,			 struct iw_param *	txpower);/* -------------------- STATISTICS SUBROUTINES -------------------- */int	iw_get_stats(int		skfd,		     const char *	ifname,		     iwstats *		stats,		     const iwrange *	range,		     int		has_range);void	iw_print_stats(char *		buffer,		       int		buflen,		       const iwqual *	qual,		       const iwrange *	range,		       int		has_range);/* --------------------- ENCODING SUBROUTINES --------------------- */void	iw_print_key(char *			buffer,		     int			buflen,		     const unsigned char *	key,		     int			key_size,		     int			key_flags);int	iw_in_key(const char *		input,		  unsigned char *	key);int	iw_in_key_full(int		skfd,		       const char *	ifname,		       const char *	input,		       unsigned char *	key,		       __u16 *		flags);/* ----------------- POWER MANAGEMENT SUBROUTINES ----------------- */void	iw_print_pm_value(char *	buffer,			  int		buflen,			  int		value,			  int		flags);void	iw_print_pm_mode(char *		buffer,			 int		buflen,			 int		flags);/* --------------- RETRY LIMIT/LIFETIME SUBROUTINES --------------- */void	iw_print_retry_value(char *	buffer,			     int	buflen,			     int	value,			     int	flags);/* ----------------------- TIME SUBROUTINES ----------------------- */void	iw_print_timeval(char *			buffer,			 int			buflen,			 const struct timeval *	time);/* --------------------- ADDRESS SUBROUTINES ---------------------- */int	iw_check_mac_addr_type(int	skfd,			       char *	ifname);int	iw_check_if_addr_type(int	skfd,			      char *	ifname);#if 0int	iw_check_addr_type(int		skfd,			   char *	ifname);#endifint	iw_get_mac_addr(int			skfd,			const char *		name,			struct ether_addr *	eth,			unsigned short *	ptype);void	iw_ether_ntop(const struct ether_addr* eth, char* buf);char*	iw_ether_ntoa(const struct ether_addr* eth);int	iw_ether_aton(const char* bufp, struct ether_addr* eth);int	iw_in_inet(char *bufp, struct sockaddr *sap);int	iw_in_addr(int			skfd,		   char *		ifname,		   char *		bufp,		   struct sockaddr *	sap);/* ----------------------- MISC SUBROUTINES ------------------------ */int	iw_get_priv_size(int		args);/* ---------------------- EVENT SUBROUTINES ---------------------- */void	iw_init_event_stream(struct stream_descr *	stream,			     char *			data,			     int			len);int	iw_extract_event_stream(struct stream_descr *	stream,				struct iw_event *	iwe,				int			we_version);/* --------------------- SCANNING SUBROUTINES --------------------- */int	iw_process_scan(int			skfd,			char *			ifname,			int			we_version,			wireless_scan_head *	context);int	iw_scan(int			skfd,		char *			ifname,		int			we_version,		wireless_scan_head *	context);/**************************** VARIABLES ****************************//* Modes as human readable strings */extern const char * const	iw_operation_mode[];#define IW_NUM_OPER_MODE	7/************************* INLINE FUNTIONS *************************//* * Functions that are so simple that it's more efficient inlining them *//* * Note : I've defined wrapper for the ioctl request so that * it will be easier to migrate to other kernel API if needed *//*------------------------------------------------------------------*//* * Wrapper to push some Wireless Parameter in the driver */static inline intiw_set_ext(int			skfd,		/* Socket to the kernel */	   const char *		ifname,		/* Device name */	   int			request,	/* WE ID */	   struct iwreq *	pwrq)		/* Fixed part of the request */{  /* Set device name */  strncpy(pwrq->ifr_name, ifname, IFNAMSIZ);  /* Do the request */  return(ioctl(skfd, request, pwrq));}/*------------------------------------------------------------------*//* * Wrapper to extract some Wireless Parameter out of the driver */static inline intiw_get_ext(int			skfd,		/* Socket to the kernel */	   const char *		ifname,		/* Device name */	   int			request,	/* WE ID */	   struct iwreq *	pwrq)		/* Fixed part of the request */{  /* Set device name */  strncpy(pwrq->ifr_name, ifname, IFNAMSIZ);  /* Do the request */  return(ioctl(skfd, request, pwrq));}/*------------------------------------------------------------------*//* * Close the socket used for ioctl. */static inline voidiw_sockets_close(int	skfd){  close(skfd);}/*------------------------------------------------------------------*//* Backwards compatability * Actually, those form are much easier to use when dealing with * struct sockaddr... */static inline char*iw_pr_ether(char* bufp, const unsigned char* addr){  iw_ether_ntop((const struct ether_addr *) addr, bufp);  return bufp;}/* Backwards compatability */static inline intiw_in_ether(const char *bufp, struct sockaddr *sap){  sap->sa_family = ARPHRD_ETHER;  return iw_ether_aton(bufp, (struct ether_addr *) sap->sa_data) ? 0 : -1;}/*------------------------------------------------------------------*//* * Create an Ethernet broadcast address */static inline voidiw_broad_ether(struct sockaddr *sap){  sap->sa_family = ARPHRD_ETHER;  memset((char *) sap->sa_data, 0xFF, ETH_ALEN);}/*------------------------------------------------------------------*//* * Create an Ethernet NULL address */static inline voidiw_null_ether(struct sockaddr *sap){  sap->sa_family = ARPHRD_ETHER;  memset((char *) sap->sa_data, 0x00, ETH_ALEN);}#ifdef __cplusplus}#endif#endif	/* IWLIB_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -