15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * hostapd / VLAN initialization
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright 2003, Instant802 Networks, Inc.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright 2005, Devicescape Software, Inc.
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This software may be distributed under the terms of the BSD license.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * See README for more details.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef VLAN_INIT_H
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define VLAN_INIT_H
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CONFIG_NO_VLAN
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int vlan_init(struct hostapd_data *hapd);
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void vlan_deinit(struct hostapd_data *hapd);
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				       struct hostapd_vlan *vlan,
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)				       int vlan_id);
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id);
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int vlan_setup_encryption_dyn(struct hostapd_data *hapd,
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			      struct hostapd_ssid *mssid,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			      const char *dyn_vlan);
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else /* CONFIG_NO_VLAN */
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)static inline int vlan_init(struct hostapd_data *hapd)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	return 0;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)static inline void vlan_deinit(struct hostapd_data *hapd)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)static inline struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						     struct hostapd_vlan *vlan,
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						     int vlan_id)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	return NULL;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
39
40static inline int vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id)
41{
42	return -1;
43}
44
45static inline int vlan_setup_encryption_dyn(struct hostapd_data *hapd,
46					    struct hostapd_ssid *mssid,
47					    const char *dyn_vlan)
48{
49	return -1;
50}
51#endif /* CONFIG_NO_VLAN */
52
53#endif /* VLAN_INIT_H */
54