解析 virDomainDef 结构体

13 篇文章 0 订阅

virDomainDef 结构体


/*
 * Guest VM main configuration
 *
 * NB: if adding to this struct, virDomainDefCheckABIStability
 * may well need an update
 */
typedef struct _virDomainDef virDomainDef;
typedef virDomainDef *virDomainDefPtr;
struct _virDomainDef {
    virDomainVirtType virtType;           虚拟化类型   NONE  QEMU KQEMU KVM XEN LXC VMWARE 这些枚举类型
    int id;                               虚拟机id,如果没有开机就是-1
    unsigned char uuid[VIR_UUID_BUFLEN];  uuid
    char *name;                           虚拟机名字
    char *title;                          title好像暂时没用
    char *description;                    description好像暂时没用


    virDomainBlkiotune blkio;             块设置信息,以前相关io限速和权重在这里
    virDomainMemtune mem;                 


    virDomainVcpuInfoPtr vcpus;           这个vcpus是竟然还有cpu调度结构体FIFO RR,直接内核态的调度,没试过,以后有机会可以试下这个参数,vcpus里还有个online的字段,判断这个cpu是否可用。
    size_t maxvcpus;
    int placement_mode;
    virBitmapPtr cpumask;


    unsigned int iothreads;
    size_t niothreadids;
    virDomainIOThreadIDDefPtr *iothreadids;


    virDomainCputune cputune;


    virDomainNumaPtr numa;
    virDomainResourceDefPtr resource;
    virDomainIdMapDef idmap;


    /* These 3 are based on virDomainLifeCycleAction enum flags */
    int onReboot;
    int onPoweroff;
    int onCrash;


    int onLockFailure; /* enum virDomainLockFailureAction */


    virDomainPowerManagement pm;


    virDomainPerfDef perf;


    virDomainOSDef os;
    char *emulator;
    /* These three options are of type virTristateSwitch,
     * except VIR_DOMAIN_FEATURE_CAPABILITIES that is of type
     * virDomainCapabilitiesPolicy */
    int features[VIR_DOMAIN_FEATURE_LAST];
    int apic_eoi;
    int hyperv_features[VIR_DOMAIN_HYPERV_LAST];
    int kvm_features[VIR_DOMAIN_KVM_LAST];
    unsigned int hyperv_spinlocks;
    virGICVersion gic_version;
    char *hyperv_vendor_id;


    /* These options are of type virTristateSwitch: ON = keep, OFF = drop */
    int caps_features[VIR_DOMAIN_CAPS_FEATURE_LAST];


    virDomainClockDef clock;


    size_t ngraphics;
    virDomainGraphicsDefPtr *graphics;


    size_t ndisks;
    virDomainDiskDefPtr *disks;


    size_t ncontrollers;
    virDomainControllerDefPtr *controllers;


    size_t nfss;
    virDomainFSDefPtr *fss;


    size_t nnets;
    virDomainNetDefPtr *nets;


    size_t ninputs;
    virDomainInputDefPtr *inputs;


    size_t nsounds;
    virDomainSoundDefPtr *sounds;


    size_t nvideos;
    virDomainVideoDefPtr *videos;


    size_t nhostdevs;
    virDomainHostdevDefPtr *hostdevs;


    size_t nredirdevs;
    virDomainRedirdevDefPtr *redirdevs;


    size_t nsmartcards;
    virDomainSmartcardDefPtr *smartcards;


    size_t nserials;
    virDomainChrDefPtr *serials;


    size_t nparallels;
    virDomainChrDefPtr *parallels;


    size_t nchannels;
    virDomainChrDefPtr *channels;


    size_t nconsoles;
    virDomainChrDefPtr *consoles;


    size_t nleases;
    virDomainLeaseDefPtr *leases;


    size_t nhubs;
    virDomainHubDefPtr *hubs;


    size_t nseclabels;
    virSecurityLabelDefPtr *seclabels;


    size_t nrngs;
    virDomainRNGDefPtr *rngs;


    size_t nshmems;
    virDomainShmemDefPtr *shmems;


    size_t nmems;
    virDomainMemoryDefPtr *mems;


    size_t npanics;
    virDomainPanicDefPtr *panics;


    /* Only 1 */
    virDomainWatchdogDefPtr watchdog;
    virDomainMemballoonDefPtr memballoon;
    virDomainNVRAMDefPtr nvram;
    virDomainTPMDefPtr tpm;
    virCPUDefPtr cpu;
    virSysinfoDefPtr sysinfo;
    virDomainRedirFilterDefPtr redirfilter;


    void *namespaceData;
    virDomainXMLNamespace ns;


    virDomainKeyWrapDefPtr keywrap;


    /* Application-specific custom metadata */
    xmlNodePtr metadata;
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值