161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt/*
261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * External password backend
361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * Copyright (c) 2012, Jouni Malinen <j@w1.fi>
461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt *
561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * See README for more details.
761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt */
861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifndef EXT_PASSWORD_H
1061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define EXT_PASSWORD_H
1161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtstruct ext_password_data;
1361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifdef CONFIG_EXT_PASSWORD
1561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtstruct ext_password_data * ext_password_init(const char *backend,
1761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt					     const char *params);
1861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtvoid ext_password_deinit(struct ext_password_data *data);
1961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtstruct wpabuf * ext_password_get(struct ext_password_data *data,
2161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt				 const char *name);
2261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtvoid ext_password_free(struct wpabuf *pw);
2361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#else /* CONFIG_EXT_PASSWORD */
2561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define ext_password_init(b, p) ((void *) 1)
2761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define ext_password_deinit(d) do { } while (0)
2861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define ext_password_get(d, n) (NULL)
2961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define ext_password_free(p) do { } while (0)
3061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
3161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* CONFIG_EXT_PASSWORD */
3261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
3361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* EXT_PASSWORD_H */
34