Changes between Version 21 and Version 22 of Old/Libmac
- Timestamp:
- Jun 18, 2006, 11:41:42 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Old/Libmac
v21 v22 94 94 95 95 The choice of using these particular libraries was motivated by the stable nature of the executables, the open-source nature of the source code, their active maintenance and the presence of mailing lists and tutorials. In addition, these libraries have been thoroughly tested by a wide variety of open-source and commercial products. They were written primarily because of the drawbacks of the packet sockets API and their advantages include: 96 * Providing the user with high-level and simplified interface and hiding the complexity of underlying system from application programmer.97 * Portability across multiple architectures.96 * Providing the user with high-level and simplified interface and hiding the complexity of underlying system from application programmer. 97 * Portability across multiple architectures. 98 98 99 The figure below shows how the framework will be built on top of the libnet ~\cite{Libnet+doc} and libpcap~\cite{Libpcap+doc}libraries, which in turn will be used in the lowest module. This diagram also shows how the envisioned framework will co-exist in parallel with the TCP/UDP sockets API, which uses the networking protocols implemented in the kernel.99 The figure below shows how the framework will be built on top of the libnet and libpcap libraries, which in turn will be used in the lowest module. This diagram also shows how the envisioned framework will co-exist in parallel with the TCP/UDP sockets API, which uses the networking protocols implemented in the kernel. 100 100 101 101 [[Image(p3.png)]] [[BR]] … … 140 140 The function, int mac_get_params (struct mac_params *h, struct mac_ifinfo_list *if_ptr, int argc, ...), is used to request the driver to return information on interface parameters, specified by the fourth argument onwards. The first argument is the pointer to the mac_params structure, where information, on retrieved parameter values, is to be stored. The second one is a pointer to the struct mac_ifinfo_list that specifies the interface to which, a call to this function, applies. The parameter settings on the specified interface will be returned. The third argument is the number of arguments that follow after this one. Each argument that follows corresponds to the key of a parameter. 141 141 142 The function, int mac_set_params (struct mac_params *h, struct mac_ifinfo_list *if_ptr, int argc, ...), is used to request the driver to operate on interface parameter settings, specified by the fourth argument onwards. The first argument is the pointer to the mac \_params structure, where information, on parameter settings, is stored. The second one is a pointer to the struct mac_ifinfo_list that specifies the interface to which, a call to this function, applies. The parameter values on the specified interface will be set. The third argument is the number of (key,value) pairs that follow after this one.142 The function, int mac_set_params (struct mac_params *h, struct mac_ifinfo_list *if_ptr, int argc, ...), is used to request the driver to operate on interface parameter settings, specified by the fourth argument onwards. The first argument is the pointer to the mac_params structure, where information, on parameter settings, is stored. The second one is a pointer to the struct mac_ifinfo_list that specifies the interface to which, a call to this function, applies. The parameter values on the specified interface will be set. The third argument is the number of (key,value) pairs that follow after this one. 143 143 144 144 ==== Communication of a subset of wireless interface parameters from the sending end of a network connection to the receiving end, on a per-packet granularity level ====