code: func registerHandler(p *PAM) int {
  	handlerMu.Lock()
  	defer handlerMu.Unlock()
  
  	// The make_pam_conv function allocates struct pam_conv on the heap. It will
  	// be released by Close function.
  	handlerCount = handlerCount + 1
  	p.conv = C.make_pam_conv(C.int(handlerCount))
  	handlers[handlerCount] = p
  
  	return handlerCount
  }
docs: // registerHandler will register a instance of *PAM with the package level
  // handlers to support callbacks from C.