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(&params, 0, sizeof(params));
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	params.wpa_debug_level = MSG_INFO;
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	global = wpa_supplicant_init(&params);
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