Revert "ci: skip "lib/test-fork-safe-execvpe.sh" on Alpine Linux"
[libnbd.git] / golang / libnbd-golang.pod
blob2d7e91a06aba3053912abd2929248470d83b3b61
1 =head1 NAME
3 libnbd-golang - how to use libnbd from Go
5 =head1 SYNOPSIS
7  import "libguestfs.org/libnbd"
9  h, err := libnbd.Create()
10  if err != nil {
11      panic(err)
12  }
13  defer h.Close()
14  uri := "nbd://localhost"
15  err = h.ConnectUri(uri)
16  if err != nil {
17      panic(err)
18  }
19  size, err := h.GetSize()
20  if err != nil {
21      panic(err)
22  }
23  fmt.Printf("size of %s = %d\n", uri, size)
25 =head1 DESCRIPTION
27 This manual page documents how to use libnbd to access Network Block
28 Device (NBD) servers from the Go programming language.  The Go
29 bindings work very similarly to the C bindings so you should start by
30 reading L<libnbd(3)>.
32 =head1 HANDLES
34 Create a libnbd handle of type C<Libnbd> by calling C<Create()>.
36 You can either close the handle explicitly by a deferred call to
37 C<h.Close()> or it will be closed automatically when it is garbage
38 collected.
40 =head1 ERRORS
42 Most calls return either a single C<LibnbdError> or a pair
43 C<(ret, LibnbdError)>.
45 =head1 EXAMPLES
47 This directory contains examples written in Go:
49 L<https://gitlab.com/nbdkit/libnbd/tree/master/golang/examples>
51 =head1 SEE ALSO
53 L<libnbd(3)>.
55 =head1 AUTHORS
57 Richard W.M. Jones
59 =head1 COPYRIGHT
61 Copyright Red Hat