cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

qbool.c (1096B)


      1/*
      2 * QBool Module
      3 *
      4 * Copyright IBM, Corp. 2009
      5 *
      6 * Authors:
      7 *  Anthony Liguori   <aliguori@us.ibm.com>
      8 *
      9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
     10 * See the COPYING.LIB file in the top-level directory.
     11 *
     12 */
     13
     14#include "qemu/osdep.h"
     15#include "qapi/qmp/qbool.h"
     16#include "qobject-internal.h"
     17
     18/**
     19 * qbool_from_bool(): Create a new QBool from a bool
     20 *
     21 * Return strong reference.
     22 */
     23QBool *qbool_from_bool(bool value)
     24{
     25    QBool *qb;
     26
     27    qb = g_malloc(sizeof(*qb));
     28    qobject_init(QOBJECT(qb), QTYPE_QBOOL);
     29    qb->value = value;
     30
     31    return qb;
     32}
     33
     34/**
     35 * qbool_get_bool(): Get the stored bool
     36 */
     37bool qbool_get_bool(const QBool *qb)
     38{
     39    return qb->value;
     40}
     41
     42/**
     43 * qbool_is_equal(): Test whether the two QBools are equal
     44 */
     45bool qbool_is_equal(const QObject *x, const QObject *y)
     46{
     47    return qobject_to(QBool, x)->value == qobject_to(QBool, y)->value;
     48}
     49
     50/**
     51 * qbool_destroy_obj(): Free all memory allocated by a
     52 * QBool object
     53 */
     54void qbool_destroy_obj(QObject *obj)
     55{
     56    assert(obj != NULL);
     57    g_free(qobject_to(QBool, obj));
     58}