devfs.c File Reference

#include <devfs/devfs.h>
#include <vfs/vfs.h>
#include <sys/device.h>
#include <ubixos/types.h>
#include <ubixos/spinlock.h>
#include <ubixos/kpanic.h>
#include <lib/kmalloc.h>
#include <lib/string.h>
#include <lib/kprintf.h>

Go to the source code of this file.

Functions

int devfs_init ()
static void devfs_initialize (vfs_mountPoint_t *mp)
int devfs_makeNode (char *name, uInt8 type, uInt16 major, uInt16 minor)
static int devfs_open (char *file, fileDescriptor *fd)
static int devfs_read (fileDescriptor *fd, char *data, long offset, long size)
static int devfs_write (fileDescriptor *fd, char *data, long offset, long size)

Variables

static int devfs_len = 0x0
static spinLock_t devfsSpinLock = SPIN_LOCK_INITIALIZER


Function Documentation

int devfs_init (  ) 

Definition at line 206 of file devfs.c.

References devfs_initialize(), devfs_open(), devfs_read(), devfs_write(), NULL, vfs_mount(), vfsRegisterFS(), and x1.

static void devfs_initialize ( vfs_mountPoint_t mp  )  [static]

Definition at line 46 of file devfs.c.

References devfs_info::deviceList, vfs_mountPoint::fsInfo, kmalloc(), and kpanic().

Referenced by devfs_init().

int devfs_makeNode ( char *  name,
uInt8  type,
uInt16  major,
uInt16  minor 
)

Definition at line 169 of file devfs.c.

References devfs_len, devfsSpinLock, devfs_info::deviceList, devfs_devices::devMajor, devfs_devices::devMinor, devfs_devices::devName, devfs_devices::devType, vfs_mountPoint::fsInfo, kmalloc(), kprintf(), devfs_devices::next, devfs_devices::prev, spinLock(), spinUnlock(), sprintf(), strlen(), and vfs_findMount().

Referenced by fdc_init(), and initHardDisk().

static int devfs_open ( char *  file,
fileDescriptor fd 
) [static]

Definition at line 60 of file devfs.c.

References devfs_len, devfsSpinLock, device_find(), devfs_info::deviceList, device_node::devInfo, devfs_devices::devMajor, devfs_devices::devMinor, devfs_devices::devName, kprintf(), devfs_devices::next, device_interface::size, fileDescriptor::size, spinLock(), spinUnlock(), strcmp(), and x1.

Referenced by devfs_init().

static int devfs_read ( fileDescriptor fd,
char *  data,
long  offset,
long  size 
) [static]

Definition at line 105 of file devfs.c.

References device_find(), device_node::devInfo, devfs_devices::devMajor, devfs_devices::devMinor, device_interface::info, kprintf(), and device_interface::read.

Referenced by devfs_init().

static int devfs_write ( fileDescriptor fd,
char *  data,
long  offset,
long  size 
) [static]

Definition at line 151 of file devfs.c.

References device_find(), device_node::devInfo, devfs_devices::devMajor, devfs_devices::devMinor, device_interface::info, device_interface::read, and device_interface::write.

Referenced by devfs_init().


Variable Documentation

int devfs_len = 0x0 [static]

Definition at line 44 of file devfs.c.

Referenced by devfs_makeNode(), and devfs_open().

spinLock_t devfsSpinLock = SPIN_LOCK_INITIALIZER [static]

Definition at line 41 of file devfs.c.

Referenced by devfs_makeNode(), and devfs_open().


Generated on Sun Dec 3 02:38:05 2006 for UbixOS V2 by  doxygen 1.4.7