1*39beb93cSSam Leffler /* 2*39beb93cSSam Leffler * EAP-WSC common routines for Wi-Fi Protected Setup 3*39beb93cSSam Leffler * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 4*39beb93cSSam Leffler * 5*39beb93cSSam Leffler * This program is free software; you can redistribute it and/or modify 6*39beb93cSSam Leffler * it under the terms of the GNU General Public License version 2 as 7*39beb93cSSam Leffler * published by the Free Software Foundation. 8*39beb93cSSam Leffler * 9*39beb93cSSam Leffler * Alternatively, this software may be distributed under the terms of BSD 10*39beb93cSSam Leffler * license. 11*39beb93cSSam Leffler * 12*39beb93cSSam Leffler * See README and COPYING for more details. 13*39beb93cSSam Leffler */ 14*39beb93cSSam Leffler 15*39beb93cSSam Leffler #include "includes.h" 16*39beb93cSSam Leffler 17*39beb93cSSam Leffler #include "common.h" 18*39beb93cSSam Leffler #include "eap_defs.h" 19*39beb93cSSam Leffler #include "eap_common.h" 20*39beb93cSSam Leffler #include "wps/wps.h" 21*39beb93cSSam Leffler #include "eap_wsc_common.h" 22*39beb93cSSam Leffler 23*39beb93cSSam Leffler struct wpabuf * eap_wsc_build_frag_ack(u8 id, u8 code) 24*39beb93cSSam Leffler { 25*39beb93cSSam Leffler struct wpabuf *msg; 26*39beb93cSSam Leffler 27*39beb93cSSam Leffler msg = eap_msg_alloc(EAP_VENDOR_WFA, EAP_VENDOR_TYPE_WSC, 2, code, id); 28*39beb93cSSam Leffler if (msg == NULL) { 29*39beb93cSSam Leffler wpa_printf(MSG_ERROR, "EAP-WSC: Failed to allocate memory for " 30*39beb93cSSam Leffler "FRAG_ACK"); 31*39beb93cSSam Leffler return NULL; 32*39beb93cSSam Leffler } 33*39beb93cSSam Leffler 34*39beb93cSSam Leffler wpa_printf(MSG_DEBUG, "EAP-WSC: Send WSC/FRAG_ACK"); 35*39beb93cSSam Leffler wpabuf_put_u8(msg, WSC_FRAG_ACK); /* Op-Code */ 36*39beb93cSSam Leffler wpabuf_put_u8(msg, 0); /* Flags */ 37*39beb93cSSam Leffler 38*39beb93cSSam Leffler return msg; 39*39beb93cSSam Leffler } 40