Generate libvirt constants from libvirt sources.

- Add a yacc-based parser and a hand-written lexer to read the
remote_protocol.x file from libvirt's sources.
- Use the new parser to generate the constants used to communicate with
libvirt.
This commit is contained in:
Geoff Hickey
2017-11-02 19:42:44 -04:00
parent 8b2644f7ff
commit 5a6654f07a
11 changed files with 1340 additions and 75 deletions

View File

@@ -563,7 +563,7 @@ func (m *MockLibvirt) handle(conn net.Conn) {
proc := binary.BigEndian.Uint32(buf[12:16])
switch prog {
case constants.ProgramRemote:
case constants.Program:
m.handleRemote(proc, conn)
case constants.ProgramQEMU:
m.handleQEMU(proc, conn)
@@ -599,7 +599,7 @@ func (m *MockLibvirt) handleRemote(procedure uint32, conn net.Conn) {
conn.Write(m.reply(testDomainMemoryStatsReply))
case constants.ProcDomainMigrateSetMaxSpeed:
conn.Write(m.reply(testSetSpeedReply))
case constants.ProcMigratePerformParams:
case constants.ProcDomainMigratePerform3Params:
conn.Write(m.reply(testMigrateReply))
case constants.ProcDomainUndefineFlags:
conn.Write(m.reply(testUndefineReply))