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