18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * hostapd / VLAN initialization
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2003, Instant802 Networks, Inc.
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright 2005, Devicescape Software, Inc.
58d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
68d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This program is free software; you can redistribute it and/or modify
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * it under the terms of the GNU General Public License version 2 as
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * published by the Free Software Foundation.
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Alternatively, this software may be distributed under the terms of BSD
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * license.
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * See README and COPYING for more details.
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef VLAN_INIT_H
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define VLAN_INIT_H
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef CONFIG_NO_VLAN
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint vlan_init(struct hostapd_data *hapd);
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid vlan_deinit(struct hostapd_data *hapd);
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				       struct hostapd_vlan *vlan,
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				       int vlan_id);
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id);
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint vlan_setup_encryption_dyn(struct hostapd_data *hapd,
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			      struct hostapd_ssid *mssid,
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			      const char *dyn_vlan);
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#else /* CONFIG_NO_VLAN */
308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline int vlan_init(struct hostapd_data *hapd)
318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return 0;
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline void vlan_deinit(struct hostapd_data *hapd)
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt						     struct hostapd_vlan *vlan,
418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt						     int vlan_id)
428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return NULL;
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline int vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id)
478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return -1;
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline int vlan_setup_encryption_dyn(struct hostapd_data *hapd,
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt					    struct hostapd_ssid *mssid,
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt					    const char *dyn_vlan)
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return -1;
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_NO_VLAN */
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* VLAN_INIT_H */
60