18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Wi-Fi Protected Setup - device attributes
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef WPS_DEV_ATTR_H
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define WPS_DEV_ATTR_H
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct wps_parse_attr;
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf *msg);
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_model_name(struct wps_device_data *dev, struct wpabuf *msg);
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_model_number(struct wps_device_data *dev, struct wpabuf *msg);
17cf32e60fa7e0d33fe1551a6dba8dcbbec47ea50eDmitry Shmidtint wps_build_serial_number(struct wps_device_data *dev, struct wpabuf *msg);
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg);
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_device_attrs(struct wps_device_data *dev, struct wpabuf *msg);
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_os_version(struct wps_device_data *dev, struct wpabuf *msg);
2104949598a23f501be6eec21697465fd46a28840aDmitry Shmidtint wps_build_vendor_ext_m1(struct wps_device_data *dev, struct wpabuf *msg);
22b7b4d0ec07161a6d76c40ba7ef1306e82fbb7e15Dmitry Shmidtint wps_build_rf_bands(struct wps_device_data *dev, struct wpabuf *msg,
23b7b4d0ec07161a6d76c40ba7ef1306e82fbb7e15Dmitry Shmidt		       u8 rf_band);
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_primary_dev_type(struct wps_device_data *dev,
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			       struct wpabuf *msg);
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_secondary_dev_type(struct wps_device_data *dev,
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				 struct wpabuf *msg);
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg);
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_process_device_attrs(struct wps_device_data *dev,
308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			     struct wps_parse_attr *attr);
318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_process_os_version(struct wps_device_data *dev, const u8 *ver);
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_process_rf_bands(struct wps_device_data *dev, const u8 *bands);
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid wps_device_data_free(struct wps_device_data *dev);
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_vendor_ext(struct wps_device_data *dev, struct wpabuf *msg);
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint wps_build_req_dev_type(struct wps_device_data *dev, struct wpabuf *msg,
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			   unsigned int num_req_dev_types,
378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			   const u8 *req_dev_types);
388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* WPS_DEV_ATTR_H */
40