// Convert property to name // ( returns built in string representation of property name). // This is optional, you can represent each property with string // name of choice. func PoolPropertyToName(p PoolProp) (name string) { if p == PoolNumProps { return "numofprops" } prop := C.zpool_prop_t(p) name = C.GoString(C.zpool_prop_to_name(prop)) return }
func toCPoolProperties(props PoolProperties) (cprops *C.nvlist_t) { cprops = nil for prop, value := range props { name := C.zpool_prop_to_name(C.zpool_prop_t(prop)) r := C.add_prop_list(name, C.CString(value), &cprops, C.boolean_t(1)) if r != 0 { if cprops != nil { C.nvlist_free(cprops) cprops = nil } return } } return }