title: Call Go functions from C
body: <p>I am trying to create a static object written in Go to interface with a C program (say, a kernel module or something).</p>
  
  <p>I have found documentation on calling C functions from Go, but I haven't found much on how to go the other way.  What I've found is that it's possible, but complicated.</p>
  
  <p>Here is what I found:</p>
  
  <p><a href="http://cheesesun.blogspot.com/2010/04/callbacks-in-cgo.html">Blog post about callbacks between C and Go</a></p>
  
  <p><a href="http://golang.org/cmd/cgo/">Cgo documentation</a></p>
  
  <p><a href="http://groups.google.com/group/golang-nuts/browse_thread/thread/4de85861de6ef204/f7d610e08b86d437?lnk=gst&amp;q=cgo+dynamic+linking+D#f7d610e08b86d437">Golang mailing list post</a></p>
  
  <p>Does anyone have experience with this? In short, I'm trying to create a PAM module written entirely in Go.</p>