code: func goPrintSettings(key *C.gchar,
  	value *C.gchar,
  	userData C.gpointer) {
  
  	id := int(uintptr(userData))
  
  	printSettingsCallbackRegistry.Lock()
  	r := printSettingsCallbackRegistry.m[id]
  	// TODO: figure out a way to determine when we can clean up
  	//delete(printSettingsCallbackRegistry.m, id)
  	printSettingsCallbackRegistry.Unlock()
  
  	r.fn(C.GoString((*C.char)(key)), C.GoString((*C.char)(value)), r.userData)
  
  }
docs: //export goPrintSettings