os_windows.go 608 B

123456789101112131415161718192021222324252627
  1. //go:build windows
  2. // +build windows
  3. package wgctrl
  4. import (
  5. "golang.zx2c4.com/wireguard/wgctrl/internal/wginternal"
  6. "golang.zx2c4.com/wireguard/wgctrl/internal/wguser"
  7. "golang.zx2c4.com/wireguard/wgctrl/internal/wgwindows"
  8. )
  9. // newClients configures wginternal.Clients for Windows systems.
  10. func newClients() ([]wginternal.Client, error) {
  11. var clients []wginternal.Client
  12. // Windows has an in-kernel WireGuard implementation.
  13. kc := wgwindows.New()
  14. clients = append(clients, kc)
  15. uc, err := wguser.New()
  16. if err != nil {
  17. return nil, err
  18. }
  19. clients = append(clients, uc)
  20. return clients, nil
  21. }