18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA Supplicant / Example program entrypoint 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "includes.h" 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common.h" 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "wpa_supplicant_i.h" 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint main(int argc, char *argv[]) 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_interface iface; 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int exitcode = 0; 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_params params; 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_global *global; 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt memset(¶ms, 0, sizeof(params)); 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt params.wpa_debug_level = MSG_INFO; 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt global = wpa_supplicant_init(¶ms); 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt if (global == NULL) 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return -1; 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt memset(&iface, 0, sizeof(iface)); 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* TODO: set interface parameters */ 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt if (wpa_supplicant_add_iface(global, &iface) == NULL) 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt exitcode = -1; 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt if (exitcode == 0) 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt exitcode = wpa_supplicant_run(global); 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt wpa_supplicant_deinit(global); 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return exitcode; 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 41