示例#1
0
/*
	Display registers window
*/
GtkWidget* display_dbgpclog_window(void)
{
	GladeXML *xml;
	GtkWidget *dbox;
    GtkWidget *data;
	
	xml = glade_xml_new
		(tilp_paths_build_glade("dbg_pclog-2.glade"), "dbgpclog_window",
		 PACKAGE);
	if (!xml)
		g_error(_("%s: GUI loading failed !\n"), __FILE__);
	glade_xml_signal_autoconnect(xml);
	
	dbox = glade_xml_get_widget(xml, "dbgpclog_window");

	data = glade_xml_get_widget(xml, "treeview1");
    store = clist_create(data);
	clist_populate(store);

	gtk_tree_view_expand_all(GTK_TREE_VIEW(data));
	gtk_widget_show(data);

	gtk_window_resize(GTK_WINDOW(dbox), options3.pclog.w, options3.pclog.h);
	gtk_window_move(GTK_WINDOW(dbox), options3.pclog.x, options3.pclog.y);
    gtk_widget_show(GTK_WIDGET(dbox));

	already_open = !0;

	return dbox;
}
示例#2
0
文件: dbg_heap.c 项目: debrouxl/tiemu
/*
	Display registers window
*/
GtkWidget* dbgheap_create_window(void)
{
	GtkWidget *dbox;
    GtkWidget *data;
	
	xml = glade_xml_new
		(tilp_paths_build_glade("dbg_heap-2.glade"), "dbgheap_window",
		 PACKAGE);
	if (!xml)
		g_error(_("%s: GUI loading failed !\n"), __FILE__);
	glade_xml_signal_autoconnect(xml);
	
	dbox = glade_xml_get_widget(xml, "dbgheap_window");
	gtk_window_set_transient_for(GTK_WINDOW(dbox), GTK_WINDOW(main_wnd));

	data = glade_xml_get_widget(xml, "treeview1");
    store = clist_create(data);
	clist_populate(store);

	gtk_tree_view_expand_all(GTK_TREE_VIEW(data));

	already_open = !0;

	return wnd = dbox;
}
示例#3
0
static void notebook_add_page(GtkWidget *notebook, const char* tab_name)
{
	GtkListStore *store;
	GtkWidget *label;
	GtkWidget *child;
	GtkNotebook *nb = GTK_NOTEBOOK(notebook);
	gint page = gtk_notebook_get_current_page(nb);
	uint32_t addr;
	
	label = gtk_label_new(tab_name);
	gtk_widget_show(label);

    child = clist_create(&store);

	// display normal
	sscanf(tab_name, "%06x", &addr);
   	clist_populate(store, addr, DUMP_SIZE);

	gtk_widget_show(child);

	gtk_notebook_insert_page(nb, child, label, page);
	gtk_notebook_set_current_page(nb, page);

    gtk_widget_grab_focus(child);
}
示例#4
0
文件: cevent.c 项目: Joinhack/chat
cevents *cevents_create() {
	cevents *evts;
	int len;
	len = sizeof(cevents);
	evts = (cevents *)jmalloc(len);

	memset((void *)evts, 0, len);
	evts->events = jmalloc(sizeof(cevent) * MAX_EVENTS);
	memset(evts->events, 0, sizeof(cevent) * MAX_EVENTS);
	evts->fired_fds = jmalloc(sizeof(int) * MAX_EVENTS);
	for(size_t i = 0; i < MAX_EVENTS; i++) {
		evts->events[i].fired_queue = clist_create();
	}
	evts->fired_fds = clist_create();
	LOCK_INIT(&evts->qlock);
	LOCK_INIT(&evts->lock);
	cevents_create_priv_impl(evts);
	evts->poll_sec = 0;
	evts->poll_ms = 0;
	evts->timers = ctimer_base_create();
	return evts;
}
示例#5
0
int main(int argc, char const *argv[]) {
	size_t i;
	lock = SL_UNLOCK;
	cl = clist_create();
	count = 0;
	for(i = 0; i < 6; i++)
		clist_lpush(cl, NULL);

	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);
	clist_rpop(cl);

	for(i = 0; i < 6; i++)
		clist_lpush(cl, NULL);
	clist_destroy(cl);

	cl = clist_create();
	for(i = 0; i < 1000; i++)
		clist_rpush(cl, NULL);
	for(i = 0; i < 1000; i++)
		clist_lpush(cl, NULL);

	for(i = 0; i < 1000; i++)
		clist_lpop(cl);

	for(i = 0; i < 1000; i++)
		clist_rpop(cl);

	clist_destroy(cl);
	printf("%llu\n", used_mem());

	return 0;
}
示例#6
0
int main(void)
{
	int i;
	int* data[10];
	CList list;

	// 10 test data
	for (i = 0; i< 10; i++)
	{
		data[i] = (int*)malloc(sizeof(int));
		*data[i] = i;
	}

	list = clist_create(debug_free);

	//insert node after head
	for (i = 0;i < 5 ;i++)
	{
		clist_ins_next(list,clist_head(list),data[i]);
		clist_debug(list);
	}

	//insert node as head
	for (i = 0;i < 5 ;i++)
	{
		clist_ins_next(list,NULL,data[i+5]);
		clist_debug(list);
	}

	//remove node after head
	for (i = 0; i < 5 ;i++)
	{
		clist_rmv_next(list, clist_head(list), &data[i]);
		free(data[i]);
		clist_debug(list);
	}
	//remove head node
	for (i = 0; i < 3 ;i++)
	{
		clist_rmv_next(list, NULL, &data[i+5]);
		free(data[i+5]);
		clist_debug(list);
	}

	clist_destroy(list);

	return 0;
}
示例#7
0
cevents *cevents_create() {
	cevents *evts;
	int len;
	len = sizeof(cevents);
	evts = (cevents *)jmalloc(len);
	memset((void *)evts, len, 0);
	evts->events = jmalloc(sizeof(cevent) * MAX_EVENTS);
	evts->fired = jmalloc(sizeof(cevent_fired) * MAX_EVENTS);
	evts->fired_queue = clist_create();
	LOCK_INIT(&evts->qlock);
	LOCK_INIT(&evts->lock);
	cevents_create_priv_impl(evts);
	evts->poll_sec = 0;
	evts->poll_ms = 0;
	return evts;
}
示例#8
0
文件: session.c 项目: BruceYi/okl4
struct session *
session_create(objref_t object, L4_ThreadId_t *server_tid)
{
    clist_ref_t clist;
    struct session *session;

    clist = clist_create();
    if (clist == 0) {
        return 0;
    }
    session = session_create_with_clist(object, clist, server_tid);

    if (session == NULL) {
        clist_delete(clist);
        return NULL;
    }

    session->own_clist = 1;

    return session;
}
示例#9
0
文件: dbg_code.c 项目: debrouxl/tiemu
/*
	Display source code window
*/
GtkWidget* display_dbgcode_window(void)
{
	GladeXML *xml;
	GtkWidget *dbox;
    GtkWidget *data;
	
	xml = glade_xml_new
		(tilp_paths_build_glade("dbg_code-2.glade"), "dbgcode_window",
		 PACKAGE);
	if (!xml)
		g_error(_("%s: GUI loading failed !\n"), __FILE__);
	glade_xml_signal_autoconnect(xml);
	
	dbox = glade_xml_get_widget(xml, "dbgcode_window");

	tb.b1 = glade_xml_get_widget(xml, "button1");
	tb.b2 = glade_xml_get_widget(xml, "button2");
	tb.b3 = glade_xml_get_widget(xml, "button3");
	tb.b4 = glade_xml_get_widget(xml, "button4");
	tb.b5 = glade_xml_get_widget(xml, "button5");
	tb.b6 = glade_xml_get_widget(xml, "button6");
    list = glade_xml_get_widget(xml, "treeview1");

	data = glade_xml_get_widget(xml, "treeview1");
    store = clist_create(data);
	clist_populate(store, ti68k_debug_get_pc());

	gtk_tree_view_expand_all(GTK_TREE_VIEW(data));
	gtk_widget_show(data);

	gtk_window_resize(GTK_WINDOW(dbox), options3.code.w, options3.code.h);
	gtk_window_move(GTK_WINDOW(dbox), options3.code.x, options3.code.y);
    gtk_widget_show(GTK_WIDGET(dbox));

	already_open = !0;

	return dbox;
}
示例#10
0
int main(int argc, char const *argv[]) {
	int m, i, ret;
	data data;
	cthread *thr;
	data.cq = clist_create();
	data.lock = SL_UNLOCK;
	cthr_pool *pool = cthr_pool_create(10); 
	cthr_pool_destroy(pool);
	pool = cthr_pool_create(100); 
	for(m = 0; m < 100; m++) {
		for(i = 0; i < 10; i++){
			spinlock_lock(&data.lock);
			clist_lpush(data.cq, NULL);
			spinlock_unlock(&data.lock);
		}
		cthr_pool_run_task(pool, print_test, &data);
	}
	cthr_pool_destroy(pool);
	for(i = 0; i < pool->size; i++) {
		thr = pool->thrs + i;
		printf("%d\n", thr->state);
	}
	return 0;
}
示例#11
0
gint dbgvectors_display_dbox(void)
{
	GladeXML *xml;
	GtkWidget *dbox;
	GtkWidget *data;
	gint result;
	
	xml = glade_xml_new
		(tilp_paths_build_glade("dbg_vectors-2.glade"), "dbgvectors_dbox",
		 PACKAGE);
	if (!xml)
		g_error(_("%s: GUI loading failed !\n"), __FILE__);
	glade_xml_signal_autoconnect(xml);
	
	dbox = glade_xml_get_widget(xml, "dbgvectors_dbox");
	gtk_window_resize(GTK_WINDOW(dbox), 320, 240);
		
	data = glade_xml_get_widget(xml, "treeview1");
    clist_create(data);
	clist_populate(data);	
	
	result = gtk_dialog_run(GTK_DIALOG(dbox));
	switch (result) 
	{
	case GTK_RESPONSE_OK:
		clist_get_selection(data);
		dbgbkpts_refresh_window();
		break;
	default:
		break;
	}

	gtk_widget_destroy(dbox);

	return 0;
}
示例#12
0
gint display_romversion_dbox(gboolean file_only)
{
    GladeXML *xml;
	GtkWidget *data;
    gint result;
    GtkListStore *store;
	
	xml = glade_xml_new
		(tilp_paths_build_glade("romversion-2.glade"), "romversion_dbox",
		 PACKAGE);
	if (!xml)
		g_error(_("%s: GUI loading failed!\n"), __FILE__);
	glade_xml_signal_autoconnect(xml);

    // display list box
	dbox = glade_xml_get_widget(xml, "romversion_dbox");
	gtk_dialog_set_alternative_button_order(GTK_DIALOG(dbox), GTK_RESPONSE_OK,
	                                        GTK_RESPONSE_CANCEL,-1);
    
    data = glade_xml_get_widget(xml, "clist1");
    store = clist_create(data);
	clist_populate(store);
    
	// run main box
	gtk_dialog_set_response_sensitive(GTK_DIALOG(dbox), GTK_RESPONSE_OK, FALSE);
	result = gtk_dialog_run(GTK_DIALOG(dbox));
	gtk_widget_destroy(dbox);

	switch (result) 
	{
		case GTK_RESPONSE_OK:
            if(chosen_file == NULL)
                break;

			if(!ti68k_is_a_img_file(chosen_file))
				break;

            // Remove previous tib file
            g_free(params.tib_file);
			params.tib_file = g_strconcat("", NULL);

            // Set new image
			g_free(params.rom_file);
			params.rom_file = g_strconcat(inst_paths.img_dir, chosen_file, NULL);
			g_free(chosen_file);
            chosen_file = NULL;

            if(file_only) return 0;

            // Restart engine by exiting the GTK loop
			g_free(params.sav_file);
			params.sav_file = g_strdup("");

			while(gtk_events_pending()) gtk_main_iteration();
			gtk_main_quit();	
		break;
		
		default:
            if(file_only) return -1;
		break;
	}

	return 0;
}