mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-02 04:27:33 +08:00
* Submitted by Victor V. Vengerov <vvv@oktet.ru> 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.
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
/* ramdisk.c -- RAM disk block device implementation
|
|
*
|
|
* Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia
|
|
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
|
*
|
|
* @(#) $Id$
|
|
*/
|
|
|
|
#ifndef __RTEMS_LIBBLOCK_RAMDISK_H__
|
|
#define __RTEMS_LIBBLOCK_RAMDISK_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <rtems.h>
|
|
|
|
#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
|