59d541f193
* Generate the remaining consts. There were a number of hand-written consts in go-libvirt, including flag values for various libvirt functions. Remove these and generate them instead, so that we now have a complete set, and the naming is consistent. I used c-for-go to do this generation, but turned off any cgo usage by the generated code - we don't want or need to introduce a dependency on cgo just to get constants from C headers. All code is still generated using 'go generate ./...', which now calls a wrapper script for added robustness. This change also returns to using Go types for flags for most libvirt functions, instead of plain integers.
60 lines
2.7 KiB
YAML
60 lines
2.7 KiB
YAML
# Configuration file for c-for-go, which go-libvirt uses to translate the const
|
|
# and type definitions from the C-language sources in the libvirt project into
|
|
# Go. This file is used by the c-for-go binary (github.com/xlab/c-for-go), which
|
|
# is called when 'go generate' is run. See libvirt.go for the command line used.
|
|
---
|
|
GENERATOR:
|
|
PackageName: libvirt
|
|
PackageLicense: |
|
|
Copyright 2017 The go-libvirt Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
Includes: []
|
|
|
|
PARSER:
|
|
# We can't use environment variables here, but we don't want to process the
|
|
# libvirt version installed in the system folders (if any). Instead we'll
|
|
# rely on our caller to link the libvirt source directory to lv_source/, and
|
|
# run on that code. This isn't ideal, but changes to c-for-go are needed to
|
|
# fix it.
|
|
IncludePaths: [./lv_source/include]
|
|
SourcesPaths:
|
|
- libvirt/libvirt.h
|
|
|
|
TRANSLATOR:
|
|
ConstRules:
|
|
defines: eval
|
|
Rules:
|
|
global:
|
|
- {action: accept, from: "^vir"}
|
|
post-global:
|
|
- {action: replace, from: "^vir"}
|
|
- {load: snakecase}
|
|
# Follow golint's capitalization conventions.
|
|
- {action: replace, from: "Api([A-Z]|$)", to: "API$1"}
|
|
- {action: replace, from: "Cpu([A-Z]|$)", to: "CPU$1"}
|
|
- {action: replace, from: "Dns([A-Z]|$)", to: "DNS$1"}
|
|
- {action: replace, from: "Eof([A-Z]|$)", to: "EOF$1"}
|
|
- {action: replace, from: "Id([A-Z]|$)", to: "ID$1"}
|
|
- {action: replace, from: "Ip([A-Z]|$)", to: "IP$1"}
|
|
- {action: replace, from: "Tls([A-Z]|$)", to: "TLS$1"}
|
|
- {action: replace, from: "Uuid([A-Z]|$)", to: "UUID$1"}
|
|
- {action: replace, from: "Uri([A-Z]|$)", to: "URI$1"}
|
|
- {action: replace, from: "Vcpu([A-Z]|$)", to: "VCPU$1"}
|
|
- {action: replace, from: "Xml([A-Z]|$)", to: "XML$1"}
|
|
const:
|
|
- {action: accept, from: "^VIR_"}
|
|
# Special case to prevent a collision with a type:
|
|
- {action: replace, from: "^VIR_DOMAIN_JOB_OPERATION", to: "VIR_DOMAIN_JOB_OPERATION_STR"}
|
|
- {transform: lower}
|