summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock/include/rtems/sparse-disk.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libblock/include/rtems/sparse-disk.h')
-rw-r--r--cpukit/libblock/include/rtems/sparse-disk.h137
1 files changed, 0 insertions, 137 deletions
diff --git a/cpukit/libblock/include/rtems/sparse-disk.h b/cpukit/libblock/include/rtems/sparse-disk.h
deleted file mode 100644
index e558e08925..0000000000
--- a/cpukit/libblock/include/rtems/sparse-disk.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * @file
- *
- * @ingroup rtems_sparse_disk
- *
- * @brief Sparse disk block device API.
- */
-
-/*
- * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef SPARSE_DISK_H
-#define SPARSE_DISK_H
-
-#include <stddef.h>
-#include <stdint.h>
-#include <rtems.h>
-#include <rtems/diskdevs.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup rtems_sparse_disk Sparse Disk Device
- *
- * @ingroup rtems_blkdev
- *
- */
-/**@{**/
-
-typedef struct {
- rtems_blkdev_bnum block;
- void *data;
-} rtems_sparse_disk_key;
-
-typedef struct rtems_sparse_disk rtems_sparse_disk;
-
-typedef void (*rtems_sparse_disk_delete_handler)(rtems_sparse_disk *sparse_disk);
-
-struct rtems_sparse_disk {
- rtems_id mutex;
- rtems_blkdev_bnum blocks_with_buffer;
- size_t used_count;
- uint32_t media_block_size;
- rtems_sparse_disk_delete_handler delete_handler;
- uint8_t fill_pattern;
- rtems_sparse_disk_key *key_table;
-};
-
-/**
- * @brief Creates and registers a sparse disk.
- *
- * @param[in] device_file_name The device file name path.
- * @param[in] media_block_size The media block size in bytes.
- * @param[in] blocks_with_buffer Blocks of the device with a buffer. Other
- * blocks can store only fill pattern value bytes.
- * @param[in] block_count The media block count of the device. It is the sum
- * of blocks with buffer and blocks that contain only fill pattern value bytes.
- * @param[in] fill_pattern The fill pattern specifies the byte value of blocks
- * without a buffer. It is also the initial value for blocks with a buffer.
- *
- * @retval RTEMS_SUCCESSFUL Successful operation.
- * @retval RTEMS_INVALID_NUMBER Media block size or media block count is not
- * positive. The blocks with buffer count is greater than the media block count.
- * @retval RTEMS_NO_MEMORY Not enough memory.
- * @retval RTEMS_TOO_MANY Cannot create semaphore.
- * @retval RTEMS_UNSATISFIED Cannot create generic device node.
- *
- * @see rtems_sparse_disk_register().
- */
-rtems_status_code rtems_sparse_disk_create_and_register(
- const char *device_file_name,
- uint32_t media_block_size,
- rtems_blkdev_bnum blocks_with_buffer,
- rtems_blkdev_bnum media_block_count,
- uint8_t fill_pattern
-);
-
-/**
- * @brief Frees a sparse disk.
- *
- * Calls free() on the sparse disk pointer.
- */
-void rtems_sparse_disk_free( rtems_sparse_disk *sparse_disk );
-
-/**
- * @brief Initializes and registers a sparse disk.
- *
- * This will create one semaphore for mutual exclusion.
- *
- * @param[in] device_file_name The device file name path.
- * @param[in, out] sparse_disk The sparse disk.
- * @param[in] media_block_size The media block size in bytes.
- * @param[in] blocks_with_buffer Blocks of the device with a buffer. Other
- * blocks can store only fill pattern value bytes.
- * @param[in] block_count The media block count of the device. It is the sum
- * of blocks with buffer and blocks that contain only fill pattern value bytes.
- * @param[in] fill_pattern The fill pattern specifies the byte value of blocks
- * without a buffer. It is also the initial value for blocks with a buffer.
- * @param[in] sparse_disk_delete The sparse disk delete handler.
- *
- * @retval RTEMS_SUCCESSFUL Successful operation.
- * @retval RTEMS_INVALID_NUMBER Media block size or media block count is not
- * positive. The blocks with buffer count is greater than the media block count.
- * @retval RTEMS_INVALID_ADDRESS Invalid sparse disk address.
- * @retval RTEMS_TOO_MANY Cannot create semaphore.
- * @retval RTEMS_UNSATISFIED Cannot create generic device node.
- */
-rtems_status_code rtems_sparse_disk_register(
- const char *device_file_name,
- rtems_sparse_disk *sparse_disk,
- uint32_t media_block_size,
- rtems_blkdev_bnum blocks_with_buffer,
- rtems_blkdev_bnum media_block_count,
- uint8_t fill_pattern,
- rtems_sparse_disk_delete_handler sparse_disk_delete
-);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* SPARSE_DISK_H */