/* (As all part of the Linux kernel, this file is GPL)  */
int iw_handler_get_private(struct net_device *dev, struct iw_request_info *info, union iwreq_data *wrqu, char *extra)
/* (As all part of the Linux kernel, this file is GPL)  */
int iw_handler_get_private(struct net_device *dev, struct iw_request_info *info, union iwreq_data *wrqu, char *extra)
{
	if ((dev->wireless_handlers->num_private_args == 0) ||
	   (dev->wireless_handlers->private_args == NULL))
		return -EOPNOTSUPP;
	if (wrqu->data.length < dev->wireless_handlers->num_private_args) {
		wrqu->data.length = dev->wireless_handlers->num_private_args;
		return -E2BIG;
	}
	wrqu->data.length = dev->wireless_handlers->num_private_args;
	memcpy(extra, dev->wireless_handlers->private_args,
	       sizeof(struct iw_priv_args) * wrqu->data.length);
	return 0;
}