亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? porting.doxygen

?? ralinktech rt61 wireless driver
?? DOXYGEN
字號:
/**\page porting Porting to different target boards and operating systems%wpa_supplicant was designed to be easily portable to differenthardware (board, CPU) and software (OS, drivers) targets. It isalready used with number of operating systems and numerous wirelesscard models and drivers. The main %wpa_supplicant repository includessupport for Linux, FreeBSD, and Windows. In addition, at least VxWorks,PalmOS, Windows CE, and Windows Mobile are supported in separaterepositories. On the hardwareside, %wpa_supplicant is used on various systems: desktops, laptops,PDAs, and embedded devices with CPUs including x86, PowerPC,arm/xscale, and MIPS. Both big and little endian configurations aresupported.\section ansi_c_extra Extra functions on top of ANSI C%wpa_supplicant is mostly using ANSI C functions that are available onmost targets. However, couple of additional functions that are commonon modern UNIX systems are used. Number of these are listed withprototypes in common.h (the #ifdef CONFIG_ANSI_C_EXTRA block). Thesefunctions may need to be implemented or at least defined as macros tonative functions in the target OS or C library.Many of the common ANSI C functions are used through a wrapperdefinitions in os.h to allow these to be replaced easily with aplatform specific version in case standard C libraries are notavailable. In addition, os.h defines couple of common platformspecific functions that are implemented in os_unix.c for UNIX liketargets and in os_win32.c for Win32 API. If the target platform doesnot support either of these examples, a new os_*.c file may need to beadded.Unless OS_NO_C_LIB_DEFINES is defined, the standard ANSI C and POSIXfunctions are used by defining the os_*() wrappers to use themdirectly in order to avoid extra cost in size and speed. If the targetplatform needs different versions of the functions, os.h can bemodified to define the suitable macros or alternatively,OS_NO_C_LIB_DEFINES may be defined for the build and the wrapperfunctions can then be implemented in a new os_*.c wrapper file.common.h defines number of helper macros for handling integers ofdifferent size and byte order. Suitable version of these definitionsmay need to be added for the target platform.\section configuration_backend Configuration backend%wpa_supplicant implements a configuration interface that allows thebackend to be easily replaced in order to read configuration data froma suitable source depending on the target platform. config.cimplements the generic code that can be shared with all configurationbackends. Each backend is implemented in its own config_*.c file.The included config_file.c backend uses a text file for configurationand config_winreg.c uses Windows registry. These files can be used asan example for a new configuration backend if the target platform usesdifferent mechanism for configuration parameters. In addition,config_none.c can be used as an empty starting point for building anew configuration backend.\section driver_iface_porting Driver interfaceUnless the target OS and driver is already supported, most portingprojects have to implement a driver wrapper. This may be done byadding a new driver interface module or modifying an existing module(driver_*.c) if the new target is similar to one of them. \refdriver_wrapper "Driver wrapper implementation" describes the detailsof the driver interface and discusses the tasks involved in portingthis part of %wpa_supplicant.\section l2_packet_porting l2_packet (link layer access)%wpa_supplicant needs to have access to sending and receiving layer 2(link layer) packets with two Ethertypes: EAP-over-LAN (EAPOL) 0x888eand RSN pre-authentication 0x88c7. l2_packet.h defines the interfacesused for this in the core %wpa_supplicant implementation.If the target operating system supports a generic mechanism for linklayer access, that is likely the best mechanism for providing theneeded functionality for %wpa_supplicant. Linux packet socket is anexample of such a generic mechanism. If this is not available, aseparate interface may need to be implemented to the network stack ordriver. This is usually an intermediate or protocol driver that isoperating between the device driver and the OS network stack. If sucha mechanism is not feasible, the interface can also be implementeddirectly in the device driver.The main %wpa_supplicant repository includes l2_packet implementationsfor Linux using packet sockets (l2_packet_linux.c), more portableversion using libpcap/libdnet libraries (l2_packet_pcap.c; thissupports WinPcap, too), and FreeBSD specific version of libpcapinterface (l2_packet_freebsd.c).If the target operating system is supported by libpcap (receiving) andlibdnet (sending), l2_packet_pcap.c can likely be used with minimal orno changes. If this is not a case or a proprietary interface for linklayer is required, a new l2_packet module may need to beadded. Alternatively, struct wpa_driver_ops::send_eapol() handler canbe used to override the l2_packet library if the link layer access isintegrated with the driver interface implementation.\section eloop_porting Event loop%wpa_supplicant uses a single process/thread model and an event loopto provide callbacks on events (registered timeout, received packet,signal). eloop.h defines the event loop interface. eloop.c is animplementation of such an event loop using select() and sockets. Thisis suitable for most UNIX/POSIX systems. When porting to otheroperating systems, it may be necessary to replace that implementationwith OS specific mechanisms that provide similar functionality.\section ctrl_iface_porting Control interface%wpa_supplicant uses a \ref ctrl_iface_page "control interface"to allow external processedto get status information and to control the operations. Currently,this is implemented with socket based communication; both UNIX domainsockets and UDP sockets are supported. If the target OS does notsupport sockets, this interface will likely need to be modified to useanother mechanism like message queues. The control interface isoptional component, so it is also possible to run %wpa_supplicantwithout porting this part.The %wpa_supplicant side of the control interface is implemented inctrl_iface.c. Matching client side is implemented as a controlinterface library in wpa_ctrl.c.\section entry_point Program entry point%wpa_supplicant defines a set of functions that can be used toinitialize main supplicant processing. Each operating system has amechanism for starting new processing or threads. This is usually afunction with a specific set of arguments and calling convention. Thisfunction is responsible on initializing %wpa_supplicant.main.c includes an entry point for UNIX-like operating system, i.e.,main() function that uses command line arguments for settingparameters for %wpa_supplicant. When porting to other operatingsystems, similar OS-specific entry point implementation is needed. Itcan be implemented in a new file that is then linked with%wpa_supplicant instead of main.o. main.c is also a good example onhow the initialization process should be done.The supplicant initialization functions are defined inwpa_supplicant_i.h. In most cases, the entry point function shouldstart by fetching configuration parameters. After this, a global%wpa_supplicant context is initialized with a call towpa_supplicant_init(). After this, existing network interfaces can beadded with wpa_supplicant_add_iface(). wpa_supplicant_run() is thenused to start the main event loop. Once this returns at programtermination time, wpa_supplicant_deinit() is used to release globalcontext data.wpa_supplicant_add_iface() and wpa_supplicant_remove_iface() can beused dynamically to add and remove interfaces based on when%wpa_supplicant processing is needed for them. This can be done, e.g.,when hotplug network adapters are being inserted and ejected. It isalso possible to do this when a network interface is beingenabled/disabled if it is desirable that %wpa_supplicant processingfor the interface is fully enabled/disabled at the same time.\section simple_build Simple build exampleOne way to start a porting project is to begin with a very simplebuild of %wpa_supplicant with WPA-PSK support and once that isbuilding correctly, start adding features.Following command can be used to build very simple version of%wpa_supplicant:\verbatimcc -o wpa_supplicant config.c eloop.c common.c md5.c rc4.c sha1.c \	config_none.c l2_packet_none.c tls_none.c wpa.c preauth.c \	aes_wrap.c wpa_supplicant.c events.c main_none.c drivers.c\endverbatimThe end result is not really very useful since it uses empty functionsfor configuration parsing and layer 2 packet access and does notinclude a driver interface. However, this is a good starting pointsince the build is complete in the sense that all functions arepresent and this is easy to configure to a build system by justincluding the listed C files.Once this version can be build successfully, the end result can bemade functional by adding a proper program entry point (main*.c),driver interface (driver_*.c and matching CONFIG_DRIVER_* define forregistration in drivers.c), configuration parser/writer (config_*.c),and layer 2 packet access implementation (l2_packet_*.c). After thesecomponents have been added, the end result should be a workingWPA/WPA2-PSK enabled supplicant.After the basic functionality has been verified to work, more featurescan be added by linking in more files and defining C pre-processordefines. Currently, the best source of information for what optionsare available and which files needs to be included is in the Makefileused for building the supplicant with make. Similar configuration willbe needed for build systems that either use different type of maketool or a GUI-based project configuration.*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产精品免费| 国产夫妻精品视频| 久久久久久99久久久精品网站| 成人一区在线观看| 天天操天天综合网| 中文字幕人成不卡一区| 日韩三级高清在线| 色老汉一区二区三区| 国产一区二区三区观看| 亚洲综合色噜噜狠狠| 国产午夜精品一区二区三区四区| 欧美色区777第一页| 亚洲欧洲韩国日本视频| 色哟哟国产精品免费观看| 欧美一级专区免费大片| 亚洲精品菠萝久久久久久久| 91亚洲资源网| 国产精品国产自产拍高清av王其| 国产成人av影院| 亚洲欧美日韩国产综合| 不卡的av电影在线观看| 亚洲精品在线免费观看视频| 九色综合狠狠综合久久| 国产成人午夜片在线观看高清观看| 欧美色图一区二区三区| 日韩视频中午一区| 亚洲日本一区二区| 欧美亚洲日本国产| 国产精品性做久久久久久| 成人美女在线视频| 国产麻豆欧美日韩一区| 日韩理论片在线| 色婷婷综合久久久中文一区二区| 亚洲欧美激情视频在线观看一区二区三区| 成人免费毛片片v| 亚洲成人动漫一区| 欧美电视剧在线看免费| 国产精品69久久久久水密桃| 一区二区在线电影| 精品国产在天天线2019| a4yy欧美一区二区三区| 日本美女一区二区三区| 国产精品欧美综合在线| 日韩欧美一二三四区| 国产精品亚洲а∨天堂免在线| 亚洲美女视频一区| 久久久综合激的五月天| 欧美肥妇毛茸茸| 不卡电影一区二区三区| 青青草国产精品亚洲专区无| 国产农村妇女精品| 亚洲人成精品久久久久久 | 亚洲第一激情av| 亚洲综合成人在线视频| 亚洲第一会所有码转帖| 日韩av中文字幕一区二区三区| 国产精品1区2区| 国产91综合一区在线观看| 精品污污网站免费看| 精品中文字幕一区二区| 日韩国产成人精品| 成人午夜视频网站| 国产欧美1区2区3区| 精品视频在线看| 国产乱国产乱300精品| 精品一区二区三区久久久| 国产精品中文字幕一区二区三区| av午夜一区麻豆| 欧美性大战久久久久久久蜜臀| 69精品人人人人| 国产午夜精品一区二区三区嫩草 | 亚洲一区在线看| 国产亚洲欧洲一区高清在线观看| 精品成人一区二区| 精品成人a区在线观看| 欧美精品一区视频| 国产性色一区二区| 一区二区在线电影| 欧美日韩在线一区二区| 欧美性猛交xxxx乱大交退制版| 国产精品每日更新| 成人毛片在线观看| 亚洲欧美偷拍卡通变态| hitomi一区二区三区精品| 欧美国产综合一区二区| 亚欧色一区w666天堂| 狠狠色丁香婷婷综合久久片| 在线一区二区三区四区| 欧美日韩国产电影| 亚洲第一主播视频| 久久国产精品99精品国产| 亚洲一区二区三区国产| 亚洲日本丝袜连裤袜办公室| 天堂成人免费av电影一区| 国产不卡视频一区| 欧美一区二区三区男人的天堂| 国产亚洲精品精华液| 午夜在线电影亚洲一区| www.在线成人| 精品理论电影在线| 亚洲国产美国国产综合一区二区| 高清不卡在线观看av| 日韩欧美在线影院| 亚洲一区二区av在线| 国产成人在线视频网站| 欧美一区二区免费视频| 亚洲欧美日韩综合aⅴ视频| 国产精品一区二区免费不卡 | 国产精品一区免费视频| 欧美日韩一区二区欧美激情| 国产精品欧美一区二区三区| 国产在线视频不卡二| 欧美精品在欧美一区二区少妇| 亚洲私人黄色宅男| 粉嫩一区二区三区在线看| www国产成人| 男人的天堂亚洲一区| 欧美日韩一卡二卡三卡 | 国产精品国产三级国产有无不卡| 日本麻豆一区二区三区视频| 欧美性受xxxx| 亚洲精品国产高清久久伦理二区| 国产成人午夜精品5599| 久久久久久电影| 国产精品自拍一区| 精品88久久久久88久久久| 久久精品国产网站| 4438x亚洲最大成人网| 亚洲h精品动漫在线观看| 91九色最新地址| 一区二区三区不卡视频在线观看| 成人免费视频一区| 国产精品久久久久影院老司| 国产成人h网站| 国产精品成人免费| av影院午夜一区| 自拍偷拍亚洲欧美日韩| av午夜精品一区二区三区| 国产精品高潮呻吟久久| 波多野结衣在线一区| 中文字幕一区二区三区av| 国产福利91精品| 国产精品护士白丝一区av| 91免费看视频| 亚洲第一会所有码转帖| 欧美一三区三区四区免费在线看| 视频一区视频二区在线观看| 91精品国产欧美日韩| 老鸭窝一区二区久久精品| 久久久久久日产精品| 丁香六月综合激情| 亚洲精品欧美激情| 欧美日韩国产电影| 久久疯狂做爰流白浆xx| 国产欧美久久久精品影院| 成人性生交大合| 亚洲精选一二三| 欧美疯狂性受xxxxx喷水图片| 免费成人在线观看| 日本一区二区三区电影| 色婷婷综合久色| 日韩影院精彩在线| 久久免费视频色| 一本大道久久a久久综合婷婷| 亚洲成人动漫在线免费观看| 欧美成人vps| 国产91丝袜在线播放九色| 亚洲视频免费在线| 在线不卡欧美精品一区二区三区| 久久99这里只有精品| 国产精品美女一区二区在线观看| 91国内精品野花午夜精品| 人人精品人人爱| 国产精品不卡视频| 91精品国产综合久久久久| 国产精品18久久久久久久久| 亚洲激情自拍偷拍| 精品久久久网站| 91免费观看在线| 九九国产精品视频| 一区二区视频免费在线观看| 日韩一区二区免费在线电影| av电影在线观看一区| 麻豆极品一区二区三区| 中文字幕中文字幕一区二区| 在线播放中文字幕一区| 99热精品国产| 韩国成人精品a∨在线观看| 一区二区视频在线| 久久久精品日韩欧美| 欧美性大战久久久久久久| 国产超碰在线一区| 日韩高清电影一区| 亚洲图片激情小说| 精品国产免费人成在线观看| 欧美日韩中文字幕一区| 99久久婷婷国产综合精品| 久久精品理论片| 亚洲成av人影院在线观看网| 国产精品嫩草影院av蜜臀|