1189251Ssam/*
2189251Ssam * Wi-Fi Protected Setup - device attributes
3189251Ssam * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
4189251Ssam *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7189251Ssam */
8189251Ssam
9189251Ssam#ifndef WPS_DEV_ATTR_H
10189251Ssam#define WPS_DEV_ATTR_H
11189251Ssam
12189251Ssamstruct wps_parse_attr;
13189251Ssam
14252726Srpauloint wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf *msg);
15252726Srpauloint wps_build_model_name(struct wps_device_data *dev, struct wpabuf *msg);
16252726Srpauloint wps_build_model_number(struct wps_device_data *dev, struct wpabuf *msg);
17252726Srpauloint wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg);
18189251Ssamint wps_build_device_attrs(struct wps_device_data *dev, struct wpabuf *msg);
19189251Ssamint wps_build_os_version(struct wps_device_data *dev, struct wpabuf *msg);
20252726Srpauloint wps_build_vendor_ext_m1(struct wps_device_data *dev, struct wpabuf *msg);
21189251Ssamint wps_build_rf_bands(struct wps_device_data *dev, struct wpabuf *msg);
22189251Ssamint wps_build_primary_dev_type(struct wps_device_data *dev,
23189251Ssam			       struct wpabuf *msg);
24252726Srpauloint wps_build_secondary_dev_type(struct wps_device_data *dev,
25252726Srpaulo				 struct wpabuf *msg);
26252726Srpauloint wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg);
27189251Ssamint wps_process_device_attrs(struct wps_device_data *dev,
28189251Ssam			     struct wps_parse_attr *attr);
29189251Ssamint wps_process_os_version(struct wps_device_data *dev, const u8 *ver);
30189251Ssamint wps_process_rf_bands(struct wps_device_data *dev, const u8 *bands);
31189251Ssamvoid wps_device_data_dup(struct wps_device_data *dst,
32189251Ssam			 const struct wps_device_data *src);
33189251Ssamvoid wps_device_data_free(struct wps_device_data *dev);
34252726Srpauloint wps_build_vendor_ext(struct wps_device_data *dev, struct wpabuf *msg);
35252726Srpauloint wps_build_req_dev_type(struct wps_device_data *dev, struct wpabuf *msg,
36252726Srpaulo			   unsigned int num_req_dev_types,
37252726Srpaulo			   const u8 *req_dev_types);
38189251Ssam
39189251Ssam#endif /* WPS_DEV_ATTR_H */
40