fs.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (C) 2015 Etienne Champetier <champetier.etienne@gmail.com>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU Lesser General Public License version 2.1
  6. * as published by the Free Software Foundation
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. */
  13. #ifndef _JAIL_FS_H_
  14. #define _JAIL_FS_H_
  15. #include <sys/mount.h>
  16. #include <libubox/blobmsg.h>
  17. int add_mount(const char *source, const char *target, const char *filesystemtype,
  18. unsigned long mountflags, unsigned long propflags, const char *optstr, int error);
  19. int add_mount_inner(const char *source, const char *target, const char *filesystemtype,
  20. unsigned long mountflags, unsigned long propflags, const char *optstr, int error);
  21. int add_mount_bind(const char *path, int readonly, int error);
  22. int parseOCImount(struct blob_attr *msg);
  23. int add_2paths_and_deps(const char *path, const char *path2, int readonly, int error, int lib);
  24. static inline int add_path_and_deps(const char *path, int readonly, int error, int lib)
  25. {
  26. return add_2paths_and_deps(path, path, readonly, error, lib);
  27. }
  28. int mount_all(const char *jailroot);
  29. void mount_list_init(void);
  30. void mount_free(void);
  31. #endif