16d49e1aeSJan Lentfer /* 26d49e1aeSJan Lentfer * Wi-Fi Protected Setup - device attributes 36d49e1aeSJan Lentfer * Copyright (c) 2008, Jouni Malinen <j@w1.fi> 46d49e1aeSJan Lentfer * 53ff40c12SJohn Marino * This software may be distributed under the terms of the BSD license. 63ff40c12SJohn Marino * See README for more details. 76d49e1aeSJan Lentfer */ 86d49e1aeSJan Lentfer 96d49e1aeSJan Lentfer #ifndef WPS_DEV_ATTR_H 106d49e1aeSJan Lentfer #define WPS_DEV_ATTR_H 116d49e1aeSJan Lentfer 126d49e1aeSJan Lentfer struct wps_parse_attr; 136d49e1aeSJan Lentfer 143ff40c12SJohn Marino int wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf *msg); 153ff40c12SJohn Marino int wps_build_model_name(struct wps_device_data *dev, struct wpabuf *msg); 163ff40c12SJohn Marino int wps_build_model_number(struct wps_device_data *dev, struct wpabuf *msg); 173ff40c12SJohn Marino int wps_build_serial_number(struct wps_device_data *dev, struct wpabuf *msg); 183ff40c12SJohn Marino int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg); 196d49e1aeSJan Lentfer int wps_build_device_attrs(struct wps_device_data *dev, struct wpabuf *msg); 206d49e1aeSJan Lentfer int wps_build_os_version(struct wps_device_data *dev, struct wpabuf *msg); 213ff40c12SJohn Marino int wps_build_vendor_ext_m1(struct wps_device_data *dev, struct wpabuf *msg); 223ff40c12SJohn Marino int wps_build_rf_bands(struct wps_device_data *dev, struct wpabuf *msg, 233ff40c12SJohn Marino u8 rf_band); 246d49e1aeSJan Lentfer int wps_build_primary_dev_type(struct wps_device_data *dev, 256d49e1aeSJan Lentfer struct wpabuf *msg); 263ff40c12SJohn Marino int wps_build_secondary_dev_type(struct wps_device_data *dev, 273ff40c12SJohn Marino struct wpabuf *msg); 283ff40c12SJohn Marino int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg); 296d49e1aeSJan Lentfer int wps_process_device_attrs(struct wps_device_data *dev, 306d49e1aeSJan Lentfer struct wps_parse_attr *attr); 316d49e1aeSJan Lentfer int wps_process_os_version(struct wps_device_data *dev, const u8 *ver); 32*a1157835SDaniel Fojt void wps_process_vendor_ext_m1(struct wps_device_data *dev, const u8 ext); 336d49e1aeSJan Lentfer int wps_process_rf_bands(struct wps_device_data *dev, const u8 *bands); 346d49e1aeSJan Lentfer void wps_device_data_free(struct wps_device_data *dev); 353ff40c12SJohn Marino int wps_build_vendor_ext(struct wps_device_data *dev, struct wpabuf *msg); 363ff40c12SJohn Marino int wps_build_req_dev_type(struct wps_device_data *dev, struct wpabuf *msg, 373ff40c12SJohn Marino unsigned int num_req_dev_types, 383ff40c12SJohn Marino const u8 *req_dev_types); 396d49e1aeSJan Lentfer 406d49e1aeSJan Lentfer #endif /* WPS_DEV_ATTR_H */ 41