1 #include "syslib.h" 2 3 #include <string.h> 4 #include <unistd.h> 5 6 int 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