Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ryanneph/xserver
  • wjp/xserver
  • DemiMarie/xserver
  • uvas/xserver
  • cl91/xserver
  • heymiaoO/xserver
  • oreaus/xserver
  • miztake/xserver
  • stapelberg/xserver
  • PaulKocialkowski/xserver
  • CendioOssman/xserver
  • wiz/xserver
  • maos20008/xserver
  • dougvj/xserver
  • gldrk/xserver
  • TMR5454/xserver
  • nathankidd/xserver
  • cubanismo/xserver
  • agoins/xserver
  • kleinerm/xserver
  • zagursky/xserver
  • Kyawswat/xserver
  • hexiaodong/xserver
  • gilvbp/xserver
  • vliaskov/xserver
  • aarondill/xserver
  • zzyiwei/xserver
  • arichardson/xserver
  • jcherry/xserver
  • erwinou/xserver
  • jexposit/xserver
  • refi_64/xserver
  • xorg/xserver
  • kupper.pa/xserver
  • kbrenneman/xserver
  • thesamesam/xserver
  • LickmeDown/xserver
  • meMuszr/xserver
  • Julia/xserver
  • twaik/xserver
  • fvalasiad/xserver
  • zzxyb/xserver
  • HermannSW/xserver
  • ekurzinger/xserver
  • NSUTanghaixiang/xserver
  • huxd1532/xserver
  • vinilokorlok/xserver
  • bbeckett/xserver
  • dslater38/xserver
  • emersion/xserver
  • zzag/xserver
  • ccullumbine2018/xserver
  • daniels/xserver
  • doraskayo/xserver
  • llandwerlin/xserver
  • XDXTHX/xserver
  • zboszor/xserver
  • jadahl/xserver
  • shadeslayer/xserver
  • ecurtin/xserver
  • pekdon/xserver
  • tomty89/xserver
  • russellcnv/xserver
  • orbea/xserver
  • lyudess/xserver
  • lucmann/xserver
  • tmlind/xserver
  • tholin/xserver
  • chema/xserver
  • J-Bu/xserver
  • chenhuacai/xserver
  • E5ten/xserver
  • haagch/xserver
  • whot/xserver
  • nacho.resa/xserver
  • strassek/xserver
  • tzimmermann/xserver
  • liyi42/xserver
  • YusufKhan-gamedev/xserver
  • mgorse1/xserver
  • iv-m/xserver
  • vanvugt/xserver
  • keithp/xserver
  • Rui511/xserver
  • catap/xserver
  • tjbp/xserver
  • webi123/xserver
  • djlucas/xserver
  • noblock/xserver
  • freemangordon/xserver
  • xdandys/xserver
  • afett/xserver
  • xexaxo/xserver
  • jbeich/xserver
  • zeising/xserver
  • romangg/xserver
  • mbiebl/xserver
  • pq/xserver
  • azhadchenko/xserver
  • vsyrjala/xserver
  • manu/xserver
  • Emantor/xserver
  • lostgoat/xserver
  • carlosg/xserver
  • yarivb/xserver
  • kwg/xserver
  • pichika/xserver
  • marv/xserver
  • jcristau/xserver
  • mntmn/xserver
  • klniu/xserver
  • TAAPArthur/xserver
  • sjoerd/xserver
  • Sjecai2/xserver
  • 3v1n0/xserver
  • awilfox/xserver
  • pkubaj/xserver
  • os369510/xserver
  • Gorg/xserver
  • Zamundaaa/xserver
  • lkundrak/xserver
  • niveditharau/xserver
  • ForTheReallys/xserver
  • jmonteiro/xserver
  • jocelyn/xserver
  • fweimer/xserver
  • ThatMG393/xserver
  • mlankhorst/xserver
  • dbn/xserver
  • jturney/xserver
  • mattrope/xserver
  • coypoop/xserver
  • schreibemirhalt/xserver
  • frog/xserver
  • mherrb/xserver
  • rarbab/xserver
  • yshui/xserver
  • muesli4/xserver
  • jannau/xserver
  • mikeroyal/xserver
  • andrebsguedes/xserver
  • JeffyCN/xserver
  • ipominov/xserver
  • gtrentalancia/xserver
  • lucyllewy/xserver
  • qarmin/xserver
  • tagr/xserver
  • zwenna/xserver
  • bkylerussell/xserver
  • mupuf/xserver
  • zubzub/xserver
  • galaxytgtabiday/xserver
  • OlCe/xserver
  • ashafer/xserver
  • dengbo/xserver
  • valpackett/xserver
  • andreyknyazev077/xserver
  • antonovitch/xserver
  • contactshashanksharma/xserver-fork-shashank
  • gsittyz/xserver
  • akihiko.odaki/xserver
  • rnpnr/xserver
  • sknsean/xserver
  • hitong602/xserver
  • halfline/xserver
  • ismailsiege/xserver
  • dongwonk/xserver
  • GermanAizek/xserver
  • FeepingCreature/xserver
  • Acidburn0zzz/xserver
  • mvlad/xserver
  • puleglot/xserver
  • smelenius/xserver
  • sewn/xserver
  • kaichuan.hsieh/xserver
  • Fatton1/xserver
  • aditj/xserver
  • adamdruppe/xserver
  • SimonPilkington/xserver
  • floppym/xserver
  • trevdave/xserver
  • headrush/xserver
  • luke-jr/xserver
  • davidriley/xserver
  • heitbaum/xserver
  • goosen78/xserver
  • Ma/xserver
  • gmbr3/xserver
  • sherrodejjohnson/xserver
  • tsutsui/xserver
  • ydc-dadada/xserver
  • wengxt/xserver
  • icenowy/xserver
  • denisfa/xserver
  • StarsGreen/xserver
  • adamjrichter/xserver
  • bigon/xserver
  • djacewicz/xserver
  • davidre/xserver
  • kylin0061/xserver
  • arrowd/xserver
  • p12tic/xserver
  • karlosrangel337/xserver
  • bbrezillon/xserver
  • penguin42/xserver
  • anarsoul/xserver
  • marvinjr35/xserver
  • gerddie/xserver
  • knisht/xserver
  • metux/xserver
  • xry111/xserver
  • psyruss85/xserver
  • luporl/xserver
  • cbur201592/xserver
  • bphaslett/xserver
  • guillem/xserver
  • haihao/xserver
  • zaps166/xserver
  • bentiss/xserver
  • rilian-la-te/xserver
  • wujiangGitHub/xserver
  • mrisaacb/xserver
  • ross/xserver
  • davidedmundson/xserver
  • topimiettinen/xserver
  • MisterDA/xserver
  • DPA/xserver
  • dkorkmazturk/xserver
  • olv/xserver
  • lihongtao/xserver
  • sthibaul/xserver
  • ydirson/xserver
  • karamjameelmoore/xserver
  • RyzenDew/xserver
  • christian-rauch/xserver
  • Vivek/xserver
  • kerneltoast/xserver
  • peigongdsd/xserver
  • peng.jin/xserver
  • dixler/xserver
  • mehdigh419/xserver
  • BBaoVanC/xserver
  • Drakulix/xserver
  • bafanahub/xserver
  • jengelh/xserver
  • yangxiaojuan-loongson/xserver
  • pepp/xserver
  • cgzones/xserver
  • luyn/xserver
  • ids1024/xserver
  • svalaskevicius/xserver
  • eschwartz/xserver
  • jayantpranjal0/xserver
  • hmazlan/xserver
  • Michaelypk/xserver
  • dottedmag/xserver
  • hassoon1986/xserver
  • aplattner/xserver
  • sergiomb/xserver
  • looi/xserver
  • robclark/xserver
  • vitoux.pascal/xserver
  • kennylevinsen/xserver
  • Kishore409/xserver
  • msizanoen1/xserver
  • Daasin/xserver
  • xinbowang/xserver
  • mwei/xserver
  • SpikyCaterpillar1/xserver
  • devin11911191/xserver
  • alex-tu-cc/xserver
  • kaniini/xserver
  • alagner/xserver
  • jcourreges/xserver
  • n3rdopolis/xserver
  • cooperch/xserver
  • peterh/xserver
  • alanc/xserver
  • anholt/xserver
  • themaister/xserver
  • josch/xserver
  • jrtc27/xserver
  • JoseExposito/xserver
  • lanodan/xserver
  • Hi-Angel/xserver
  • City-busz/xserver
  • karolherbst/xserver
  • daenzer/xserver
  • dawnhan/xserver
  • avolkov/xserver
  • Tuetuopay/xserver
  • gabifalk/xserver
  • jeremyhu/xserver
  • road2react/xserver
  • 1480c1/xserver
  • Spintzyk/xserver
  • abono/xserver
  • ajax/xserver
  • dougg3/xserver
  • chenx_dust/xserver
  • ernstp/xserver
  • EXtremeExploit/xserver
  • starnight/xserver
  • dirbaio/xserver
  • jwrdegoede/xserver
  • vfjpl/xserver
  • acelan/xserver
  • airlied/xserver
  • justazarsky/xserver
  • sri-ka1ki/xserver
  • benpicco/xserver
  • kaocher82/xserver
  • rgfernandes/xserver
  • lynxeye/xserver
  • tintou/xserver
  • rmader/xserver
  • linkmauve/xserver
  • mattst88/xserver
  • kamarul6401/xserver
  • andy-zetier/xserver
  • bernhardu/xserver
  • causztic/xserver
  • cpmichael/modesetting
  • mwyraz/xserver
  • zhangyaning/xserver
  • hongaoo/xserver
  • LiChenG-P/xserver
  • jsg/xserver
  • Ivaniku/x-taylan
  • dk/xserver
  • manuelcrack642/xserver
  • dkg/xserver
  • ofourdan/xserver
  • mahkoh/xserver
  • AkiSakurai/xserver
  • 1740301466jxz/xserver
  • ZhiJie.Zhang/xserver
  • chengbo7135/xserver
338 results
Show changes
Commits on Source (7)
  • nerdopolis's avatar
    xephyr: Don't check for SeatId anymore · 4c03b67d
    nerdopolis authored and n3rdopolis's avatar n3rdopolis committed
    After a change for the xserver to automatically determine the seat
    based on the XDG_SEAT variable, xephyr stopped working. This was
    because of an old feature where xephyr used to handle evdev
    directly. This was dropped some time ago, and now this check is
    not needed
    4c03b67d
  • nia's avatar
    config/wscons: Fix build and add support for NetBSD · bcee84c3
    nia authored and Povilas Kanapickas's avatar Povilas Kanapickas committed
    
    Signed-off-by: default avatarNia Alarie <nia@NetBSD.org>
    bcee84c3
  • nia's avatar
    config/wscons: Always attach the "ws" driver for pointer devices, · 9946b0f1
    nia authored and Povilas Kanapickas's avatar Povilas Kanapickas committed
    rather than "mouse".
    
    Both OpenBSD and NetBSD (the only downstream users of this code)
    are both patching in this currently.
    
    Signed-off-by: default avatarNia Alarie <nia@NetBSD.org>
    9946b0f1
  • Povilas Kanapickas's avatar
    meson: Remove config macros that are no longer used · 34b870da
    Povilas Kanapickas authored
    
    All of the macros in question are not used in current xserver sources.
    
    Signed-off-by: default avatarPovilas Kanapickas <povilas@radix.lt>
    34b870da
  • Povilas Kanapickas's avatar
    dix: Correctly save replayed event into GrabInfoRec · 6ef5c057
    Povilas Kanapickas authored
    When processing events we operate on InternalEvent pointers. They may
    actually refer to a an instance of DeviceEvent, GestureEvent or any
    other event that comprises the InternalEvent union. This works well in
    practice because we always look into event type before doing anything,
    except in the case of copying the event.
    
    *dst_event = *src_event would copy whole InternalEvent event and would
    cause out of bounds read in case the pointed to event was not
    InternalEvent but e.g. DeviceEvent.
    
    This regression has been introduced in
    23a8b62d.
    
    Fixes xorg/xserver#1261
    
    
    
    Signed-off-by: default avatarPovilas Kanapickas <povilas@radix.lt>
    6ef5c057
  • Povilas Kanapickas's avatar
    dix: Fix use after free in input device shutdown · 1801fe0a
    Povilas Kanapickas authored
    
    This fixes access to freed heap memory via dev->master. E.g. when
    running BarrierNotify.ReceivesNotifyEvents/7 test from
    xorg-integration-tests:
    
    ==24736==ERROR: AddressSanitizer: heap-use-after-free on address
    0x619000065020 at pc 0x55c450e2b9cf bp 0x7fffc532fd20 sp 0x7fffc532fd10
    READ of size 4 at 0x619000065020 thread T0
        #0 0x55c450e2b9ce in GetMaster ../../../dix/devices.c:2722
        #1 0x55c450e9d035 in IsFloating ../../../dix/events.c:346
        #2 0x55c4513209c6 in GetDeviceUse ../../../Xi/xiquerydevice.c:525
    ../../../Xi/xichangehierarchy.c:95
        #4 0x55c450e3455c in RemoveDevice ../../../dix/devices.c:1204
    ../../../hw/xfree86/common/xf86Xinput.c:1142
        #6 0x55c450e17b04 in CloseDeviceList ../../../dix/devices.c:1038
        #7 0x55c450e1de85 in CloseDownDevices ../../../dix/devices.c:1068
        #8 0x55c450e837ef in dix_main ../../../dix/main.c:302
        #9 0x55c4517a8d93 in main ../../../dix/stubmain.c:34
    (/lib/x86_64-linux-gnu/libc.so.6+0x28564)
        #11 0x55c450d0113d in _start (/usr/lib/xorg/Xorg+0x117713d)
    
    0x619000065020 is located 160 bytes inside of 912-byte region
    [0x619000064f80,0x619000065310)
    freed by thread T0 here:
    (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
        #1 0x55c450e19f1c in CloseDevice ../../../dix/devices.c:1014
        #2 0x55c450e343a4 in RemoveDevice ../../../dix/devices.c:1186
    ../../../hw/xfree86/common/xf86Xinput.c:1142
        #4 0x55c450e17b04 in CloseDeviceList ../../../dix/devices.c:1038
        #5 0x55c450e1de85 in CloseDownDevices ../../../dix/devices.c:1068
        #6 0x55c450e837ef in dix_main ../../../dix/main.c:302
        #7 0x55c4517a8d93 in main ../../../dix/stubmain.c:34
    (/lib/x86_64-linux-gnu/libc.so.6+0x28564)
    
    previously allocated by thread T0 here:
    (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10ddc6)
        #1 0x55c450e1c57b in AddInputDevice ../../../dix/devices.c:259
        #2 0x55c450e34840 in AllocDevicePair ../../../dix/devices.c:2755
        #3 0x55c45130318f in add_master ../../../Xi/xichangehierarchy.c:152
    ../../../Xi/xichangehierarchy.c:465
        #5 0x55c4512cb9f5 in ProcIDispatch ../../../Xi/extinit.c:390
        #6 0x55c450e6a92b in Dispatch ../../../dix/dispatch.c:551
        #7 0x55c450e834b7 in dix_main ../../../dix/main.c:272
        #8 0x55c4517a8d93 in main ../../../dix/stubmain.c:34
    (/lib/x86_64-linux-gnu/libc.so.6+0x28564)
    
    The problem is caused by dev->master being not reset when disabling the
    device, which then causes dangling pointer when the master device itself
    is being deleted when exiting whole server.
    
    Note that RecalculateMasterButtons() requires dev->master to be still
    valid, so we can reset it only at the end of function.
    
    Signed-off-by: default avatarPovilas Kanapickas <povilas@radix.lt>
    1801fe0a
  • Olivier Fourdan's avatar
    xwayland: Fix cursor color · 6ad6517a
    Olivier Fourdan authored
    When using colored X11 cursors, the colors would appear wrong, yellow
    would show white, green would show as cyan, and blue would show black
    whereas red would show fine.
    
    This is because the code expanding the cursor data accounts for green
    for both green and blue channels. Funnily this bug has been there from
    the beginning.
    
    Fix the issue by correctly account for the color channels.
    
    Closes: #1303
    
    
    Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    Reviewed-by: Simon Ser's avatarSimon Ser <contact@emersion.fr>
    Reviewed-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
    6ad6517a
......@@ -1524,7 +1524,7 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
g = AllocGrab(devgrab);
BUG_WARN(!g);
*dev->deviceGrab.sync.event = *ev;
CopyPartialInternalEvent(dev->deviceGrab.sync.event, ev);
/* The listener array has a sequence of grabs and then one event
* selection. Implicit grab activation occurs through delivering an
......
......@@ -19,7 +19,7 @@ if build_udev
config_dep += udev_dep
endif
if host_machine.system() == 'openbsd'
if host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd'
srcs_config += 'wscons.c'
endif
......
......@@ -30,6 +30,7 @@
#include <sys/ioctl.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
......@@ -54,7 +55,10 @@ struct nameint {
char *name;
} kbdenc[] = {
KB_OVRENC,
KB_ENCTAB,
KB_ENCTAB
#ifndef __NetBSD__
,
#endif
{0}
};
......@@ -220,7 +224,11 @@ wscons_add_pointers(void)
for (i = 0; i < 4; i++) {
snprintf(devname, sizeof(devname), "%s%d", WSCONS_MOUSE_PREFIX, i);
LogMessageVerb(X_INFO, 10, "wsmouse: checking %s\n", devname);
fd = open_device(devnamem O_RDWR | O_NONBLOCK | O_EXCL);
#ifdef HAVE_OPEN_DEVICE
fd = open_device(devname, O_RDWR | O_NONBLOCK | O_EXCL);
#else
fd = open(devname, O_RDWR | O_NONBLOCK | O_EXCL);
#endif
if (fd == -1) {
LogMessageVerb(X_WARNING, 10, "%s: %s\n", devname, strerror(errno));
continue;
......@@ -233,9 +241,11 @@ wscons_add_pointers(void)
}
close(fd);
switch (wsmouse_type) {
#ifdef WSMOUSE_TYPE_SYNAPTICS
case WSMOUSE_TYPE_SYNAPTICS:
wscons_add_pointer(devname, "synaptics", ATTR_TOUCHPAD);
break;
#endif
case WSMOUSE_TYPE_TPANEL:
wscons_add_pointer(devname, "ws", ATTR_TOUCHSCREEN);
break;
......@@ -243,8 +253,8 @@ wscons_add_pointers(void)
break;
}
}
/* Add a default entry catching all other mux elements as "mouse" */
wscons_add_pointer(WSCONS_MOUSE_PREFIX, "mouse", ATTR_POINTER);
/* Add a default entry catching all other mux elements as pointers */
wscons_add_pointer(WSCONS_MOUSE_PREFIX, "ws", ATTR_POINTER);
}
int
......
......@@ -520,6 +520,7 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent)
}
RecalculateMasterButtons(dev);
dev->master = NULL;
return TRUE;
}
......
......@@ -467,6 +467,20 @@ WindowXI2MaskIsset(DeviceIntPtr dev, WindowPtr win, xEvent *ev)
return xi2mask_isset(inputMasks->xi2mask, dev, evtype);
}
/**
* When processing events we operate on InternalEvent pointers. They may actually refer to a
* an instance of DeviceEvent, GestureEvent or any other event that comprises the InternalEvent
* union. This works well in practice because we always look into event type before doing anything,
* except in the case of copying the event. Any copying of InternalEvent should use this function
* instead of doing *dst_event = *src_event whenever it's not clear whether source event actually
* points to full InternalEvent instance.
*/
void
CopyPartialInternalEvent(InternalEvent* dst_event, const InternalEvent* src_event)
{
memcpy(dst_event, src_event, src_event->any.length);
}
Mask
GetEventMask(DeviceIntPtr dev, xEvent *event, InputClients * other)
{
......@@ -3873,7 +3887,7 @@ void ActivateGrabNoDelivery(DeviceIntPtr dev, GrabPtr grab,
if (grabinfo->sync.state == FROZEN_NO_EVENT)
grabinfo->sync.state = FROZEN_WITH_EVENT;
*grabinfo->sync.event = *real_event;
CopyPartialInternalEvent(grabinfo->sync.event, real_event);
}
static BOOL
......@@ -4455,7 +4469,7 @@ FreezeThisEventIfNeededForSyncGrab(DeviceIntPtr thisDev, InternalEvent *event)
case FREEZE_NEXT_EVENT:
grabinfo->sync.state = FROZEN_WITH_EVENT;
FreezeThaw(thisDev, TRUE);
*grabinfo->sync.event = *event;
CopyPartialInternalEvent(grabinfo->sync.event, event);
break;
}
}
......
......@@ -70,25 +70,23 @@ InitInput(int argc, char **argv)
KdKeyboardInfo *ki;
KdPointerInfo *pi;
if (!SeatId) {
KdAddKeyboardDriver(&EphyrKeyboardDriver);
KdAddPointerDriver(&EphyrMouseDriver);
if (!kdHasKbd) {
ki = KdNewKeyboard();
if (!ki)
FatalError("Couldn't create Xephyr keyboard\n");
ki->driver = &EphyrKeyboardDriver;
KdAddKeyboard(ki);
}
KdAddKeyboardDriver(&EphyrKeyboardDriver);
KdAddPointerDriver(&EphyrMouseDriver);
if (!kdHasKbd) {
ki = KdNewKeyboard();
if (!ki)
FatalError("Couldn't create Xephyr keyboard\n");
ki->driver = &EphyrKeyboardDriver;
KdAddKeyboard(ki);
}
if (!kdHasPointer) {
pi = KdNewPointer();
if (!pi)
FatalError("Couldn't create Xephyr pointer\n");
pi->driver = &EphyrMouseDriver;
KdAddPointer(pi);
}
if (!kdHasPointer) {
pi = KdNewPointer();
if (!pi)
FatalError("Couldn't create Xephyr pointer\n");
pi->driver = &EphyrMouseDriver;
KdAddPointer(pi);
}
KdInitInput();
......
......@@ -54,9 +54,11 @@ expand_source_and_mask(CursorPtr cursor, CARD32 *data)
p = data;
fg = ((cursor->foreRed & 0xff00) << 8) |
(cursor->foreGreen & 0xff00) | (cursor->foreGreen >> 8);
(cursor->foreGreen & 0xff00) |
(cursor->foreBlue >> 8);
bg = ((cursor->backRed & 0xff00) << 8) |
(cursor->backGreen & 0xff00) | (cursor->backGreen >> 8);
(cursor->backGreen & 0xff00) |
(cursor->backBlue >> 8);
stride = BitmapBytePad(bits->width);
for (y = 0; y < bits->height; y++)
for (x = 0; x < bits->width; x++) {
......
......@@ -676,6 +676,7 @@ extern void GestureEmitGestureEndToOwner(DeviceIntPtr dev, GestureInfoPtr gi);
extern void ProcessGestureEvent(InternalEvent *ev, DeviceIntPtr dev);
/* misc event helpers */
extern void CopyPartialInternalEvent(InternalEvent* dst_event, const InternalEvent* src_event);
extern Mask GetEventMask(DeviceIntPtr dev, xEvent *ev, InputClientsPtr clients);
extern Mask GetEventFilter(DeviceIntPtr dev, xEvent *event);
extern Bool WindowXI2MaskIsset(DeviceIntPtr dev, WindowPtr win, xEvent *ev);
......
......@@ -129,17 +129,12 @@ conf_data.set('SECURE_RPC', get_option('secure-rpc') ? '1' : false)
conf_data.set('HAVE_DLFCN_H', cc.has_header('dlfcn.h') ? '1' : false)
conf_data.set('HAVE_EXECINFO_H', cc.has_header('execinfo.h') ? '1' : false)
conf_data.set('HAVE_FCNTL_H', cc.has_header('fcntl.h') ? '1' : false)
conf_data.set('HAVE_FNMATCH_H', cc.has_header('fnmatch.h') ? '1' : false)
conf_data.set('HAVE_LINUX_AGPGART_H', cc.has_header('linux/agpgart.h') ? '1' : false)
conf_data.set('HAVE_STDLIB_H', cc.has_header('stdlib.h') ? '1' : false)
conf_data.set('HAVE_STRING_H', cc.has_header('string.h') ? '1' : false)
conf_data.set('HAVE_STRINGS_H', cc.has_header('strings.h') ? '1' : false)
conf_data.set('HAVE_SYS_AGPGART_H', cc.has_header('sys/agpgart.h') ? '1' : false)
conf_data.set('HAVE_SYS_AGPIO_H', cc.has_header('sys/agpio.h') ? '1' : false)
conf_data.set('HAVE_SYS_UTSNAME_H', cc.has_header('sys/utsname.h') ? '1' : false)
conf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h') ? '1' : false)
conf_data.set('HAVE_UNISTD_H', cc.has_header('unistd.h') ? '1' : false)
conf_data.set('HAVE_ARC4RANDOM_BUF', cc.has_function('arc4random_buf', dependencies: libbsd_dep) ? '1' : false)
conf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace') ? '1' : false)
......@@ -157,6 +152,7 @@ conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid') ? '1' : false)
conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create') ? '1' : false)
conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp') ? '1' : false)
conf_data.set('HAVE_MMAP', cc.has_function('mmap') ? '1' : false)
conf_data.set('HAVE_OPEN_DEVICE', cc.has_function('open_device') ? '1' : false)
conf_data.set('HAVE_POLL', cc.has_function('poll') ? '1' : false)
conf_data.set('HAVE_POLLSET_CREATE', cc.has_function('pollset_create') ? '1' : false)
conf_data.set('HAVE_POSIX_FALLOCATE', cc.has_function('posix_fallocate') ? '1' : false)
......