From e51bd967cda1989d606b5b6178ed6d2c8d151707 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 28 Feb 2002 20:39:54 +0000 Subject: 2002-02-28 Joel Sherrill * Submitted by Victor V. Vengerov and merged into the RTEMS source. * ChangeLog, Makefile.am, README, configure.ac, include/Makefile.am, include/rtems/bdbuf.h, include/rtems/blkdev.h, include/rtems/diskdevs.h, include/rtems/ramdisk.h, include/rtems/.cvsignore, include/.cvsignore, src/Makefile.am, src/bdbuf.c, src/blkdev.c, src/diskdevs.c, src/ramdisk.c, src/.cvsignore, .cvsignore: New files. --- c/src/exec/libblock/include/rtems/ramdisk.h | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 c/src/exec/libblock/include/rtems/ramdisk.h (limited to 'c/src/exec/libblock/include/rtems/ramdisk.h') diff --git a/c/src/exec/libblock/include/rtems/ramdisk.h b/c/src/exec/libblock/include/rtems/ramdisk.h new file mode 100644 index 0000000000..b9e8c238b8 --- /dev/null +++ b/c/src/exec/libblock/include/rtems/ramdisk.h @@ -0,0 +1,52 @@ +/* ramdisk.c -- RAM disk block device implementation + * + * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia + * Author: Victor V. Vengerov + * + * @(#) $Id$ + */ + +#ifndef __RTEMS_LIBBLOCK_RAMDISK_H__ +#define __RTEMS_LIBBLOCK_RAMDISK_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include "rtems/blkdev.h" + +/* RAM disk configuration table entry */ +typedef struct rtems_ramdisk_config { + int block_size; /* RAM disk block size */ + int block_num; /* Number of blocks on this RAM disk */ + void *location; /* RAM disk permanent location (out of RTEMS controlled + memory), or NULL if RAM disk memory should be + allocated dynamically */ +} rtems_ramdisk_config; + +/* If application want to use RAM disk, it should specify configuration of + * available RAM disks. + * The following is definitions for RAM disk configuration table + */ +extern rtems_ramdisk_config rtems_ramdisk_configuration[]; +extern int rtems_ramdisk_configuration_size; + +/* ramdisk_initialize -- + * RAM disk driver initialization entry point. + */ +rtems_device_driver +ramdisk_initialize( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *arg); + +#define RAMDISK_DRIVER_TABLE_ENTRY \ + { ramdisk_initialize, GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES } + +#ifdef __cplusplus +} +#endif + +#endif -- cgit v1.2.3