rem: int put_module(const char *path)
add: put_module(const char *path)
context: int put_module(const char *path){	module *m = (module *)hash_get(modules_list, path, strlen(path));		if (!m) {		dprintf("We don't seem to have a reference to module %s\n", path);		return EINVAL;	}	DEC_MOD_REF_COUNT(m);	if (m->ref_cnt == 0) {		/* We have no more references to this module. Next, do we need to 		 * keep_loaded? If we do just return;		 */		if (m->keep_loaded == false) {			/* so we should be OK to unload the actual module file, but just			 * check first if ir provides any other modules that are still in use.			 */			uninit_module(m);			if (m->module->ref_cnt == 0)				unload_module_file(m->file);		}	}	return B_NO_ERROR;}