1/* 2 * Copyright 2006 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Jerome Duval (listdev) 7 */ 8 9 10#include <errno.h> 11#include <fcntl.h> 12#include <stdio.h> 13#include <unistd.h> 14 15#include <drivers/device_manager.h> 16#include <device_manager_defs.h> 17#include <generic_syscall_defs.h> 18#include <string.h> 19#include <syscalls.h> 20 21#include "dm_wrapper.h" 22 23 24status_t 25init_dm_wrapper(void) 26{ 27 uint32 version = 0; 28 return _kern_generic_syscall(DEVICE_MANAGER_SYSCALLS, B_SYSCALL_INFO, 29 &version, sizeof(version)); 30} 31 32 33status_t 34uninit_dm_wrapper(void) 35{ 36 return B_OK; 37} 38 39 40status_t 41get_root(device_node_cookie *cookie) 42{ 43 return _kern_generic_syscall(DEVICE_MANAGER_SYSCALLS, DM_GET_ROOT, cookie, 44 sizeof(device_node_cookie)); 45} 46 47 48status_t 49get_child(device_node_cookie *device) 50{ 51 return _kern_generic_syscall(DEVICE_MANAGER_SYSCALLS, DM_GET_CHILD, device, 52 sizeof(device_node_cookie)); 53} 54 55 56status_t 57get_next_child(device_node_cookie *device) 58{ 59 return _kern_generic_syscall(DEVICE_MANAGER_SYSCALLS, DM_GET_NEXT_CHILD, 60 device, sizeof(device_node_cookie)); 61} 62 63 64status_t 65dm_get_next_attr(struct device_attr_info *attr) 66{ 67 return _kern_generic_syscall(DEVICE_MANAGER_SYSCALLS, 68 DM_GET_NEXT_ATTRIBUTE, attr, sizeof(struct device_attr_info)); 69} 70