Rules for changing the naming convention from C to Golang Builtins: Remove underscores from C style name and use camelCase. If the type is a primitive data type(such a boolean or int) the equivilant Golang type is used. Otherwise delare the type as the C type. Example: type Scheduler int type Uuid C.lixl_uuid IDL types: Remove underscores from C style name, remove libxl prefix, and use camelCase. Data fields will follow the same format by removing underscores and using camelCase. Example: type CpupoolInfo struct { Poolid uint32 PoolName string Scheduler Scheduler DomainCount int Cpumap Bitmap } Functions: Removed the libxl prefix from the function name. Instead of underscores camelCase is used to seperate words. Example: func (Ctx *Context) CpupoolInfo(Poolid uint32) (pool CpupoolInfo){}