Example #1
0
int
xf86removeScreenDisplay(XF86ConfScreenPtr scrn, XF86ConfDisplayPtr display)
{
    XF86ConfDisplayPtr dsp, prev;

    if (scrn == NULL || display == NULL || scrn->scrn_display_lst == NULL)
	return (False);

    for (dsp = prev = scrn->scrn_display_lst; dsp != NULL;
	 prev = dsp, dsp = (XF86ConfDisplayPtr)(dsp->list.next))
	if (dsp == display) {
	    if (prev == dsp)
		scrn->scrn_display_lst =
		    (XF86ConfDisplayPtr)(dsp->list.next);
	    else
		prev->list.next = dsp->list.next;
	    xf86optionListFree(display->disp_option_lst);
	    XtFree((XtPointer)display->disp_visual);
	    xf86freeModeList(display->disp_mode_lst);
	    XtFree((XtPointer)display);

	    return (True);
	}

    return (False);
}
Example #2
0
int
xf86removeVendorSub(XF86ConfVendorPtr vendor, XF86ConfVendSubPtr sub)
{
    XF86ConfVendSubPtr prev;

    if (vendor == NULL || sub == NULL)
	return (False);

    if ((prev = vendor->vnd_sub_lst) == sub)
	vendor->vnd_sub_lst = (XF86ConfVendSubPtr)(vendor->vnd_sub_lst->list.next);
    else {
	while (prev && (XF86ConfVendSubPtr)(prev->list.next) != sub)
	    prev = (XF86ConfVendSubPtr)(prev->list.next);
	if (prev == NULL)
	    return (False);
	prev->list.next = sub->list.next;
    }

    xf86optionListFree(sub->vs_option_lst);
    XtFree(sub->vs_name);
    XtFree(sub->vs_identifier);
    XtFree((XtPointer)sub);

    return (True);
}
Example #3
0
int
xf86removeInputRef(XF86ConfLayoutPtr layout, XF86ConfInputPtr input)
{
    XF86ConfInputrefPtr prev, iref = layout->lay_input_lst;

    prev = iref;
    while (iref != NULL) {
	if (iref->iref_inputdev == input) {
	    XtFree(iref->iref_inputdev_str);
	    xf86optionListFree(iref->iref_option_lst);
	    if (prev == iref)
		layout->lay_input_lst =
		    (XF86ConfInputrefPtr)(iref->list.next);
	    else
		prev->list.next = iref->list.next;
	    XtFree((XtPointer)iref);

	    return (True);
	}
	prev = iref;
	iref = (XF86ConfInputrefPtr)(iref->list.next);
    }

    return (False);
}
Example #4
0
int
xf86removeModule(XF86ConfigPtr config, XF86LoadPtr load)
{
    XF86LoadPtr prev, mod;

    if (config == NULL || config->conf_modules == NULL ||
	config->conf_modules->mod_load_lst == NULL)
	return (False);

    for (mod = prev = config->conf_modules->mod_load_lst;
	 mod != NULL; prev = mod, mod = (XF86LoadPtr)(mod->list.next))
	if (load == mod) {
	    if (mod == prev)
		config->conf_modules->mod_load_lst =
		    (XF86LoadPtr)(mod->list.next);
	    else
		prev->list.next = mod->list.next;
	    XtFree(mod->load_name);
	    xf86optionListFree(mod->load_opt);

	    return (True);
	}

    return (False);
}
Example #5
0
int
xf86removeVendor(XF86ConfigPtr config, XF86ConfVendorPtr vendor)
{
    XF86ConfVendorPtr prev;

    if (config == NULL || vendor == NULL)
	return (False);

    if ((prev = config->conf_vendor_lst) == vendor)
	config->conf_vendor_lst = (XF86ConfVendorPtr)(config->conf_vendor_lst->list.next);
    else {
	while (prev && (XF86ConfVendorPtr)(prev->list.next) != vendor)
	    prev = (XF86ConfVendorPtr)(prev->list.next);
	if (prev == NULL)
	    return (False);
	prev->list.next = vendor->list.next;
    }

    xf86optionListFree(vendor->vnd_option_lst);
    xf86freeVendorSubList(vendor->vnd_sub_lst);
    XtFree(vendor->vnd_identifier);
    XtFree((XtPointer)vendor);

    return (True);
}
Example #6
0
void
xf86freeExtensions(XF86ConfExtensionsPtr ptr)
{
    if (ptr == NULL)
        return;

    xf86optionListFree(ptr->ext_option_lst);
    TestFree(ptr->extensions_comment);
    free(ptr);
}
Example #7
0
int
xf86removeLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout)
{
    XF86ConfLayoutPtr prev, lay = config->conf_layout_lst;
    XF86ConfAdjacencyPtr adj, nadj;
    XF86ConfInactivePtr inac, ninac;
    XF86ConfInputrefPtr iref, niref;

    if (config == NULL || layout == NULL)
	return (False);

    prev = lay;
    while (lay != NULL) {
	if (lay == layout)
	    break;
	prev = lay;
	lay = (XF86ConfLayoutPtr)(lay->list.next);
    }

    if (lay == NULL)
	return (False);

    adj = lay->lay_adjacency_lst;
    while (adj != NULL) {
	nadj = (XF86ConfAdjacencyPtr)(adj->list.next);
	xf86removeAdjacency(lay, adj);
	adj = nadj;
    }

    inac = lay->lay_inactive_lst;
    while (inac != NULL) {
	ninac = (XF86ConfInactivePtr)(inac->list.next);
	xf86removeInactive(lay, inac);
	inac = ninac;
    }

    iref = lay->lay_input_lst;
    while (iref != NULL) {
	niref = (XF86ConfInputrefPtr)(iref->list.next);
	xf86removeInputRef(lay, iref->iref_inputdev);
	iref = niref;
    }

    xf86optionListFree(lay->lay_option_lst);

    if (prev == lay)
	config->conf_layout_lst = (XF86ConfLayoutPtr)(lay->list.next);
    else
	prev->list.next = lay->list.next;
    XtFree(lay->lay_identifier);
    XtFree((XtPointer)lay);

    return (True);
}
Example #8
0
void
xf86freeVendorList (XF86ConfVendorPtr p)
{
	if (p == NULL)
		return;
	xf86freeVendorSubList (p->vnd_sub_lst);
	TestFree (p->vnd_identifier);
	TestFree (p->vnd_comment);
	xf86optionListFree (p->vnd_option_lst);
	free (p);
}
Example #9
0
int
xf86removeDevice(XF86ConfigPtr config, XF86ConfDevicePtr device)
{
    XF86ConfDevicePtr prev, dev = config->conf_device_lst;
    XF86ConfScreenPtr psc, scr = config->conf_screen_lst;

    /* remove from main structure */
    prev = dev;
    while (dev != NULL) {
	if (dev == device) {
	    if (dev == prev)
		config->conf_device_lst = (XF86ConfDevicePtr)(dev->list.next);
	    else
		prev->list.next = dev->list.next;
	    break;
	}
	prev = dev;
	dev = (XF86ConfDevicePtr)(dev->list.next);
    }

    if (dev == NULL)
	return (False);

    /* remove references */
    psc = scr;
    while (scr != NULL) {
	if (scr->scrn_device == device) {
	    xf86removeScreen(config, scr);
	    if (scr == psc)
		scr = psc = config->conf_screen_lst;
	    else
		scr = psc;
	    continue;
	}
	psc = scr;
	scr = (XF86ConfScreenPtr)(scr->list.next);
    }

    XtFree(dev->dev_identifier);
    XtFree(dev->dev_vendor);
    XtFree(dev->dev_board);
    XtFree(dev->dev_chipset);
    XtFree(dev->dev_busid);
    XtFree(dev->dev_card);
    XtFree(dev->dev_driver);
    XtFree(dev->dev_ramdac);
    XtFree(dev->dev_clockchip);
    XtFree(dev->dev_comment);
    xf86optionListFree(dev->dev_option_lst);
    XtFree((XtPointer)dev);

    return (True);
}
Example #10
0
void
xf86freeDisplayList(XF86ConfDisplayPtr ptr)
{
    XF86ConfDisplayPtr prev;

    while (ptr) {
        xf86freeModeList(ptr->disp_mode_lst);
        xf86optionListFree(ptr->disp_option_lst);
        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }
}
Example #11
0
static void
xf86freeInputrefList(XF86ConfInputrefPtr ptr)
{
    XF86ConfInputrefPtr prev;

    while (ptr) {
        TestFree(ptr->iref_inputdev_str);
        xf86optionListFree(ptr->iref_option_lst);
        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }

}
Example #12
0
void
xf86freeVideoPortList (XF86ConfVideoPortPtr ptr)
{
	XF86ConfVideoPortPtr prev;

	while (ptr)
	{
		TestFree (ptr->vp_identifier);
		TestFree (ptr->vp_comment);
		xf86optionListFree (ptr->vp_option_lst);
		prev = ptr;
		ptr = ptr->list.next;
		xf86conffree (prev);
	}
}
Example #13
0
static void
xf86freeVendorSubList(XF86ConfVendSubPtr ptr)
{
    XF86ConfVendSubPtr prev;

    while (ptr) {
        TestFree(ptr->vs_identifier);
        TestFree(ptr->vs_name);
        TestFree(ptr->vs_comment);
        xf86optionListFree(ptr->vs_option_lst);
        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }
}
Example #14
0
void
xf86freeModesList (XF86ConfModesPtr ptr)
{
	XF86ConfModesPtr prev;

	while (ptr)
	{
		TestFree (ptr->modes_identifier);
		TestFree (ptr->modes_comment);
		xf86freeModeLineList (ptr->mon_modeline_lst);
		xf86optionListFree (ptr->modes_option_lst);
		prev = ptr;
		ptr = ptr->list.next;
		xf86conffree (prev);
	}
}
Example #15
0
void
xf86freeInputList(XF86ConfInputPtr ptr)
{
    XF86ConfInputPtr prev;

    while (ptr) {
        TestFree(ptr->inp_identifier);
        TestFree(ptr->inp_driver);
        TestFree(ptr->inp_comment);
        xf86optionListFree(ptr->inp_option_lst);

        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }
}
Example #16
0
int
xf86removeMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr monitor)
{
    XF86ConfMonitorPtr prev, mon = config->conf_monitor_lst;
    XF86ConfScreenPtr psc, scr = config->conf_screen_lst;

    /* remove from main structure */
    prev = mon;
    while (mon != NULL) {
	if (mon == monitor) {
	    if (mon == prev)
		config->conf_monitor_lst = (XF86ConfMonitorPtr)(mon->list.next);
	    else
		prev->list.next = mon->list.next;
	    break;
	}
	prev = mon;
	mon = (XF86ConfMonitorPtr)(mon->list.next);
    }

    if (mon == NULL)
	return (False);

    /* remove references */
    psc = scr;
    while (scr != NULL) {
	if (scr->scrn_monitor == monitor) {
	    xf86removeScreen(config, scr);
	    if (scr == psc)
	    scr = psc = config->conf_screen_lst;
	    else
		scr = psc;
	    continue;
	}
	psc = scr;
	scr = (XF86ConfScreenPtr)(scr->list.next);
    }

    XtFree(mon->mon_identifier);
    XtFree(mon->mon_vendor);
    XtFree(mon->mon_modelname);
    XtFree(mon->mon_comment);
    xf86optionListFree(mon->mon_option_lst);
    XtFree((XtPointer)mon);

    return (True);
}
Example #17
0
void
xf86freeScreenList(XF86ConfScreenPtr ptr)
{
    XF86ConfScreenPtr prev;

    while (ptr) {
        TestFree(ptr->scrn_identifier);
        TestFree(ptr->scrn_monitor_str);
        TestFree(ptr->scrn_device_str);
        TestFree(ptr->scrn_comment);
        xf86optionListFree(ptr->scrn_option_lst);
        xf86freeAdaptorLinkList(ptr->scrn_adaptor_lst);
        xf86freeDisplayList(ptr->scrn_display_lst);
        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }
}
Example #18
0
void
xf86freeFilesList (XF86ConfFilesPtr ptr)
{
	XF86ConfFilesPtr prev;

	while (ptr)
	{
		TestFree (ptr->file_logfile);
		TestFree (ptr->file_rgbpath);
		TestFree (ptr->file_modulepath);
		TestFree (ptr->file_inputdevs);
		TestFree (ptr->file_fontpath);
		TestFree (ptr->file_comment);
		TestFree (ptr->file_identifier);
		xf86optionListFree (ptr->file_option_lst);
		prev = ptr;
		ptr = ptr->list.next;
		xf86conffree(prev);
	}
}
Example #19
0
void
xf86freeVideoAdaptorList (XF86ConfVideoAdaptorPtr ptr)
{
	XF86ConfVideoAdaptorPtr prev;

	while (ptr)
	{
		TestFree (ptr->va_identifier);
		TestFree (ptr->va_vendor);
		TestFree (ptr->va_board);
		TestFree (ptr->va_busid);
		TestFree (ptr->va_driver);
		TestFree (ptr->va_fwdref);
		TestFree (ptr->va_comment);
		xf86freeVideoPortList (ptr->va_port_lst);
		xf86optionListFree (ptr->va_option_lst);
		prev = ptr;
		ptr = ptr->list.next;
		xf86conffree (prev);
	}
}
Example #20
0
void
xf86freeDeviceList(XF86ConfDevicePtr ptr)
{
    XF86ConfDevicePtr prev;

    while (ptr) {
        TestFree(ptr->dev_identifier);
        TestFree(ptr->dev_vendor);
        TestFree(ptr->dev_board);
        TestFree(ptr->dev_chipset);
        TestFree(ptr->dev_card);
        TestFree(ptr->dev_driver);
        TestFree(ptr->dev_ramdac);
        TestFree(ptr->dev_clockchip);
        TestFree(ptr->dev_comment);
        xf86optionListFree(ptr->dev_option_lst);

        prev = ptr;
        ptr = ptr->list.next;
        free(prev);
    }
}
Example #21
0
int
xf86removeVideoPort(XF86ConfVideoAdaptorPtr va, XF86ConfVideoPortPtr vp)
{
    XF86ConfVideoPortPtr prev;

    if (va == NULL || vp == NULL)
	return (False);

    if ((prev = va->va_port_lst) == vp)
	va->va_port_lst = (XF86ConfVideoPortPtr)(va->va_port_lst->list.next);
    else {
	while (prev && (XF86ConfVideoPortPtr)(prev->list.next) != vp)
	    prev = (XF86ConfVideoPortPtr)(prev->list.next);
	if (prev == NULL)
	    return (False);
	prev->list.next = vp->list.next;
    }

    xf86optionListFree(vp->vp_option_lst);
    XtFree((XtPointer)vp);

    return (True);
}
Example #22
0
int
xf86removeInput(XF86ConfigPtr config, XF86ConfInputPtr input)
{
    XF86ConfInputPtr prev, inp = config->conf_input_lst;
    XF86ConfLayoutPtr lay = config->conf_layout_lst;

    /* remove from main structure */
    prev = inp;
    while (inp != NULL) {
	if (inp == input) {
	    if (inp == prev)
		config->conf_input_lst = (XF86ConfInputPtr)(inp->list.next);
	    else
		prev->list.next = inp->list.next;
	    break;
	}
	prev = inp;
	inp = (XF86ConfInputPtr)(inp->list.next);
    }

    if (inp == NULL)
	return (False);

    /* remove references */
    while (lay != NULL) {
	xf86removeInputRef(lay, inp);
	lay = (XF86ConfLayoutPtr)(lay->list.next);
    }

    XtFree(inp->inp_identifier);
    XtFree(inp->inp_driver);
    XtFree(inp->inp_comment);
    xf86optionListFree(inp->inp_option_lst);
    XtFree((XtPointer)inp);

    return (True);
}
Example #23
0
int
xf86removeVideoAdaptor(XF86ConfigPtr config, XF86ConfVideoAdaptorPtr video)
{
    XF86ConfVideoAdaptorPtr vid;
    XF86ConfScreenPtr scrn;
    XF86ConfVideoPortPtr vp, next;

    if (config == NULL || video == NULL)
	return (False);

    /* check if video is in config and update videoadaptor list */
    if ((vid = config->conf_videoadaptor_lst) == video)
	config->conf_videoadaptor_lst = (XF86ConfVideoAdaptorPtr)(vid->list.next);
    else
	for (; vid != NULL; vid = (XF86ConfVideoAdaptorPtr)(vid->list.next))
	    if ((XF86ConfVideoAdaptorPtr)(vid->list.next) == video) {
		vid->list.next = video->list.next;
		break;
	    }

    if (vid == NULL)
	return (False);

    /* remove references in screen sections */
    scrn = config->conf_screen_lst;
    while (scrn) {
	XF86ConfAdaptorLinkPtr v, p;

	v = p = scrn->scrn_adaptor_lst;
	while (v) {
	    if (v->al_adaptor == video) {
		XtFree(v->al_adaptor_str);
		if (v == scrn->scrn_adaptor_lst)
		    p = scrn->scrn_adaptor_lst =
			(XF86ConfAdaptorLinkPtr)(v->list.next);
		else {
		    p->list.next = v->list.next;
		    p = p->list.next;
		}
		XtFree((XtPointer)v);
		v = p;
		continue;
	    }
	    p = v;
	    v = (XF86ConfAdaptorLinkPtr)(v->list.next);
	}
	scrn = (XF86ConfScreenPtr)(scrn->list.next);
    }

    /* free videoports */
    vp = video->va_port_lst;
    while (vp) {
	next = (XF86ConfVideoPortPtr)(vp->list.next);
	XtFree(vp->vp_identifier);
	xf86optionListFree(vp->vp_option_lst);
	XtFree((XtPointer)vp);
	vp = next;
    }

    /* free videoadaptor */
    XtFree(video->va_identifier);
    XtFree(video->va_vendor);
    XtFree(video->va_board);
    XtFree(video->va_busid);
    XtFree(video->va_driver);
    XtFree(video->va_fwdref);
    xf86optionListFree(video->va_option_lst);
    XtFree((XtPointer)video);

    return (True);
}
Example #24
0
int
xf86removeScreen(XF86ConfigPtr config, XF86ConfScreenPtr screen)
{
    XF86ConfScreenPtr prev, scrn;
    XF86ConfLayoutPtr lay;

    if (config == NULL || screen == NULL)
	return (False);

    lay = config->conf_layout_lst;
    prev = scrn = config->conf_screen_lst;

    while (scrn != NULL) {
	if (scrn == screen) {
	    if (scrn == prev)
		config->conf_screen_lst = (XF86ConfScreenPtr)(scrn->list.next);
	    else
		prev->list.next = scrn->list.next;
	    break;
	}
	prev = scrn;
	scrn = (XF86ConfScreenPtr)(scrn->list.next);
    }

    if (scrn == NULL)
	return (False);

    while (lay != NULL) {
	XF86ConfAdjacencyPtr pad, ad = NULL, adj = lay->lay_adjacency_lst;

	pad = adj;
	while (adj) {
	    if (adj->adj_screen == screen)
		ad = adj;
	    else {
		if (adj->adj_top != NULL && adj->adj_top == screen) {
		    XtFree(adj->adj_top_str);
		    adj->adj_top_str = NULL;
		    adj->adj_top = NULL;
		}
		else if (adj->adj_bottom != NULL && adj->adj_bottom == screen) {
		    XtFree(adj->adj_bottom_str);
		    adj->adj_bottom_str = NULL;
		    adj->adj_bottom = NULL;
		}
		else if (adj->adj_left != NULL && adj->adj_left == screen) {
		    XtFree(adj->adj_left_str);
		    adj->adj_left_str = NULL;
		    adj->adj_left = NULL;
		}
		else if (adj->adj_right != NULL && adj->adj_right == screen) {
		    XtFree(adj->adj_right_str);
		    adj->adj_right_str = NULL;
		    adj->adj_right = NULL;
		}
		else if (adj->adj_refscreen != NULL &&
		    strcasecmp(scrn->scrn_identifier,
			       adj->adj_refscreen) == 0) {
		    XtFree(adj->adj_refscreen);
		    adj->adj_refscreen = NULL;
		    adj->adj_where = CONF_ADJ_ABSOLUTE;
		    adj->adj_x = adj->adj_y = 0;
		}
	    }
	    if (ad == NULL)
		pad = adj;
	    adj = (XF86ConfAdjacencyPtr)(adj->list.next);
	}

	if (ad != NULL) {
	    if (ad == lay->lay_adjacency_lst)
		lay->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(ad->list.next);
	    else
		pad->list.next = (XF86ConfAdjacencyPtr)(ad->list.next);
	    XtFree(ad->adj_screen_str);
	    XtFree(ad->adj_top_str);
	    XtFree(ad->adj_bottom_str);
	    XtFree(ad->adj_left_str);
	    XtFree(ad->adj_right_str);
	    XtFree(ad->adj_refscreen);
	    XtFree((XtPointer)ad);
	}

	lay = (XF86ConfLayoutPtr)(lay->list.next);
    }

    xf86freeAdaptorLinkList(screen->scrn_adaptor_lst);
    xf86freeDisplayList(screen->scrn_display_lst);

    XtFree(screen->scrn_identifier);
    XtFree(screen->scrn_monitor_str);
    XtFree(screen->scrn_device_str);
    xf86optionListFree(screen->scrn_option_lst);
    XtFree((XtPointer)screen);

    return (True);
}