func portByName(name string) (*C.struct_sp_port, error) { var p *C.struct_sp_port cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) if err := errmsg(C.sp_get_port_by_name(cname, &p)); err != nil { return nil, err } return p, nil }
// Init attempts to initialises the port represented by the port name passed in. func Init(s *Conf, name string) (int32, error) { var result int32 = SP_OK C.sp_new_config(&s.oldConfig) C.sp_new_config(&s.newConfig) cp := C.CString(name) defer C.free(unsafe.Pointer(cp)) result = C.sp_get_port_by_name(cp, &s.Port) checkResult(result) // Open before setting params result = C.sp_open(s.Port, SP_MODE_READ|SP_MODE_WRITE) return result, checkResult(result) }