1/*
2 * WPS IE
3 *
4 * Copyright (C) 2013, Broadcom Corporation
5 * All Rights Reserved.
6 *
7 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
8 * the contents of this file may not be disclosed to third parties, copied
9 * or duplicated in any form, in whole or in part, without the prior
10 * written permission of Broadcom Corporation.
11 *
12 * $Id: wps_ie.h 383924 2013-02-08 04:14:39Z $
13 */
14
15#ifndef __WPS_IE_H__
16#define __WPS_IE_H__
17
18int wps_ie_default_ssr_info(CTlvSsrIE *ssrmsg, unsigned char *authorizedMacs,
19	int authorizedMacs_len, BufferObj *authorizedMacs_Obj, unsigned char *wps_uuid,
20	BufferObj *uuid_R_Obj, uint8 scState);
21void wps_ie_set(char *wps_ifname, CTlvSsrIE *ssrmsg);
22void wps_ie_clear();
23
24#include <bcmconfig.h>
25#ifdef __CONFIG_WFI__
26/*
27*  Generic Vendor Extension Support:
28*/
29#define WPSM_VNDR_EXT_MAX_DATA_80211	(3 + 246)
30
31int wps_vndr_ext_obj_free(void *ptToFree);
32/*
33*  Return: <0, the object not found; >= 0 OK.
34*  ptToFree: pointer to vendor object.
35*/
36
37void *wps_vndr_ext_obj_alloc(int siBufferSize, char *pcOSName);
38/*
39*  Return the Vendor Extension Object Pointer allocated with buffer
40*     size siBufferSize. NULL if BufferSize is too big or malloc error.
41*  siBufferSize: < 0, the WPSM_VNDR_EXT_MAX_DATA_80211 will be allocated.
42*  pcOSName: pointer to char that contains OS name of an interface
43*     that this vendor object belongs to.
44*/
45
46int wps_vndr_ext_obj_copy(void *ptObj, char *pcData, int siLen);
47/*
48*  Return <0, Error; >0, number of bytes copied.
49*  pcData: pointer to char array containing input data.
50*  siLen: Number of data to copy.
51*/
52
53int wps_vndr_ext_obj_set_mode(void *ptObj, int siType, int boolActivate);
54/*
55*  Return < 0 if error; >=0 if OK.
56*  siType: WPS_IE_TYPE_SET_BEACON_IE or WPS_IE_TYPE_SET_PROBE_RESPONSE_IE.
57*  boolActivate: 0, set but do not activate it; 1, set and activate it.
58*/
59#endif /* __CONFIG_WFI__ */
60
61#endif	/* __WPS_IE_H__ */
62