Lines Matching refs:ias_opt
1877 struct irda_ias_set *ias_opt; in irda_setsockopt() local
1903 ias_opt = kmalloc(sizeof(struct irda_ias_set), GFP_ATOMIC); in irda_setsockopt()
1904 if (ias_opt == NULL) { in irda_setsockopt()
1910 if (copy_from_user(ias_opt, optval, optlen)) { in irda_setsockopt()
1911 kfree(ias_opt); in irda_setsockopt()
1920 if(ias_opt->irda_class_name[0] == '\0') { in irda_setsockopt()
1922 kfree(ias_opt); in irda_setsockopt()
1928 ias_obj = irias_find_object(ias_opt->irda_class_name); in irda_setsockopt()
1935 kfree(ias_opt); in irda_setsockopt()
1943 ias_obj = irias_new_object(ias_opt->irda_class_name, in irda_setsockopt()
1946 kfree(ias_opt); in irda_setsockopt()
1954 if(irias_find_attrib(ias_obj, ias_opt->irda_attrib_name)) { in irda_setsockopt()
1955 kfree(ias_opt); in irda_setsockopt()
1965 switch(ias_opt->irda_attrib_type) { in irda_setsockopt()
1970 ias_opt->irda_attrib_name, in irda_setsockopt()
1971 ias_opt->attribute.irda_attrib_int, in irda_setsockopt()
1976 if(ias_opt->attribute.irda_attrib_octet_seq.len > in irda_setsockopt()
1978 kfree(ias_opt); in irda_setsockopt()
1990 ias_opt->irda_attrib_name, in irda_setsockopt()
1991 ias_opt->attribute.irda_attrib_octet_seq.octet_seq, in irda_setsockopt()
1992 ias_opt->attribute.irda_attrib_octet_seq.len, in irda_setsockopt()
2003 ias_opt->attribute.irda_attrib_string.string[ias_opt->attribute.irda_attrib_string.len] = '\0'; in irda_setsockopt()
2007 ias_opt->irda_attrib_name, in irda_setsockopt()
2008 ias_opt->attribute.irda_attrib_string.string, in irda_setsockopt()
2012 kfree(ias_opt); in irda_setsockopt()
2021 kfree(ias_opt); in irda_setsockopt()
2034 ias_opt = kmalloc(sizeof(struct irda_ias_set), GFP_ATOMIC); in irda_setsockopt()
2035 if (ias_opt == NULL) { in irda_setsockopt()
2041 if (copy_from_user(ias_opt, optval, optlen)) { in irda_setsockopt()
2042 kfree(ias_opt); in irda_setsockopt()
2051 if(ias_opt->irda_class_name[0] == '\0') in irda_setsockopt()
2054 ias_obj = irias_find_object(ias_opt->irda_class_name); in irda_setsockopt()
2056 kfree(ias_opt); in irda_setsockopt()
2066 kfree(ias_opt); in irda_setsockopt()
2073 ias_opt->irda_attrib_name); in irda_setsockopt()
2075 kfree(ias_opt); in irda_setsockopt()
2084 kfree(ias_opt); in irda_setsockopt()
2091 kfree(ias_opt); in irda_setsockopt()
2183 static int irda_extract_ias_value(struct irda_ias_set *ias_opt, in irda_extract_ias_value() argument
2190 ias_opt->attribute.irda_attrib_int = ias_value->t.integer; in irda_extract_ias_value()
2194 ias_opt->attribute.irda_attrib_octet_seq.len = ias_value->len; in irda_extract_ias_value()
2196 memcpy(ias_opt->attribute.irda_attrib_octet_seq.octet_seq, in irda_extract_ias_value()
2201 ias_opt->attribute.irda_attrib_string.len = ias_value->len; in irda_extract_ias_value()
2202 ias_opt->attribute.irda_attrib_string.charset = ias_value->charset; in irda_extract_ias_value()
2204 memcpy(ias_opt->attribute.irda_attrib_string.string, in irda_extract_ias_value()
2207 ias_opt->attribute.irda_attrib_string.string[ias_value->len] = '\0'; in irda_extract_ias_value()
2215 ias_opt->irda_attrib_type = ias_value->type; in irda_extract_ias_value()
2230 struct irda_ias_set * ias_opt; /* IAS get/query params */ in irda_getsockopt() local
2320 ias_opt = kmalloc(sizeof(struct irda_ias_set), GFP_ATOMIC); in irda_getsockopt()
2321 if (ias_opt == NULL) { in irda_getsockopt()
2327 if (copy_from_user(ias_opt, optval, len)) { in irda_getsockopt()
2328 kfree(ias_opt); in irda_getsockopt()
2337 if(ias_opt->irda_class_name[0] == '\0') in irda_getsockopt()
2340 ias_obj = irias_find_object(ias_opt->irda_class_name); in irda_getsockopt()
2342 kfree(ias_opt); in irda_getsockopt()
2349 ias_opt->irda_attrib_name); in irda_getsockopt()
2351 kfree(ias_opt); in irda_getsockopt()
2357 err = irda_extract_ias_value(ias_opt, ias_attr->value); in irda_getsockopt()
2359 kfree(ias_opt); in irda_getsockopt()
2364 if (copy_to_user(optval, ias_opt, in irda_getsockopt()
2366 kfree(ias_opt); in irda_getsockopt()
2371 kfree(ias_opt); in irda_getsockopt()
2384 ias_opt = kmalloc(sizeof(struct irda_ias_set), GFP_ATOMIC); in irda_getsockopt()
2385 if (ias_opt == NULL) { in irda_getsockopt()
2391 if (copy_from_user(ias_opt, optval, len)) { in irda_getsockopt()
2392 kfree(ias_opt); in irda_getsockopt()
2412 daddr = ias_opt->daddr; in irda_getsockopt()
2414 kfree(ias_opt); in irda_getsockopt()
2424 kfree(ias_opt); in irda_getsockopt()
2433 kfree(ias_opt); in irda_getsockopt()
2444 ias_opt->irda_class_name, in irda_getsockopt()
2445 ias_opt->irda_attrib_name); in irda_getsockopt()
2452 kfree(ias_opt); in irda_getsockopt()
2461 kfree(ias_opt); in irda_getsockopt()
2473 err = irda_extract_ias_value(ias_opt, self->ias_result); in irda_getsockopt()
2477 kfree(ias_opt); in irda_getsockopt()
2482 if (copy_to_user(optval, ias_opt, in irda_getsockopt()
2484 kfree(ias_opt); in irda_getsockopt()
2489 kfree(ias_opt); in irda_getsockopt()