1 #include "syslib.h"
2
3 #include <string.h>
4 #include <unistd.h>
5
6 int
mapdriver(const char * label,devmajor_t major,const int * domains,int ndomains)7 mapdriver(const char * label, devmajor_t major, const int * domains,
8 int ndomains)
9 {
10 message m;
11 int i;
12
13 memset(&m, 0, sizeof(m));
14 m.m_lsys_vfs_mapdriver.label = (vir_bytes)label;
15 m.m_lsys_vfs_mapdriver.labellen = strlen(label) + 1;
16 m.m_lsys_vfs_mapdriver.major = major;
17 m.m_lsys_vfs_mapdriver.ndomains = ndomains;
18 if (ndomains > (int)__arraycount(m.m_lsys_vfs_mapdriver.domains))
19 ndomains = (int)__arraycount(m.m_lsys_vfs_mapdriver.domains);
20 for (i = 0; i < ndomains; i++)
21 m.m_lsys_vfs_mapdriver.domains[i] = domains[i];
22
23 return _taskcall(VFS_PROC_NR, VFS_MAPDRIVER, &m);
24 }
25