Lines Matching full:sh

47 int semanage_module_install(semanage_handle_t * sh,  in semanage_module_install()  argument
50 if (sh->funcs->install == NULL) { in semanage_module_install()
51 ERR(sh, in semanage_module_install()
54 } else if (!sh->is_connected) { in semanage_module_install()
55 ERR(sh, "Not connected."); in semanage_module_install()
57 } else if (!sh->is_in_transaction) { in semanage_module_install()
58 if (semanage_begin_transaction(sh) < 0) { in semanage_module_install()
62 sh->modules_modified = 1; in semanage_module_install()
63 return sh->funcs->install(sh, module_data, data_len, name, ext_lang); in semanage_module_install()
66 int semanage_module_install_file(semanage_handle_t * sh, in semanage_module_install_file() argument
69 if (sh->funcs->install_file == NULL) { in semanage_module_install_file()
70 ERR(sh, in semanage_module_install_file()
73 } else if (!sh->is_connected) { in semanage_module_install_file()
74 ERR(sh, "Not connected."); in semanage_module_install_file()
76 } else if (!sh->is_in_transaction) { in semanage_module_install_file()
77 if (semanage_begin_transaction(sh) < 0) { in semanage_module_install_file()
81 sh->modules_modified = 1; in semanage_module_install_file()
82 return sh->funcs->install_file(sh, module_name); in semanage_module_install_file()
85 int semanage_module_extract(semanage_handle_t * sh, in semanage_module_extract() argument
91 if (sh->funcs->extract == NULL) { in semanage_module_extract()
92 ERR(sh, in semanage_module_extract()
95 } else if (!sh->is_connected) { in semanage_module_extract()
96 ERR(sh, "Not connected."); in semanage_module_extract()
99 return sh->funcs->extract(sh, modkey, extract_cil, mapped_data, data_len, modinfo); in semanage_module_extract()
105 int semanage_module_upgrade_file(semanage_handle_t * sh, in semanage_module_upgrade_file() argument
108 return semanage_module_install_file(sh, module_name); in semanage_module_upgrade_file()
111 int semanage_module_remove(semanage_handle_t * sh, char *module_name) in semanage_module_remove() argument
113 if (sh->funcs->remove == NULL) { in semanage_module_remove()
114 ERR(sh, "No remove function defined for this connection type."); in semanage_module_remove()
116 } else if (!sh->is_connected) { in semanage_module_remove()
117 ERR(sh, "Not connected."); in semanage_module_remove()
119 } else if (!sh->is_in_transaction) { in semanage_module_remove()
120 if (semanage_begin_transaction(sh) < 0) { in semanage_module_remove()
124 sh->modules_modified = 1; in semanage_module_remove()
125 return sh->funcs->remove(sh, module_name); in semanage_module_remove()
128 int semanage_module_list(semanage_handle_t * sh, in semanage_module_list() argument
131 if (sh->funcs->list == NULL) { in semanage_module_list()
132 ERR(sh, "No list function defined for this connection type."); in semanage_module_list()
134 } else if (!sh->is_connected) { in semanage_module_list()
135 ERR(sh, "Not connected."); in semanage_module_list()
138 return sh->funcs->list(sh, modinfo, num_modules); in semanage_module_list()
180 int semanage_module_info_create(semanage_handle_t *sh, in semanage_module_info_create() argument
183 assert(sh); in semanage_module_info_create()
189 return semanage_module_info_init(sh, *modinfo); in semanage_module_info_create()
193 int semanage_module_info_destroy(semanage_handle_t *sh, in semanage_module_info_destroy() argument
196 assert(sh); in semanage_module_info_destroy()
205 return semanage_module_info_init(sh, modinfo); in semanage_module_info_destroy()
209 int semanage_module_info_init(semanage_handle_t *sh, in semanage_module_info_init() argument
212 assert(sh); in semanage_module_info_init()
223 int semanage_module_info_clone(semanage_handle_t *sh, in semanage_module_info_clone() argument
227 assert(sh); in semanage_module_info_clone()
234 ret = semanage_module_info_destroy(sh, target); in semanage_module_info_clone()
240 ret = semanage_module_info_set_priority(sh, target, source->priority); in semanage_module_info_clone()
246 ret = semanage_module_info_set_name(sh, target, source->name); in semanage_module_info_clone()
252 ret = semanage_module_info_set_lang_ext(sh, target, source->lang_ext); in semanage_module_info_clone()
258 ret = semanage_module_info_set_enabled(sh, target, source->enabled); in semanage_module_info_clone()
265 if (status != 0) semanage_module_info_destroy(sh, target); in semanage_module_info_clone()
269 int semanage_module_info_get_priority(semanage_handle_t *sh, in semanage_module_info_get_priority() argument
273 assert(sh); in semanage_module_info_get_priority()
283 int semanage_module_info_get_name(semanage_handle_t *sh, in semanage_module_info_get_name() argument
287 assert(sh); in semanage_module_info_get_name()
297 int semanage_module_info_get_lang_ext(semanage_handle_t *sh, in semanage_module_info_get_lang_ext() argument
301 assert(sh); in semanage_module_info_get_lang_ext()
311 int semanage_module_info_get_enabled(semanage_handle_t *sh, in semanage_module_info_get_enabled() argument
315 assert(sh); in semanage_module_info_get_enabled()
325 int semanage_module_info_set_priority(semanage_handle_t *sh, in semanage_module_info_set_priority() argument
329 assert(sh); in semanage_module_info_set_priority()
335 ERR(sh, "Priority %d is invalid.", priority); in semanage_module_info_set_priority()
345 int semanage_module_info_set_name(semanage_handle_t *sh, in semanage_module_info_set_name() argument
349 assert(sh); in semanage_module_info_set_name()
358 ERR(sh, "Name %s is invalid.", name); in semanage_module_info_set_name()
364 ERR(sh, "No memory available for strdup"); in semanage_module_info_set_name()
375 int semanage_module_info_set_lang_ext(semanage_handle_t *sh, in semanage_module_info_set_lang_ext() argument
379 assert(sh); in semanage_module_info_set_lang_ext()
388 ERR(sh, "Language extensions %s is invalid.", lang_ext); in semanage_module_info_set_lang_ext()
394 ERR(sh, "No memory available for strdup"); in semanage_module_info_set_lang_ext()
405 int semanage_module_info_set_enabled(semanage_handle_t *sh, in semanage_module_info_set_enabled() argument
409 assert(sh); in semanage_module_info_set_enabled()
415 ERR(sh, "Enabled status %d is invalid.", enabled); in semanage_module_info_set_enabled()
425 int semanage_module_get_path(semanage_handle_t *sh, in semanage_module_get_path() argument
431 assert(sh); in semanage_module_get_path()
441 modules_path = sh->is_in_transaction ? in semanage_module_get_path()
451 ERR(sh, in semanage_module_get_path()
464 ERR(sh, "Unable to compose priority path."); in semanage_module_get_path()
474 ERR(sh, in semanage_module_get_path()
484 ERR(sh, "Name %s is invalid.", modinfo->name); in semanage_module_get_path()
496 ERR(sh, "Unable to compose name path."); in semanage_module_get_path()
514 ERR(sh, in semanage_module_get_path()
524 ERR(sh, "Name %s is invalid.", modinfo->name); in semanage_module_get_path()
537 ERR(sh, in semanage_module_get_path()
549 ERR(sh, "Name %s is invalid.", modinfo->name); in semanage_module_get_path()
560 ERR(sh, in semanage_module_get_path()
567 ERR(sh, "Invalid module path type %d.", type); in semanage_module_get_path()
576 int semanage_module_key_create(semanage_handle_t *sh, in semanage_module_key_create() argument
579 assert(sh); in semanage_module_key_create()
585 return semanage_module_key_init(sh, *modkey); in semanage_module_key_create()
589 int semanage_module_key_destroy(semanage_handle_t *sh, in semanage_module_key_destroy() argument
592 assert(sh); in semanage_module_key_destroy()
600 return semanage_module_key_init(sh, modkey); in semanage_module_key_destroy()
604 int semanage_module_key_init(semanage_handle_t *sh, in semanage_module_key_init() argument
607 assert(sh); in semanage_module_key_init()
616 int semanage_module_key_get_name(semanage_handle_t *sh, in semanage_module_key_get_name() argument
620 assert(sh); in semanage_module_key_get_name()
630 int semanage_module_key_get_priority(semanage_handle_t *sh, in semanage_module_key_get_priority() argument
634 assert(sh); in semanage_module_key_get_priority()
644 int semanage_module_key_set_name(semanage_handle_t *sh, in semanage_module_key_set_name() argument
648 assert(sh); in semanage_module_key_set_name()
657 ERR(sh, "Name %s is invalid.", name); in semanage_module_key_set_name()
663 ERR(sh, "No memory available for strdup"); in semanage_module_key_set_name()
676 int semanage_module_key_set_priority(semanage_handle_t *sh, in semanage_module_key_set_priority() argument
680 assert(sh); in semanage_module_key_set_priority()
685 ERR(sh, "Priority %d is invalid.", priority); in semanage_module_key_set_priority()
695 int semanage_module_get_enabled(semanage_handle_t *sh, in semanage_module_get_enabled() argument
699 assert(sh); in semanage_module_get_enabled()
703 if (sh->funcs->get_enabled == NULL) { in semanage_module_get_enabled()
704 ERR(sh, in semanage_module_get_enabled()
707 } else if (!sh->is_connected) { in semanage_module_get_enabled()
708 ERR(sh, "Not connected."); in semanage_module_get_enabled()
712 return sh->funcs->get_enabled(sh, modkey, enabled); in semanage_module_get_enabled()
715 int semanage_module_set_enabled(semanage_handle_t *sh, in semanage_module_set_enabled() argument
719 assert(sh); in semanage_module_set_enabled()
722 if (sh->funcs->set_enabled == NULL) { in semanage_module_set_enabled()
723 ERR(sh, in semanage_module_set_enabled()
726 } else if (!sh->is_connected) { in semanage_module_set_enabled()
727 ERR(sh, "Not connected."); in semanage_module_set_enabled()
729 } else if (!sh->is_in_transaction) { in semanage_module_set_enabled()
730 if (semanage_begin_transaction(sh) < 0) { in semanage_module_set_enabled()
735 sh->modules_modified = 1; in semanage_module_set_enabled()
736 return sh->funcs->set_enabled(sh, modkey, enabled); in semanage_module_set_enabled()
901 int semanage_module_get_module_info(semanage_handle_t *sh, in semanage_module_get_module_info() argument
905 assert(sh); in semanage_module_get_module_info()
909 if (sh->funcs->get_module_info == NULL) { in semanage_module_get_module_info()
910 ERR(sh, in semanage_module_get_module_info()
913 } else if (!sh->is_connected) { in semanage_module_get_module_info()
914 ERR(sh, "Not connected."); in semanage_module_get_module_info()
918 return sh->funcs->get_module_info(sh, modkey, modinfo); in semanage_module_get_module_info()
921 int semanage_module_list_all(semanage_handle_t *sh, in semanage_module_list_all() argument
925 assert(sh); in semanage_module_list_all()
929 if (sh->funcs->list_all == NULL) { in semanage_module_list_all()
930 ERR(sh, in semanage_module_list_all()
933 } else if (!sh->is_connected) { in semanage_module_list_all()
934 ERR(sh, "Not connected."); in semanage_module_list_all()
938 return sh->funcs->list_all(sh, modinfos, modinfos_len); in semanage_module_list_all()
941 int semanage_module_install_info(semanage_handle_t *sh, in semanage_module_install_info() argument
946 if (sh->funcs->install_info == NULL) { in semanage_module_install_info()
947 ERR(sh, in semanage_module_install_info()
950 } else if (!sh->is_connected) { in semanage_module_install_info()
951 ERR(sh, "Not connected."); in semanage_module_install_info()
953 } else if (!sh->is_in_transaction) { in semanage_module_install_info()
954 if (semanage_begin_transaction(sh) < 0) { in semanage_module_install_info()
958 sh->modules_modified = 1; in semanage_module_install_info()
959 return sh->funcs->install_info(sh, modinfo, data, data_len); in semanage_module_install_info()
962 int semanage_module_remove_key(semanage_handle_t *sh, in semanage_module_remove_key() argument
965 if (sh->funcs->remove_key == NULL) { in semanage_module_remove_key()
966 ERR(sh, in semanage_module_remove_key()
969 } else if (!sh->is_connected) { in semanage_module_remove_key()
970 ERR(sh, "Not connected."); in semanage_module_remove_key()
972 } else if (!sh->is_in_transaction) { in semanage_module_remove_key()
973 if (semanage_begin_transaction(sh) < 0) { in semanage_module_remove_key()
977 sh->modules_modified = 1; in semanage_module_remove_key()
978 return sh->funcs->remove_key(sh, modkey); in semanage_module_remove_key()
994 int semanage_module_compute_checksum(semanage_handle_t *sh, in semanage_module_compute_checksum() argument
1015 result = semanage_module_extract(sh, modkey, cil, &data, &data_len, &extract_info); in semanage_module_compute_checksum()
1019 semanage_module_info_destroy(sh, extract_info); in semanage_module_compute_checksum()