28.08.2015 Views

The Design and Implementation of the Anykernel and Rump Kernels

1F3KDce

1F3KDce

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A–39<br />

UKFS(3) NetBSD Library Functions Manual UKFS(3)<br />

int<br />

ukfs_modload_dir(const char *dirname)<br />

ssize_t<br />

ukfs_vfstypes(char *buf, size_t buflen)<br />

struct ukfs *<br />

ukfs_mount(const char *vfsname, const char *devpath, const char<br />

*mountpath, int mntflags, void *arg, size_t alen)<br />

struct ukfs *<br />

ukfs_mount_disk(const char *vfsname, const char *devpath, int partition,<br />

const char *mountpath, int mntflags, void *arg, size_t alen)<br />

int<br />

ukfs_release(struct ukfs *ukfs, int flags)<br />

ukfs_init() intializes <strong>the</strong> library <strong>and</strong> must be called once per process<br />

using ukfs.<br />

ukfs_modload() is used at runtime to dynamically load a library which<br />

contains a file system module. For this to succeed, <strong>the</strong> rump(3) library<br />

<strong>and</strong> <strong>the</strong> module targetted must be compiled with compatible kernel versions<br />

<strong>and</strong> <strong>the</strong> application must be dynamically linked. Additionally, since this<br />

routine does not h<strong>and</strong>le dependencies, all <strong>the</strong> dependencies <strong>of</strong> <strong>the</strong> library<br />

must be loaded beforeh<strong>and</strong>. <strong>The</strong> routine returns -1 for fatal error, 0 for<br />

dependency failure <strong>and</strong> 1 for success.<br />

ukfs_modload_dir() loads all rump(3) file system modules in directory<br />

dirname. It looks for libraries which begin with librumpfs_ <strong>and</strong> end in<br />

NetBSD 5.99.48 November 22, 2009 NetBSD 5.99.48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!