``G_GNUC_FALLTHROUGH``
allow code reuse by multiple switch cases
-``G_GNUC_NO_INLINE``
+``G_NO_INLINE``
the function is mocked in the test suite
``G_GNUC_NORETURN``
#define G_GNUC_UNUSED
#define G_GNUC_NULL_TERMINATED
#define G_GNUC_NORETURN
-#define G_GNUC_NO_INLINE
+#define G_NO_INLINE
#define G_GNUC_FALLTHROUGH
#define G_GNUC_PRINTF(a, b)
elif line.isspace():
func = None
- if "G_GNUC_NO_INLINE" in line:
+ if "G_NO_INLINE" in line:
if func is not None:
noninlined[func] = True
for func in mocked.keys():
if func not in noninlined:
warned = True
- print("%s is mocked at %s but missing 'G_GNUC_NO_INLINE' annotation" %
+ print("%s is mocked at %s but missing 'G_NO_INLINE' annotation" %
(func, mocked[func]), file=sys.stderr)
if warned:
virDomainCapsCPUModels *models);
virCPUDef *
-virCPUProbeHost(virArch arch) G_GNUC_NO_INLINE;
+virCPUProbeHost(virArch arch) G_NO_INLINE;
virCPUDef *
virCPUBaseline(virArch arch,
int
libxlDomainGetEmulatorType(const virDomainDef *def)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
virQEMUCapsGetSEVCapabilities(virQEMUCaps *qemuCaps);
bool
-virQEMUCapsGetKVMSupportsSecureGuest(virQEMUCaps *qemuCaps) G_GNUC_NO_INLINE;
+virQEMUCapsGetKVMSupportsSecureGuest(virQEMUCaps *qemuCaps) G_NO_INLINE;
virArch virQEMUCapsArchFromString(const char *arch);
const char *virQEMUCapsArchToString(virArch arch);
virCPUDef *
virQEMUCapsProbeHostCPU(virArch hostArch,
- virDomainCapsCPUModels *models) G_GNUC_NO_INLINE;
+ virDomainCapsCPUModels *models) G_NO_INLINE;
void
virQEMUCapsSetGICCapabilities(virQEMUCaps *qemuCaps,
/* Open a UNIX socket for chardev FD passing */
int
-qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev) G_GNUC_NO_INLINE;
+qemuOpenChrChardevUNIXSocket(const virDomainChrSourceDef *dev) G_NO_INLINE;
virJSONValue *
qemuBuildChrDeviceProps(const virDomainDef *vmdef,
qemuBuildTPMOpenBackendFDs(const char *tpmdev,
int *tpmfd,
int *cancelfd)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) G_NO_INLINE;
const char * qemuAudioDriverTypeToString(virDomainAudioType type);
virDomainAudioType qemuAudioDriverTypeFromString(const char *str);
}
-unsigned long long G_GNUC_NO_INLINE
+unsigned long long G_NO_INLINE
qemuDomainGetUnplugTimeout(virDomainObj *vm)
{
if (qemuDomainIsPSeries(vm->def))
virBitmap *vcpus,
bool state);
-unsigned long long qemuDomainGetUnplugTimeout(virDomainObj *vm) G_GNUC_NO_INLINE;
+unsigned long long qemuDomainGetUnplugTimeout(virDomainObj *vm) G_NO_INLINE;
int qemuHotplugAttachDBusVMState(virQEMUDriver *driver,
virDomainObj *vm,
ATTRIBUTE_NONNULL(2);
int qemuInterfaceOpenVhostNet(virDomainObj *def,
- virDomainNetDef *net) G_GNUC_NO_INLINE;
+ virDomainNetDef *net) G_NO_INLINE;
int qemuInterfacePrepareSlirp(virQEMUDriver *driver,
virDomainNetDef *net);
-int qemuInterfaceVDPAConnect(virDomainNetDef *net) G_GNUC_NO_INLINE;
+int qemuInterfaceVDPAConnect(virDomainNetDef *net) G_NO_INLINE;
/* These APIs are for use by the internal Text/JSON monitor impl code only */
char *qemuMonitorNextCommandID(qemuMonitor *mon);
int qemuMonitorSend(qemuMonitor *mon,
- qemuMonitorMessage *msg) G_GNUC_NO_INLINE;
+ qemuMonitorMessage *msg) G_NO_INLINE;
int qemuMonitorUpdateVideoMemorySize(qemuMonitor *mon,
virDomainVideoDef *video,
const char *videoName)
qemuMonitorJSONIOProcessLine(qemuMonitor *mon,
const char *line,
qemuMonitorMessage *msg)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int
qemuMonitorJSONIOProcess(qemuMonitor *mon,
const char *data,
size_t len,
int fd)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int qemuProcessPrepareHostBackendChardevHotplug(virDomainObj *vm,
virDomainDeviceDef *dev)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int qemuProcessPrepareHost(virQEMUDriver *driver,
virDomainObj *vm,
virDomainAsyncJob asyncJob);
-int qemuProcessStartManagedPRDaemon(virDomainObj *vm) G_GNUC_NO_INLINE;
+int qemuProcessStartManagedPRDaemon(virDomainObj *vm) G_NO_INLINE;
-void qemuProcessKillManagedPRDaemon(virDomainObj *vm) G_GNUC_NO_INLINE;
+void qemuProcessKillManagedPRDaemon(virDomainObj *vm) G_NO_INLINE;
typedef struct _qemuProcessQMP qemuProcessQMP;
struct _qemuProcessQMP {
gid_t *gid,
pid_t *pid,
unsigned long long *timestamp)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virNetSocketGetSELinuxContext(virNetSocket *sock,
char **context)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virNetSocketSetBlocking(virNetSocket *sock,
bool blocking);
void vir_g_source_unref(GSource *src, GMainContext *ctx);
-/* Intentionally redefine macro so that it's not marked as available in 2.58
- * and newer. Drop when bumping to 2.58 or newer. */
-#undef G_GNUC_NO_INLINE
-#if g_macro__has_attribute(__noinline__)
-# define G_GNUC_NO_INLINE __attribute__ ((__noinline__))
-#else
-# define G_GNUC_NO_INLINE
-#endif
+#if !GLIB_CHECK_VERSION(2, 73, 2)
+# if (defined(__has_attribute) && __has_attribute(__noinline__)) || G_GNUC_CHECK_VERSION (2, 96)
+# if defined (__cplusplus) && __cplusplus >= 201103L
+ /* Use ISO C++11 syntax when the compiler supports it. */
+# define G_NO_INLINE [[gnu::noinline]]
+# else
+# define G_NO_INLINE __attribute__ ((__noinline__))
+# endif
+# elif defined (_MSC_VER) && (1200 <= _MSC_VER)
+ /* Use MSVC specific syntax. */
+# if defined (__cplusplus) && __cplusplus >= 201103L
+ /* Use ISO C++11 syntax when the compiler supports it. */
+# define G_NO_INLINE [[msvc::noinline]]
+# else
+# define G_NO_INLINE __declspec (noinline)
+# endif
+# else
+# define G_NO_INLINE /* empty */
+# endif
+#endif /* GLIB_CHECK_VERSION(2, 73, 0) */
bool
virCgroupV2DevicesAvailable(virCgroup *group)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int
virCgroupV2DevicesDetectProg(virCgroup *group);
void virCommandPassFD(virCommand *cmd,
int fd,
- unsigned int flags) G_GNUC_NO_INLINE;
+ unsigned int flags) G_NO_INLINE;
void virCommandSetPidFile(virCommand *cmd,
const char *pidfile) ATTRIBUTE_NONNULL(2);
int
virDevMapperGetTargets(const char *path,
- GSList **devPaths) G_GNUC_NO_INLINE;
+ GSList **devPaths) G_NO_INLINE;
bool
virIsDevMapperDevice(const char *dev_name) ATTRIBUTE_NONNULL(1);
void virFileWrapperFdFree(virFileWrapperFd *dfd);
int virFileLock(int fd, bool shared, off_t start, off_t len, bool waitForLock)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virFileUnlock(int fd, off_t start, off_t len)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
typedef int (*virFileRewriteFunc)(int fd,
const char *path,
ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
char *virFindFileInPath(const char *file)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
char *virFileFindResource(const char *filename,
const char *builddir,
off_t virFileLength(const char *path, int fd) ATTRIBUTE_NONNULL(1);
bool virFileIsDir (const char *file) ATTRIBUTE_NONNULL(1);
-bool virFileExists(const char *file) ATTRIBUTE_NONNULL(1) G_GNUC_NO_INLINE;
+bool virFileExists(const char *file) ATTRIBUTE_NONNULL(1) G_NO_INLINE;
bool virFileIsExecutable(const char *file) ATTRIBUTE_NONNULL(1);
bool virFileIsRegular(const char *file) ATTRIBUTE_NONNULL(1);
size_t *nmountsret) G_GNUC_WARN_UNUSED_RESULT;
char *virFileSanitizePath(const char *path);
-char *virFileCanonicalizePath(const char *path) G_GNUC_NO_INLINE;
+char *virFileCanonicalizePath(const char *path) G_NO_INLINE;
enum {
VIR_FILE_OPEN_NONE = 0,
int virFileGetXAttr(const char *path,
const char *name,
char **value)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virFileGetXAttrQuiet(const char *path,
const char *name,
char **value)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virFileSetXAttr(const char *path,
const char *name,
const char *value)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virFileRemoveXAttr(const char *path,
const char *name)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virFileDataSync(int fd);
#include "internal.h"
uint32_t virHashCodeGen(const void *key, size_t len, uint32_t seed)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
virBitmap *virHostCPUGetAvailableCPUsBitmap(void);
int virHostCPUGetCount(void);
-int virHostCPUGetThreadsPerSubcore(virArch arch) G_GNUC_NO_INLINE;
+int virHostCPUGetThreadsPerSubcore(virArch arch) G_NO_INLINE;
int virHostCPUGetMap(unsigned char **cpumap,
unsigned int *online,
unsigned int *cores,
unsigned int *threads);
-int virHostCPUGetKVMMaxVCPUs(void) G_GNUC_NO_INLINE;
+int virHostCPUGetKVMMaxVCPUs(void) G_NO_INLINE;
int virHostCPUStatsAssign(virNodeCPUStatsPtr param,
const char *name,
int virHostCPUGetOnline(unsigned int cpu, bool *online);
unsigned int
-virHostCPUGetMicrocodeVersion(virArch hostArch) G_GNUC_NO_INLINE;
+virHostCPUGetMicrocodeVersion(virArch hostArch) G_NO_INLINE;
int virHostCPUGetMSR(unsigned long index,
uint64_t *msr);
bool add);
int virHostMemGetTHPSize(unsigned long long *size)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int
virHostGetBootTime(unsigned long long *when)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int
virHostBootTimeInit(void);
#include "viridentity.h"
char *
-virIdentityEnsureSystemToken(void) G_GNUC_NO_INLINE;
+virIdentityEnsureSystemToken(void) G_NO_INLINE;
const char *virMacAddrFormat(const virMacAddr *addr,
char *str);
void virMacAddrGenerate(const unsigned char prefix[VIR_MAC_PREFIX_BUFLEN],
- virMacAddr *addr) G_GNUC_NO_INLINE;
+ virMacAddr *addr) G_NO_INLINE;
int virMacAddrParse(const char* str,
virMacAddr *addr) G_GNUC_WARN_UNUSED_RESULT;
int virMacAddrParseHex(const char* str,
G_GNUC_WARN_UNUSED_RESULT;
int virNetDevExists(const char *brname)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevSetOnline(const char *ifname,
bool online)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevGetOnline(const char *ifname,
bool *online)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
int virNetDevSetMAC(const char *ifname,
const virMacAddr *macaddr)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevGetMAC(const char *ifname,
virMacAddr *macaddr)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
const char *ifname,
const char *file)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
- G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevRunEthernetScript(const char *ifname, const char *script)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virNetDevVFInterfaceStats(virPCIDeviceAddress *vfAddr,
virDomainInterfaceStatsPtr stats)
int virNetDevBandwidthSetRootQDisc(const char *ifname,
const char *qdisc)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
virSocketAddr *addr,
virSocketAddr *peer,
unsigned int prefix)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevIPRouteAdd(const char *ifname,
virSocketAddr *addr,
unsigned int prefix,
} virNetDevMacVLanCreateFlags;
bool virNetDevMacVLanIsMacvtap(const char *ifname)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevMacVLanCreate(const char *ifname,
const virMacAddr *macaddress,
int virNetDevOpenvswitchGetVhostuserIfname(const char *path,
bool server,
char **ifname)
- ATTRIBUTE_NONNULL(3) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(3) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevOpenvswitchUpdateVlan(const char *ifname,
const virNetDevVlan *virtVlan)
int *tapfd,
size_t tapfdSize,
unsigned int flags)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevTapDelete(const char *ifname,
const char *tunpath)
ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
char* virNetDevTapGetRealDeviceName(char *ifname)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
typedef enum {
VIR_NETDEV_TAP_CREATE_NONE = 0,
unsigned int *actualMTU,
unsigned int flags)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
- G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
+ G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
int virNetDevTapInterfaceStats(const char *ifname,
virDomainInterfaceStatsPtr stats,
virBitmap *nodeset);
virBitmap *virNumaGetHostMemoryNodeset(void);
-bool virNumaNodesetIsAvailable(virBitmap *nodeset) G_GNUC_NO_INLINE;
-bool virNumaIsAvailable(void) G_GNUC_NO_INLINE;
-int virNumaGetMaxNode(void) G_GNUC_NO_INLINE;
-bool virNumaNodeIsAvailable(int node) G_GNUC_NO_INLINE;
+bool virNumaNodesetIsAvailable(virBitmap *nodeset) G_NO_INLINE;
+bool virNumaIsAvailable(void) G_NO_INLINE;
+int virNumaGetMaxNode(void) G_NO_INLINE;
+bool virNumaNodeIsAvailable(int node) G_NO_INLINE;
int virNumaGetDistances(int node,
int **distances,
- int *ndistances) G_GNUC_NO_INLINE;
+ int *ndistances) G_NO_INLINE;
int virNumaGetNodeMemory(int node,
unsigned long long *memsize,
- unsigned long long *memfree) G_GNUC_NO_INLINE;
+ unsigned long long *memfree) G_NO_INLINE;
-unsigned int virNumaGetMaxCPUs(void) G_GNUC_NO_INLINE;
+unsigned int virNumaGetMaxCPUs(void) G_NO_INLINE;
-int virNumaGetNodeCPUs(int node, virBitmap **cpus) G_GNUC_NO_INLINE;
+int virNumaGetNodeCPUs(int node, virBitmap **cpus) G_NO_INLINE;
int virNumaNodesetToCPUset(virBitmap *nodeset,
virBitmap **cpuset);
unsigned long long **pages_avail,
unsigned long long **pages_free,
size_t *npages)
- ATTRIBUTE_NONNULL(5) G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(5) G_NO_INLINE;
int virNumaSetPagePoolSize(int node,
unsigned int page_size,
unsigned long long page_count,
int virProcessSetNamespaces(size_t nfdlist,
int *fdlist);
-int virProcessSetMaxMemLock(pid_t pid, unsigned long long bytes) G_GNUC_NO_INLINE;
+int virProcessSetMaxMemLock(pid_t pid, unsigned long long bytes) G_NO_INLINE;
int virProcessSetMaxProcesses(pid_t pid, unsigned int procs);
int virProcessSetMaxFiles(pid_t pid, unsigned int files);
int virProcessSetMaxCoreSize(pid_t pid, unsigned long long bytes);
-int virProcessGetMaxMemLock(pid_t pid, unsigned long long *bytes) G_GNUC_NO_INLINE;
+int virProcessGetMaxMemLock(pid_t pid, unsigned long long *bytes) G_NO_INLINE;
/* Callback to run code within the mount namespace tied to the given
* pid. This function must use only async-signal-safe functions, as
int virProcessRunInFork(virProcessForkCallback cb,
void *opaque)
- G_GNUC_NO_INLINE;
+ G_NO_INLINE;
int virProcessSetupPrivateMountNS(void);
#include "internal.h"
-uint64_t virRandomBits(int nbits) G_GNUC_NO_INLINE;
+uint64_t virRandomBits(int nbits) G_NO_INLINE;
double virRandom(void);
uint32_t virRandomInt(uint32_t max);
int virRandomBytes(unsigned char *buf, size_t buflen)
- ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_GNUC_NO_INLINE;
-int virRandomGenerateWWN(char **wwn, const char *virt_type) G_GNUC_NO_INLINE;
+ ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT G_NO_INLINE;
+int virRandomGenerateWWN(char **wwn, const char *virt_type) G_NO_INLINE;
char *virRandomToken(size_t len);
const char *adapter,
unsigned int bus,
unsigned int target,
- unsigned long long unit) G_GNUC_NO_INLINE;
+ unsigned long long unit) G_NO_INLINE;
char *virSCSIDeviceGetDevName(const char *sysfs_prefix,
const char *adapter,
unsigned int bus,
const char **drv_name,
const char **dom_name);
void virSCSIVHostDeviceFree(virSCSIVHostDevice *dev);
-int virSCSIVHostOpenVhostSCSI(int *vhostfd) G_GNUC_NO_INLINE;
+int virSCSIVHostOpenVhostSCSI(int *vhostfd) G_NO_INLINE;
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSCSIVHostDevice, virSCSIVHostDeviceFree);
#pragma once
-char *virTPMCreateCancelPath(const char *devpath) G_GNUC_NO_INLINE;
+char *virTPMCreateCancelPath(const char *devpath) G_NO_INLINE;
char *virTPMGetSwtpm(void);
char *virTPMGetSwtpmSetup(void);
}
#endif
-char *virGetHostname(void) G_GNUC_NO_INLINE;
+char *virGetHostname(void) G_NO_INLINE;
char *virGetHostnameQuiet(void);
char *virGetUserDirectory(void);
char *virGetUserDirectoryByUID(uid_t uid);
char *virGetUserConfigDirectory(void);
char *virGetUserCacheDirectory(void);
-char *virGetUserRuntimeDirectory(void) G_GNUC_NO_INLINE;
+char *virGetUserRuntimeDirectory(void) G_NO_INLINE;
char *virGetUserShell(uid_t uid);
-char *virGetUserName(uid_t uid) G_GNUC_NO_INLINE;
-char *virGetGroupName(gid_t gid) G_GNUC_NO_INLINE;
+char *virGetUserName(uid_t uid) G_NO_INLINE;
+char *virGetGroupName(gid_t gid) G_NO_INLINE;
int virGetGroupList(uid_t uid, gid_t group, gid_t **groups)
ATTRIBUTE_NONNULL(3);
int virGetUserID(const char *name,
time_t virGetSelfLastChanged(void);
void virUpdateSelfLastChanged(const char *path);
-long virGetSystemPageSize(void) G_GNUC_NO_INLINE;
-long virGetSystemPageSizeKB(void) G_GNUC_NO_INLINE;
+long virGetSystemPageSize(void) G_NO_INLINE;
+long virGetSystemPageSizeKB(void) G_NO_INLINE;
unsigned long long virMemoryLimitTruncate(unsigned long long value);
bool virMemoryLimitIsSet(unsigned long long value);
-unsigned long long virMemoryMaxValue(bool ulong) G_GNUC_NO_INLINE;
+unsigned long long virMemoryMaxValue(bool ulong) G_NO_INLINE;
bool virHostHasIOMMU(void);
-char *virHostGetDRMRenderNode(void) G_GNUC_NO_INLINE;
+char *virHostGetDRMRenderNode(void) G_NO_INLINE;
/* Kernel cmdline match and comparison strategy for arg=value pairs */
typedef enum {
int virSetHostUUIDStr(const char *host_uuid);
-int virGetHostUUID(unsigned char *host_uuid) ATTRIBUTE_NONNULL(1) G_GNUC_NO_INLINE;
+int virGetHostUUID(unsigned char *host_uuid) ATTRIBUTE_NONNULL(1) G_NO_INLINE;
bool virUUIDIsValid(const unsigned char *uuid);
-int virUUIDGenerate(unsigned char *uuid) G_GNUC_NO_INLINE;
+int virUUIDGenerate(unsigned char *uuid) G_NO_INLINE;
int virUUIDParse(const char *uuidstr,
unsigned char *uuid)