code: func (c *Context) AssuanSend(
  	cmd string,
  	data AssuanDataCallback,
  	inquiry AssuanInquireCallback,
  	status AssuanStatusCallback,
  ) error {
  	var operr C.gpgme_error_t
  
  	dataPtr := callbackAdd(&data)
  	inquiryPtr := callbackAdd(&inquiry)
  	statusPtr := callbackAdd(&status)
  	cmdCStr := C.CString(cmd)
  	defer C.free(unsafe.Pointer(cmdCStr))
  	err := C.gogpgme_op_assuan_transact_ext(
  		c.ctx,
  		cmdCStr,
  		C.uintptr_t(dataPtr),
  		C.uintptr_t(inquiryPtr),
  		C.uintptr_t(statusPtr),
  		&operr,
  	)
  
  	if handleError(operr) != nil {
  		return handleError(operr)
  	}
  	return handleError(err)
  }
docs: // AssuanSend sends a raw Assuan command to gpg-agent