xref: /openbsd-src/usr.sbin/hostapd/iapp.h (revision 8bad5f84052ec1f7b74ed4562cdbb122dc4b1a1e)
1*8bad5f84Smpi /*	$OpenBSD: iapp.h,v 1.4 2015/11/03 12:21:50 mpi Exp $	*/
29b9e1fddSreyk 
39b9e1fddSreyk /*
42c56d0d6Sreyk  * Copyright (c) 2005 Reyk Floeter <reyk@openbsd.org>
59b9e1fddSreyk  *
69b9e1fddSreyk  * Permission to use, copy, modify, and distribute this software for any
79b9e1fddSreyk  * purpose with or without fee is hereby granted, provided that the above
89b9e1fddSreyk  * copyright notice and this permission notice appear in all copies.
99b9e1fddSreyk  *
109b9e1fddSreyk  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
119b9e1fddSreyk  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
129b9e1fddSreyk  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
139b9e1fddSreyk  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
149b9e1fddSreyk  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
159b9e1fddSreyk  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
169b9e1fddSreyk  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
179b9e1fddSreyk  */
189b9e1fddSreyk 
199b9e1fddSreyk #ifndef _IAPP_H
209b9e1fddSreyk #define _IAPP_H
219b9e1fddSreyk 
229b9e1fddSreyk #define IEEE80211_IAPP_VERSION	0
239b9e1fddSreyk 
249b9e1fddSreyk /*
259b9e1fddSreyk  * IAPP (Inter Access Point Protocol)
269b9e1fddSreyk  */
279b9e1fddSreyk 
289b9e1fddSreyk struct ieee80211_iapp_frame {
299b9e1fddSreyk 	u_int8_t	i_version;
309b9e1fddSreyk 	u_int8_t	i_command;
319b9e1fddSreyk 	u_int16_t	i_identifier;
329b9e1fddSreyk 	u_int16_t	i_length;
339b9e1fddSreyk } __packed;
349b9e1fddSreyk 
359b9e1fddSreyk enum ieee80211_iapp_frame_type {
369b9e1fddSreyk 	IEEE80211_IAPP_FRAME_ADD_NOTIFY			= 0,
379b9e1fddSreyk 	IEEE80211_IAPP_FRAME_MOVE_NOTIFY		= 1,
389b9e1fddSreyk 	IEEE80211_IAPP_FRAME_MOVE_RESPONSE		= 2,
399b9e1fddSreyk 	IEEE80211_IAPP_FRAME_SEND_SECURITY_BLOCK	= 3,
409b9e1fddSreyk 	IEEE80211_IAPP_FRAME_ACK_SECURITY_BLOCK		= 4,
419b9e1fddSreyk 	IEEE80211_IAPP_FRAME_CACHE_NOTIFY		= 5,
429b9e1fddSreyk 	IEEE80211_IAPP_FRAME_CACHE_RESPONSE		= 6,
439b9e1fddSreyk 	IEEE80211_IAPP_FRAME_HOSTAPD_RADIOTAP		= 12,
449b9e1fddSreyk 	IEEE80211_IAPP_FRAME_HOSTAPD_PCAP		= 13
459b9e1fddSreyk };
469b9e1fddSreyk 
479b9e1fddSreyk #define IEEE80211_IAPP_FRAME_TYPE_NAME	{				\
489b9e1fddSreyk 	"add notify",							\
499b9e1fddSreyk 	"move notify",							\
509b9e1fddSreyk 	"move response",						\
519b9e1fddSreyk 	"send security block",						\
529b9e1fddSreyk 	"ack security block",						\
539b9e1fddSreyk 	"cache notify",							\
549b9e1fddSreyk 	"cache response",						\
559b9e1fddSreyk 	"reserved#07",							\
569b9e1fddSreyk 	"reserved#08",							\
579b9e1fddSreyk 	"reserved#09",							\
589b9e1fddSreyk 	"reserved#10",							\
599b9e1fddSreyk 	"reserved#11",							\
609b9e1fddSreyk 	"hostapd radiotap",						\
61*8bad5f84Smpi 	"hostapd pcap",							\
629b9e1fddSreyk 	"reserved#14",							\
639b9e1fddSreyk 	"reserved#15",							\
649b9e1fddSreyk }
659b9e1fddSreyk 
669b9e1fddSreyk struct ieee80211_iapp_add_notify {
679b9e1fddSreyk 	u_int8_t	a_length;
689b9e1fddSreyk 	u_int8_t	a_reserved;
699b9e1fddSreyk 	u_int8_t	a_macaddr[IEEE80211_ADDR_LEN];
709b9e1fddSreyk 	u_int16_t	a_seqnum;
719b9e1fddSreyk } __packed;
729b9e1fddSreyk 
739b9e1fddSreyk #define IAPP_PORT	3517
74d3a8aa15Sreyk #define IAPP_OLD_PORT	2313
759b9e1fddSreyk #define IAPP_MCASTADDR	"224.0.1.178"
769b9e1fddSreyk #define IAPP_MAXSIZE	512
779b9e1fddSreyk 
789b9e1fddSreyk #endif /* _IAPP_H */
79