Mirror of GNU Guix
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.9 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu system mapped-devices)
  19. #:use-module (guix records)
  20. #:export (mapped-device
  21. mapped-device?
  22. mapped-device-source
  23. mapped-device-target
  24. mapped-device-type
  25. mapped-device-kind
  26. mapped-device-kind?
  27. mapped-device-kind-open
  28. mapped-device-kind-close))
  29. ;;; Commentary:
  30. ;;;
  31. ;;; This module supports "device mapping", a concept implemented by Linux's
  32. ;;; device-mapper.
  33. ;;;
  34. ;;; Code:
  35. (define-record-type* <mapped-device> mapped-device
  36. make-mapped-device
  37. mapped-device?
  38. (source mapped-device-source) ;string
  39. (target mapped-device-target) ;string
  40. (type mapped-device-type)) ;<mapped-device-kind>
  41. (define-record-type* <mapped-device-type> mapped-device-kind
  42. make-mapped-device-kind
  43. mapped-device-kind?
  44. (open mapped-device-kind-open) ;source target -> gexp
  45. (close mapped-device-kind-close ;source target -> gexp
  46. (default (const #~(const #f)))))
  47. ;;; mapped-devices.scm ends here