summaryrefslogtreecommitdiff
path: root/config/config.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11config: Replace xstrdup with strdup in add_option()Mikhail Gusarov1-1/+1
All callers of add_option pass string literal as "key" argument except one, where non-NULL condition is guarded by if(). Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-06-11Get rid of xstrdup when argument is definitely non-NULLMikhail Gusarov1-1/+1
Replace xstrdup with strdup when either constant string is being duplicated or argument is guarded by conditionals and obviously can't be NULL Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-05-26Revert "Add a "flags" field to DeleteInputDeviceRequest."Keith Packard1-1/+1
Peter wants to get a larger patch sequence put together and I didn't read past the commit message to see the 'don't take this patch please'. This reverts commit 531ff40301975519af7b20109c17d296312d3f2b.
2010-05-25Add a "flags" field to DeleteInputDeviceRequest.Peter Hutterer1-1/+1
Some input drivers need to implement an internal hotplugging scheme for dependent devices to provide multiple X devices off one kernel device file. Such dependent devices can be added with NewInputDeviceRequest() but they are not removed when the config backend calls DeleteInputDeviceRequest(), leaving the original device to clean up. Example of the wacom driver: config/udev calls NewInputDeviceRequest("stylus") wacom PreInit calls NewInputDeviceRequest("eraser") NewInputDeviceRequest("pad") NewInputDeviceRequest("cursor") PreInit finishes. When the device is removed, the config backend only calls DeleteInputDeviceRequest for "stylus". The driver needs to call DeleteInputDeviceRequest for the dependent devices eraser, pad and cursor to clean up properly. However, when the server terminates, DeleteInputDeviceRequest is called for all devices - the driver must not remove the dependent devices to avoid double-frees. There is no method for the driver to detect why a device is being removed, leading to elaborate guesswork and some amount of wishful thinking. Though the input driver's UnInit already supports flags, they are unused. This patch uses the flags to supply information where the DeleteInputDeviceRequest request originates from, allowing a driver to selectively call DeleteInputDeviceRequest when necessary. Also bumps XINPUT ABI. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-13Replace X-allocation functions with their C89 counterpartsMikhail Gusarov1-1/+1
The only remaining X-functions used in server are XNF*, the rest is converted to plain alloc/calloc/realloc/free/strdup. X* functions are still exported from server and x* macros are still defined in header file, so both ABI and API are not affected by this change. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-12-30config: add libudev input-hotplug backendJulien Cristau1-2/+75
Add a backend using libudev for input hotplug, and disable the hal and dbus backends if this one is enabled. XKB configuration happens using xkb{rules,model,layout,variant,options} properties (case-insensitive) on the device. We fill in InputAttributes to allow configuration through InputClass in Xorg. Requires udev 148 for the input_id helper and ID_INPUT* properties. Signed-off-by: Julien Cristau <jcristau@debian.org> Acked-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-11config: ANSI cleanupsJulien Cristau1-2/+2
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-2/+2
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade1-2/+2
This is the biggest "visibility" patch. Instead of doing a "export" symbol on demand, export everything in the sdk, so that if some module fails due to an unresolved symbol, it is because it is using a symbol not in the sdk. Most exported symbols shouldn't really be made visible, neither advertised in the sdk, as they are only used by a single shared object. Symbols in the sdk (or referenced in sdk macros), but not defined anywhere include: XkbBuildCoreState() XkbInitialMap XkbXIUnsupported XkbCheckActionVMods() XkbSendCompatNotify() XkbDDXFakePointerButton() XkbDDXApplyConfig() _XkbStrCaseCmp() _XkbErrMessages[] _XkbErrCode _XkbErrLocation _XkbErrData XkbAccessXDetailText() XkbNKNDetailMaskText() XkbLookupGroupAndLevel() XkbInitAtoms() XkbGetOrderedDrawables() XkbFreeOrderedDrawables() XkbConvertXkbComponents() XkbWriteXKBSemantics() XkbWriteXKBLayout() XkbWriteXKBKeymap() XkbWriteXKBFile() XkbWriteCFile() XkbWriteXKMFile() XkbWriteToServer() XkbMergeFile() XkmFindTOCEntry() XkmReadFileSection() XkmReadFileSectionName() InitExtInput() xf86CheckButton() xf86SwitchCoreDevice() RamDacSetGamma() RamDacRestoreDACValues() xf86Bpp xf86ConfigPix24 xf86MouseCflags[] xf86SupportedMouseTypes[] xf86NumMouseTypes xf86ChangeBusIndex() xf86EntityEnter() xf86EntityLeave() xf86WrapperInit() xf86RingBell() xf86findOptionBoolean() xf86debugListOptions() LoadSubModuleLocal() LoaderSymbolLocal() getInt10Rec() xf86CurrentScreen xf86ReallocatePciResources() xf86NewSerialNumber() xf86RandRSetInitialMode() fbCompositeSolidMask_nx1xn fbCompositeSolidMask_nx8888x0565C fbCompositeSolidMask_nx8888x8888C fbCompositeSolidMask_nx8x0565 fbCompositeSolidMask_nx8x0888 fbCompositeSolidMask_nx8x8888 fbCompositeSrc_0565x0565 fbCompositeSrc_8888x0565 fbCompositeSrc_8888x0888 fbCompositeSrc_8888x8888 fbCompositeSrcAdd_1000x1000 fbCompositeSrcAdd_8000x8000 fbCompositeSrcAdd_8888x8888 fbGeneration fbIn fbOver fbOver24 fbOverlayGeneration fbRasterizeEdges fbRestoreAreas fbSaveAreas composeFunctions VBEBuildVbeModeList() VBECalcVbeModeIndex() TIramdac3030CalculateMNPForClock() shadowBufPtr shadowFindBuf() miRRGetScreenInfo() RRSetScreenConfig() RRModePruneUnused() PixmanImageFromPicture() extern int miPointerGetMotionEvents() miClipPicture() miRasterizeTriangle() fbPush1toN() fbInitializeBackingStore() ddxBeforeReset() SetupSprite() InitSprite() DGADeliverEvent() SPECIAL CASES o defined as _X_INTERNAL xf86NewInputDevice() o defined as static fbGCPrivateKey fbOverlayScreenPrivateKey fbScreenPrivateKey fbWinPrivateKey o defined in libXfont.so, but declared in xorg/dixfont.h GetGlyphs() QueryGlyphExtents() QueryTextExtents() ParseGlyphCachingMode() InitGlyphCaching() SetGlyphCachingMode()
2007-08-01Config: Add missing includeDaniel Stone1-0/+1
2007-08-01Convert all my license statements to the standard formDaniel Stone1-17/+19
Convert all my license statements to the standard, accepted form: cf. <20070717142307.GD13478@fooishbar.org> http://lists.freedesktop.org/archives/xorg/2007-July/026451.html keithp's license on configure.ac changed with his verbal permission.
2007-08-01Hotplug: Add HAL supportDaniel Stone1-2/+13
Add support for HAL-based hotplugging, in which we just get the list of input devices and properties from HAL. Requires an FDI which is not yet in mainline HAL.
2007-08-01Hotplug: Separate D-Bus into core and hotplug API componentsDaniel Stone1-478/+16
Break up D-Bus into two components: a D-Bus core that can be used by any part of the server (for the moment, just the D-Bus hotplug API, and the forthcoming HAL hotplug API), and the old D-Bus hotplug API.
2007-04-19config: Return errors as negative numbers, device ids as positive numbers.Peter Hutterer1-0/+3
Update dbus-api documentation.
2007-04-19Change dbus 'listDevices' call to not require an argument.Peter Hutterer1-13/+20
Update dbus-api documentation, plug memory leak on dbus reply error.
2007-04-11Config: Extend D-BUS APIRemigiusz Marcinkiewicz1-15/+71
Return device ID where available. Add listDevices call, which does what it says on the box.
2007-04-10Config: Fix memory leaksMagnus Vigerlöf1-15/+12
Fix memory leaks that could occur along the error path.
2007-04-10Input: Add DeleteInputDeviceRequestMagnus Vigerlöf1-1/+1
Add DIDR, which asks the DDX to remove a device, analogous to NewInputDeviceRequest. Only implemented for XFree86 at the moment.
2007-04-09Bug #10560: Code-Cleanup: function declarations () -> (void)Stefan Huehner1-2/+2
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560> Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-02-17config: error message cleanupDaniel Stone1-3/+3
Demote failure to connect from ErrorF to DebugF.
2006-12-19Include sys/select.h to get FD_ISSET.Eric Anholt1-0/+1
2006-12-06whitespace policeDaniel Stone1-1/+1
2006-12-06config: bus reconnect supportDaniel Stone1-37/+118
Add support for reconnecting to the bus when it restarts.
2006-12-06config: move to block/wakeup handlerDaniel Stone1-47/+65
2006-11-08config: error messages non-fatal, and before we free themDaniel Stone1-10/+12
Move error messages before we free the error structure, and make them all non-fatal.
2006-11-07A couple more cases of error message before freeing strings.Eric Anholt1-2/+2
2006-11-07Report the error before freeing the error strings.Eric Anholt1-1/+1
2006-10-20config/dbus: always unref the connection, not closeDaniel Stone1-4/+4
2006-10-20config/dbus: properly initialise vtableDaniel Stone1-5/+1
Properly initialise the vtable, so we don't end up with an unregister_function pointing to god knows where.
2006-10-15config: unref connection, don't close itDaniel Stone1-1/+5
Just unref the connection instead of explicitly closing it (thanks, Rob McQueen). Add a commented-out unregister_object_path call: unfortunately, when we call it, libdbus segfaults. But if we don't unregister the path, we can't register it again. So regenerations are broken either way, but a little less violently like this.
2006-10-15config: add replies and dbus api documentationDaniel Stone1-113/+179
Add replies, which use standard X error values, to the two currently-supported input configuration requests. Document the D-BUS API we use. Make sure we free everything when we encounter an error. Add a _source option to all incoming requests, noting that it came from a client. Reject all requests to add a device where an option name contains an underscore.
2006-10-08config: fix compilationDaniel Stone1-2/+2
Accidentally built with --disable-config, didn't notice that the previous commit to clean up the debugging broke things horribly.
2006-10-08config: remove excessive debuggingDaniel Stone1-32/+18
2006-08-24config: clean up debugging messages, make failure to acquire name fatalDaniel Stone1-12/+16
Bomb with FatalError when we can't acquire the bus and name. Clean up a bunch of debugging ErrorFs to be hidden behind #ifdef DEBUG.
2006-08-07config client: fix minor race with event queueDaniel Stone1-0/+4
Fix a small race whereby you could remove a device while events from it were still in the queue, by calling ProcessInputEvents immediately before RemoveDevice, to (hopefully) flush the event queue.
2006-07-21add basic D-BUS configuration mechanismDaniel Stone1-0/+289
Also move LookupDeviceIntRec into the DIX, and add InputOption type, and NewInputDeviceRequest prototype (DIX requests DDX to add a device). Does not link without an implemented NIDR.